Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
AWS SAMCLIProblembehandlung
Dieser Abschnitt enthält Einzelheiten zur Behebung von Fehlermeldungen bei der Verwendung, Installation und Verwaltung der AWS Serverless Application Model Befehlszeilenschnittstelle (AWS SAMCLI).
Fehlerbehebung
Anleitungen zur Fehlerbehebung in Bezug auf AWS SAMCLI finden Sie unterBehebung von Installationsfehlern.
Fehlermeldungen
Curl-Fehler: „curl: (6) Konnte nicht auflösen:...“
Beim Versuch, den API Gateway Gateway-Endpunkt aufzurufen, wird der folgende Fehler angezeigt:
curl: (6) Could not resolve: endpointdomain (Domain name not found)
Das bedeutet, dass Sie versucht haben, eine Anfrage an eine ungültige Domain zu senden. Dies kann passieren, wenn Ihre serverlose Anwendung nicht erfolgreich bereitgestellt werden konnte oder wenn Sie einen Tippfehler in Ihrem curl Befehl haben. Stellen Sie mithilfe der CloudFormation Konsole oder des sicher, dass die Anwendung erfolgreich bereitgestellt wurde AWS CLI, und stellen Sie sicher, dass Ihr curl Befehl korrekt ist.
Fehler: Es können keine genauen Ressourceninformationen mit dem angegebenen Stack-Namen gefunden werden
Wenn sam remote invoke Sie den Befehl in einer Anwendung ausführen, die eine einzelne Lambda-Funktionsressource enthält, wird der folgende Fehler angezeigt:
Error: Can't find exact resource information with given <stack-name>. Please provide full resource ARN or --stack-name to resolve the ambiguity.
- Mögliche Ursache: Sie haben die
--stack-nameOption nicht angegeben. -
Wenn ein Funktions-ARN nicht als Argument bereitgestellt wird, erfordert der
sam remote invokeBefehl, dass die--stack-nameOption angegeben wird. - Lösung: Geben Sie die
--stack-nameOption an. -
Im Folgenden wird ein Beispiel gezeigt:
$sam remote invoke --stack-nameInvoking 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
Fehler: Ressourceninformationen können nicht aus dem Stacknamen gefunden werden
Wenn sam remote invoke Sie den Befehl ausführen und einen Lambda-Funktions-ARN als Argument übergeben, wird der folgende Fehler angezeigt:
Error: Can't find resource information from stack name (<stack-name>) and resource id (<function-id>)
- Mögliche Ursache: Sie haben den Wert des Stack-Namens in Ihrer
samconfig.tomlDatei definiert. -
Der AWS SAMCLI erste überprüft Ihre
samconfig.tomlDatei auf einen Stacknamen. Falls angegeben, wird das Argument als logischer ID-Wert übergeben. - Lösung: Übergeben Sie stattdessen die logische ID der Funktion.
-
Sie können die logische ID der Funktion als Argument anstelle des ARN der Funktion übergeben.
- Lösung: Entfernen Sie den Wert des Stack-Namens aus Ihrer Konfigurationsdatei.
-
Sie können den Wert des Stack-Namens aus Ihrer Konfigurationsdatei entfernen. Dadurch wird verhindert, dass Ihre Funktion ARN als logischen ID-Wert übergeben wird. AWS SAMCLI
Führen Sie es aus,
sam buildnachdem Sie Ihre Konfigurationsdatei geändert haben.
Fehler: Verwaltete Ressourcen konnten nicht erstellt werden: Anmeldeinformationen konnten nicht gefunden werden
Beim Ausführen des sam deploy Befehls wird der folgende Fehler angezeigt:
Error: Failed to create managed resources: Unable to locate credentials
Das bedeutet, dass Sie keine AWS Anmeldeinformationen eingerichtet haben, mit denen AWS SAMCLI Sie AWS Serviceanfragen tätigen können. Um dieses Problem zu beheben, müssen Sie AWS Anmeldeinformationen einrichten. Weitere Informationen finden Sie unter AWS Zugangsdaten einrichten.
Fehler: FileNotFoundError in Windows
Wenn Sie Befehle AWS SAMCLI unter Windows ausführen, wird möglicherweise der folgende Fehler angezeigt:
Error: FileNotFoundError
Mögliche Ursache: Sie interagieren AWS SAMCLI möglicherweise mit Dateipfaden, die die maximale Pfadbeschränkung von Windows überschreiten.
Lösung: Um dieses Problem zu beheben, muss das neue Verhalten für lange Pfade aktiviert werden. Informationen dazu finden Sie unter Enable Long Paths in Windows 10, Version 1607 und höher
Fehler: Der Abhängigkeitsauflöser von pip...
Beispiel-Fehlertext:
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.
- Mögliche Ursache: Bei der Installation von Paketen können Abhängigkeiten zwischen Paketen zu Konflikten führen. pip
-
Jede Version des
aws-sam-cliPakets hängt von einer Version desaws-sam-translatorPakets ab. Zum Beispiel kannaws-sam-cliv1.58.0 von v1.51.0 abhängenaws-sam-translator.Wenn Sie das Paket AWS SAMCLI verwenden und dann ein anderes Paket installierenpip, das von einer neueren Version von abhängt
aws-sam-translator, passiert Folgendes:-
Die neuere Version von
aws-sam-translatorwird installiert. -
Die aktuelle Version von
aws-sam-cliund die neuere Version von sindaws-sam-translatormöglicherweise nicht kompatibel. -
Wenn Sie den verwenden AWS SAMCLI, tritt der Abhängigkeitsauflösungsfehler auf.
Lösungen:
-
Verwenden Sie das AWS SAMCLI native Paketinstallationsprogramm.
-
Deinstallieren Sie das AWS SAMCLI mit Pip. Detaillierte Anweisungen finden Sie unter Deinstallation des AWS SAMCLI.
-
Installieren Sie das AWS SAMCLI mit dem nativen Paketinstallationsprogramm. Detaillierte Anweisungen finden Sie unter Installieren Sie das AWS SAMCLI.
-
Falls erforderlich, führen Sie ein Upgrade AWS SAMCLI mit dem systemeigenen Paketinstallationsprogramm durch. Detaillierte Anweisungen finden Sie unter Aktualisierung des AWS SAMCLI.
-
-
Wenn Sie die CLI verwenden müssenpip, empfehlen wir Ihnen, die AWS SAM CLI in einer virtuellen Umgebung zu installieren. Dies gewährleistet eine saubere Installationsumgebung und eine isolierte Umgebung, falls Fehler auftreten. Detaillierte Anweisungen finden Sie unter Installation des AWS SAMCLI in einer virtuellen Umgebung mit pip.
-
Fehler: Kein solcher Befehl 'remote'
Beim Ausführen des sam remote invoke Befehls wird der folgende Fehler angezeigt:
$sam remote invoke2023-06-20 08:15:07 Command remote not available Usage: sam [OPTIONS] COMMAND [ARGS]... Try 'sam -h' for help. Error: No such command 'remote'....
- Mögliche Ursache: Ihre Version von AWS SAMCLI ist veraltet.
-
Der AWS SAMCLI
sam remote invokeBefehl wurde mit AWS SAMCLI Version 1.88.0 veröffentlicht. Sie können Ihre Version überprüfen, indem Sie densam --versionBefehl ausführen. - Lösung: Führen Sie ein Upgrade AWS SAMCLI auf die neueste Version durch.
-
Detaillierte Anweisungen finden Sie unter Aktualisierung des AWS SAMCLI.
Fehler: Das lokale Ausführen von AWS SAM-Projekten erfordertDocker. Hast du es installiert?
Beim Ausführen des sam local start-api Befehls wird der folgende Fehler angezeigt:
Error: Running AWS SAM projects locally requires Docker. Have you got it installed?
Das bedeutet, dass Sie es nicht Docker richtig installiert haben. Dockerist erforderlich, um Ihre Anwendung lokal zu testen. Um dieses Problem zu beheben, folgen Sie den Anweisungen zur Installation von Docker für Ihren Entwicklungshost. Weitere Informationen finden Sie unter Installieren von Docker.
Fehler: Sicherheitseinschränkungen nicht erfüllt
Beim Ausführen sam deploy --guided wird Ihnen die Frage angezeigt. Wenn Sie auf diese Aufforderung mit Function may not have authorization defined, Is this
okay? [y/N]N (der Standardantwort) antworten, wird der folgende Fehler angezeigt:
Error: Security Constraints Not Satisfied
Die Aufforderung informiert Sie darüber, dass die Anwendung, die Sie bereitstellen möchten, möglicherweise über eine öffentlich zugängliche Amazon API Gateway, die ohne Autorisierung konfiguriert ist. Wenn Sie N auf diese Aufforderung antworten, sagen Sie, dass dies nicht in Ordnung ist.
Um dieses Problem zu beheben, haben Sie die folgenden Optionen:
-
Konfigurieren Sie Ihre Anwendung mit Autorisierung. Informationen zur Konfiguration der Autorisierung finden Sie unterKontrollieren Sie den API-Zugriff mit Ihrer AWS SAM Vorlage.
-
Wenn Sie beabsichtigen, einen öffentlich zugänglichen API-Endpunkt ohne Autorisierung einzurichten, starten Sie Ihre Bereitstellung neu und beantworten Sie diese Frage mit,
Yum anzugeben, dass Sie mit der Bereitstellung einverstanden sind.
Nachricht: Fehlendes Authentifizierungstoken
Beim Versuch, den API Gateway Gateway-Endpunkt aufzurufen, wird der folgende Fehler angezeigt:
{"message":"Missing Authentication Token"}
Das bedeutet, dass Sie versucht haben, eine Anfrage an die richtige Domain zu senden, aber die URI ist nicht erkennbar. Um dieses Problem zu beheben, überprüfen Sie die vollständige URL und aktualisieren Sie den curl Befehl mit der richtigen URL.
Warnmeldungen
Warnung:... AWS wird das Homebrew Installationsprogramm für AWS SAM ... nicht mehr verwalten
Bei der Installation AWS SAMCLI von Homebrew Using wird die folgende Warnmeldung angezeigt:
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 ...
- Mögliche Ursache: Der Homebrew Support wird nicht AWS mehr aufrechterhalten.
-
Ab September 2023 AWS wird das Homebrew Installationsprogramm für das nicht mehr gewartet AWS SAMCLI.
Lösung: Verwenden Sie eine AWS unterstützte Installationsmethode.
-
AWS Unterstützte Installationsmethoden finden Sie unterInstallieren Sie das AWS SAMCLI.
Lösung: Verwenden Sie das von der Community verwaltete InstallationsprogrammHomebrew, um die Nutzung fortzusetzen.
-
Sie können das von der Community verwaltete Homebrew Installationsprogramm nach eigenem Ermessen verwenden. Detaillierte Anweisungen finden Sie unter Verwaltung des AWS SAMCLI mit Homebrew.
-