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
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.
Risoluzione dei problemi
Per indicazioni sulla risoluzione dei problemi relativi a AWS SAMCLI, vedere. 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 non ARN viene fornita una funzione 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 SAMCLI primo controlla 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é quello della funzioneARN.
- 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ò AWS SAMCLI impedisce che la funzione venga passata ARN 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 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.
Errore: FileNotFoundError in Windows
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
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 pacchetti, le dipendenze tra i pacchetti potrebbero essere 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 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 diaws-sam-translator
potrebbero non essere compatibili. -
Quando si utilizza AWS SAMCLI, si verificherà l'errore del risolutore delle dipendenze.
Soluzioni:
-
Usa il programma di installazione del pacchetto AWS SAMCLI nativo.
-
Disinstalla AWS SAMCLI usando pip. Per istruzioni, consulta Disinstallazione di AWS SAMCLI.
-
Installa AWS SAMCLI utilizzando il programma di installazione del pacchetto nativo. Per istruzioni, consulta Installa il AWS SAM CLI.
-
Se necessario, esegui l'aggiornamento AWS SAMCLI utilizzando il programma di installazione del pacchetto nativo. Per istruzioni, consulta Aggiornamento del AWS SAMCLI.
-
-
Se è necessario utilizzarlopip, si consiglia di installarlo 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.
-
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'....
- 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 ilsam --version
comando. - Soluzione: aggiorna il tuo AWS SAMCLI alla versione più recente.
-
Per istruzioni, consulta Aggiornamento del AWS SAMCLI.
Errore: l'esecuzione locale AWS SAM dei progetti richiedeDocker. 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 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.
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 Amazon API Gateway accessibile pubblicamente API configurato 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 API l'accesso con il tuo AWS SAM modello.
-
Se intendi avere un API endpoint 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 URI non è riconoscibile. Per risolvere il problema, verifica la versione completa URL e aggiorna il curl comando con quello corretto. URL
Messaggi di avviso
Avviso:... AWS non manterrà più il Homebrew programma di installazione per AWS SAM ...
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'indirizzoInstalla il AWS SAM CLI.
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, consultare Gestire il AWS SAMCLI con Homebrew.
-