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 SAM CLI risoluzione dei problemi
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 SAM CLI).
Risoluzione dei problemi
Per indicazioni sulla risoluzione dei problemi relative a AWS SAM CLI, consulta Risoluzione degli errori di installazione.
Messaggi di errore
Errore curl: «curl: (6) Impossibile risolvere:...»
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 AWS 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
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
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\"}"}%sam-app
Errore: impossibile trovare le informazioni sulle risorse dal nome dello stack
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 SAM CLI controlla innanzitutto il nome dello stack nel
samconfig.toml
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 il AWS SAM CLI dal passare l'ARN 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
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 abilitare il AWS SAM CLI per effettuare chiamate AWS di servizio. Per risolvere questo problema, è necessario impostare AWS le credenziali. Per ulteriori informazioni, consulta Impostazione delle AWS credenziali.
Errore: FileNotFoundError in Windows
Quando si eseguono comandi in AWS SAM CLI in Windows, è possibile che venga visualizzato il seguente errore:
Error: FileNotFoundError
Possibile causa: AWS SAM CLI 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
Errore: il risolutore di dipendenze di pip...
Esempio di testo di 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 i pacchetti, le dipendenze tra i pacchetti possono entrare in conflitto.
-
Ogni versione del
aws-sam-cli
pacchetto dipende da una versione delaws-sam-translator
pacchetto. Ad esempio, laaws-sam-cli
v1.58.0 può dipendere dalla v1.51.0.aws-sam-translator
Se si installa il AWS SAM CLI utilizzo di pip, quindi installate un altro pacchetto che dipende da una versione più recente di
aws-sam-translator
, si verificherà quanto segue:-
La versione più recente di
aws-sam-translator
will install. -
La versione corrente
aws-sam-cli
e la versione più recente diaws-sam-translator
potrebbero non essere compatibili. -
Quando si utilizza il AWS SAM CLI, si verificherà l'errore del risolutore delle dipendenze.
Soluzioni:
-
Usa il AWS SAM CLI programma di installazione del pacchetto nativo.
-
Disinstalla il AWS SAM CLI usando pip. Per istruzioni, consulta Disinstallazione di AWS SAM CLI.
-
Installa il AWS SAM CLI utilizzando il programma di installazione del pacchetto nativo. Per istruzioni, consulta Installa il AWS SAM CLI.
-
Se necessario, aggiornare il AWS SAM CLI utilizzando il programma di installazione nativo del pacchetto. Per istruzioni, consulta Aggiornamento del AWS SAM CLI.
-
-
Se è necessario utilizzare pip, 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 Installazione di AWS SAM CLI in un ambiente virtuale utilizzando pip.
-
Errore: nessun comando di questo tipo «remoto»
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'....
- Possibile causa: la tua versione di AWS SAM CLI non è aggiornata.
-
La AWS SAM CLI
sam remote invoke
comando è stato rilasciato con AWS SAM CLI versione 1.88.0. Puoi controllare la tua versione eseguendo ilsam --version
comando. - Soluzione: aggiorna il tuo AWS SAM CLI alla versione più recente.
-
Per istruzioni, consulta Aggiornamento del AWS SAM CLI.
Errore: l'esecuzione locale di progetti AWS SAM richiede Docker. L'hai installato?
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 non hai Docker installato 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.
Errore: vincoli di sicurezza non soddisfatti
Durante l'esecuzionesam deploy --guided, ti viene posta la domanda.
Se rispondi a questa richiesta con Function
may not have authorization defined, Is this
okay? [y/N]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, vedereControlla l'accesso alle API con il tuo AWS SAM modello.
-
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
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
Avviso:... AWS non manterrà più il Homebrew programma di installazione per AWS SAM ...
Durante l'installazione di AWS SAM CLI utilizzo di Homebrew, 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 mancata manutenzione Homebrew supporto.
-
A partire da settembre 2023, AWS non manterrà più il Homebrew programma di installazione per AWS SAM CLI.
Soluzione: utilizzare un metodo di installazione AWS supportato.
-
I metodi di installazione AWS supportati sono disponibili all'indirizzoInstalla il AWS SAM CLI.
Soluzione: continuare a utilizzare Homebrew, utilizza il programma di installazione gestito dalla community.
-
Puoi usare il programma gestito dalla community Homebrew installatore a tua discrezione. Per istruzioni, consultare Gestire il AWS SAM CLI con Homebrew.
-