

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# AWS SAMCLIrisoluzione dei problemi
<a name="sam-cli-troubleshooting"></a>

Questa sezione fornisce dettagli su come risolvere i messaggi di errore durante l'utilizzo, l'installazione e la gestione dell'interfaccia a riga di AWS Serverless Application Model comando ().AWS SAMCLI

**Topics**
+ [Risoluzione dei problemi](#install-sam-cli-troubleshooting)
+ [Messaggi di errore](#sam-cli-troubleshoot-messages)
+ [Messaggi di avviso](#sam-cli-troubleshoot-warning)

## Risoluzione dei problemi
<a name="install-sam-cli-troubleshooting"></a>

Per indicazioni sulla risoluzione dei problemi relative a AWS SAMCLI, vedere[Risoluzione degli errori di installazione](install-sam-cli.md#sam-cli-troubleshoot-install).

## Messaggi di errore
<a name="sam-cli-troubleshoot-messages"></a>

### Errore curl: «curl: (6) Impossibile risolvere:...»
<a name="sam-cli-troubleshoot-messages-curl"></a>

Quando si tenta di richiamare l'endpoint API Gateway, viene visualizzato il seguente errore:

```
curl: (6) Could not resolve: endpointdomain (Domain name not found)
```

Ciò significa che hai tentato di inviare una richiesta a un dominio non valido. Ciò può accadere se l'applicazione serverless non è stata distribuita correttamente o se hai un errore di battitura nel comando. **curl** Verifica che l'applicazione sia stata distribuita correttamente utilizzando la CloudFormation console o il AWS CLI, e verifica che il **curl** comando sia corretto.

### Errore: impossibile trovare informazioni esatte sulle risorse con il nome dello stack specificato
<a name="sam-cli-troubleshoot-messages-exact-resource"></a>

Quando si esegue il `sam remote invoke` comando su un'applicazione che contiene una singola risorsa della funzione Lambda, viene visualizzato il seguente errore:

```
Error: Can't find exact resource information with given <stack-name>. Please provide full resource ARN or --stack-name to resolve the ambiguity.
```

**Causa possibile: non hai fornito l'`--stack-name`opzione.**  
Se una funzione ARN non viene fornita come argomento, il `sam remote invoke` comando richiede che venga fornita l'`--stack-name`opzione.

**Soluzione: fornire l'`--stack-name`opzione.**  
Di seguito è riportato un esempio:  

```
$ sam remote invoke --stack-name sam-app

Invoking Lambda Function HelloWorldFunction                                                                                                                                                                                                                     
START RequestId: 40593abb-e1ad-4d99-87bd-ac032e364e82 Version: $LATEST
END RequestId: 40593abb-e1ad-4d99-87bd-ac032e364e82
REPORT RequestId: 40593abb-e1ad-4d99-87bd-ac032e364e82  Duration: 11.31 ms      Billed Duration: 12 ms  Memory Size: 128 MB     Max Memory Used: 67 MB  Init Duration: 171.71 ms
{"statusCode":200,"body":"{\"message\":\"hello world\"}"}%
```

### Errore: impossibile trovare le informazioni sulle risorse dal nome dello stack
<a name="sam-cli-troubleshoot-messages-stack-name"></a>

Quando si esegue il `sam remote invoke` comando e si passa una funzione Lambda ARN come argomento, viene visualizzato il seguente errore:

```
Error: Can't find resource information from stack name (<stack-name>) and resource id (<function-id>)
```

**Possibile causa: il valore del nome dello stack è definito nel file. `samconfig.toml`**  
Il AWS SAMCLI primo verifica la presenza di un `samconfig.toml` nome per lo stack nel file. Se specificato, l'argomento viene passato come valore ID logico.

**Soluzione: passate invece l'ID logico della funzione.**  
È possibile passare l'ID logico della funzione come argomento anziché l'ARN della funzione.

**Soluzione: rimuovete il valore del nome dello stack dal file di configurazione.**  
È possibile rimuovere il valore del nome dello stack dal file di configurazione. Ciò impedisce di passare l' AWS SAMCLIARN della funzione come valore ID logico.  
Esegui `sam build` dopo aver modificato il file di configurazione.

### Errore: creazione di risorse gestite non riuscita: impossibile individuare le credenziali
<a name="sam-cli-troubleshoot-messages-credentials"></a>

Quando si esegue il **sam deploy** comando, viene visualizzato il seguente errore:

```
Error: Failed to create managed resources: Unable to locate credentials
```

Ciò significa che non sono state impostate AWS le credenziali per consentire l'esecuzione AWS SAMCLI di chiamate AWS di servizio. Per risolvere questo problema, è necessario impostare AWS le credenziali. Per ulteriori informazioni, consulta [Impostazione delle AWS credenziali](serverless-getting-started-set-up-credentials.md).

### Errore: FileNotFoundError in Windows
<a name="sam-cli-troubleshoot-messages-filenotfound-win"></a>

Quando si eseguono AWS SAMCLI comandi in Windows, è possibile che venga visualizzato il seguente errore:

```
Error: FileNotFoundError
```

Possibile causa: AWS SAMCLI potrebbe interagire con percorsi di file che superano il limite massimo di percorso di Windows.

Soluzione: per risolvere questo problema, è necessario abilitare il nuovo comportamento dei percorsi lunghi. A tale scopo, consulta [Abilitare percorsi lunghi in Windows 10, versione 1607 e successive](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=powershell#enable-long-paths-in-windows-10-version-1607-and-later) nella *documentazione sullo sviluppo di app per Microsoft Windows*.

### Errore: il risolutore di dipendenze di pip...
<a name="sam-cli-troubleshoot-messages-pip"></a>

*Esempio di testo dell’errore:*

```
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. 
aws-sam-cli 1.58.0 requires aws-sam-translator==1.51.0, but you have aws-sam-translator 1.58.0 which is incompatible. 
aws-sam-cli 1.58.0 requires typing-extensions==3.10.0.0, but you have typing-extensions 4.4.0 which is incompatible.
```

**Possibile causa: se si utilizza pip per installare pacchetti, le dipendenze tra i pacchetti potrebbero essere in conflitto.**  
Ogni versione del `aws-sam-cli` pacchetto dipende da una versione del `aws-sam-translator` pacchetto. Ad esempio, la `aws-sam-cli` v1.58.0 può dipendere dalla v1.51.0. `aws-sam-translator`  
Se si installa l' AWS SAMCLIusingpip, quindi si installa un altro pacchetto che dipende da una versione più recente di, si verificherà quanto segue: `aws-sam-translator`  
+ La versione più recente di `aws-sam-translator` will install.
+ La versione corrente `aws-sam-cli` e la versione più recente di `aws-sam-translator` potrebbero non essere compatibili.
+ Quando si utilizza il AWS SAMCLI, si verificherà l'errore del risolutore delle dipendenze.

**Soluzioni:**

1. Usa il programma di installazione del pacchetto AWS SAMCLI nativo.

   1. Disinstalla AWS SAMCLI usando pip. Per istruzioni, consulta [Disinstallazione di AWS SAMCLI](manage-sam-cli-versions.md#manage-sam-cli-versions-uninstall).

   1. Installa AWS SAMCLI utilizzando il programma di installazione del pacchetto nativo. Per istruzioni, consulta [Installa il AWS SAMCLI](install-sam-cli.md).

   1. Se necessario, esegui l'aggiornamento AWS SAMCLI utilizzando il programma di installazione del pacchetto nativo. Per istruzioni, consulta [Aggiornamento del AWS SAMCLI](manage-sam-cli-versions.md#manage-sam-cli-versions-upgrade).

1. Se è necessario utilizzarepip, si consiglia di installare la AWS SAM CLI in un ambiente virtuale. Ciò garantisce un ambiente di installazione pulito e un ambiente isolato in caso di errori. Per istruzioni, consulta [Installare il file AWS SAMCLI in un ambiente virtuale utilizzando pip](manage-sam-cli-versions.md#manage-sam-cli-versions-install-virtual).

### Errore: nessun comando di questo tipo «remoto»
<a name="sam-cli-troubleshoot-messages-command-remote"></a>

Quando si esegue il `sam remote invoke` comando, viene visualizzato il seguente errore:

```
$ sam remote invoke ...
2023-06-20 08:15:07 Command remote not available
Usage: sam [OPTIONS] COMMAND [ARGS]...
Try 'sam -h' for help.

Error: No such command 'remote'.
```

**Causa possibile: la tua versione di non AWS SAMCLI è aggiornata.**  
Il AWS SAMCLI `sam remote invoke` comando è stato rilasciato con la AWS SAMCLI versione 1.88.0. Puoi controllare la tua versione eseguendo il `sam --version` comando.

**Soluzione: aggiorna il tuo AWS SAMCLI alla versione più recente.**  
Per istruzioni, consulta [Aggiornamento del AWS SAMCLI](manage-sam-cli-versions.md#manage-sam-cli-versions-upgrade).

### Errore: l'esecuzione locale di progetti AWS SAM richiedeDocker. L'hai installato?
<a name="sam-cli-troubleshoot-messages-docker"></a>

Quando si esegue il **sam local start-api** comando, viene visualizzato il seguente errore:

```
Error: Running AWS SAM projects locally requires Docker. Have you got it installed?
```

Ciò significa che l'installazione non è stata Docker eseguita correttamente. Dockerè necessario per testare l'applicazione localmente. Per risolvere questo problema, segui le istruzioni per l'installazione di Docker per il tuo host di sviluppo. Per ulteriori informazioni, consulta [Installazione di Docker](install-docker.md).

### Errore: vincoli di sicurezza non soddisfatti
<a name="sam-cli-troubleshoot-messages-security-constraints"></a>

Durante l'esecuzione**sam deploy --guided**, ti viene posta la domanda. `Function may not have authorization defined, Is this okay? [y/N]` Se rispondi a questa richiesta con **N** (la risposta predefinita), viene visualizzato il seguente errore:

```
Error: Security Constraints Not Satisfied
```

Il messaggio ti informa che l'applicazione che stai per distribuire potrebbe avere un'API Amazon API Gateway accessibile pubblicamente configurata senza autorizzazione. Rispondendo **N** a questa richiesta, stai dicendo che non va bene.

Per risolvere questo problema, sono disponibili le seguenti opzioni:
+ Configura la tua applicazione con autorizzazione. Per informazioni sulla configurazione dell'autorizzazione, vedere[Controlla l'accesso alle API con il tuo AWS SAM modello](serverless-controlling-access-to-apis.md).
+ Se intendi avere un endpoint API accessibile pubblicamente senza autorizzazione, riavvia la distribuzione e rispondi a questa domanda indicando che sei d'accordo con la distribuzione. **Y**

### messaggio: Token di autenticazione mancante
<a name="sam-cli-troubleshoot-messages-auth-token"></a>

Quando si tenta di richiamare l'endpoint API Gateway, viene visualizzato il seguente errore:

```
{"message":"Missing Authentication Token"}
```

Ciò significa che hai tentato di inviare una richiesta al dominio corretto, ma l'URI non è riconoscibile. Per risolvere questo problema, verifica l'URL completo e aggiorna il **curl** comando con l'URL corretto.

## Messaggi di avviso
<a name="sam-cli-troubleshoot-warning"></a>

### Avviso:... AWS non manterrà più il Homebrew programma di installazione per AWS SAM ...
<a name="sam-cli-troubleshoot-warning-homebrew"></a>

Durante l'installazione di AWS SAMCLI UsingHomebrew, viene visualizzato il seguente messaggio di avviso:

```
Warning: ... AWS will no longer maintain the Homebrew installer for AWS SAM (aws/tap/aws-sam-cli). 
				For AWS supported installations, use the first party installers ...
```

**Causa potenziale: AWS non è più possibile mantenere Homebrew il supporto.**  
A partire da settembre 2023, AWS non manterrà più il Homebrew programma di installazione per. AWS SAMCLI  

**Soluzione: utilizzare un metodo di installazione AWS supportato.**
+ I metodi di installazione AWS supportati sono disponibili all'indirizzo[Installa il AWS SAMCLI](install-sam-cli.md).

**Soluzione: per continuare a utilizzareHomebrew, utilizzate il programma di installazione gestito dalla community.**
+ È possibile utilizzare il programma di Homebrew installazione gestito dalla community a propria discrezione. Per istruzioni, consulta [Gestire il AWS SAMCLI con Homebrew](manage-sam-cli-versions.md#manage-sam-cli-versions-homebrew).