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 Problembehandlung in Bezug auf AWS SAMCLI finden Sie unterBehebung von Installationsfehlern.
Fehlermeldungen
Curl-Fehler: „curl: (6) Konnte nicht auflösen:...“
Beim Versuch, den API 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 AWS 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-name
Option nicht angegeben. -
Wenn eine Funktion nicht als Argument angegeben ARN wird, erfordert der
sam remote invoke
Befehl, dass die--stack-name
Option angegeben wird. - Lösung: Geben Sie die
--stack-name
Option an. -
Im Folgenden wird ein Beispiel gezeigt:
$
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
Fehler: Ressourceninformationen können nicht aus dem Stacknamen gefunden werden
Wenn sam remote invoke
Sie den Befehl ausführen und eine Lambda-Funktion 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.toml
Datei definiert. -
Der AWS SAMCLI erste überprüft Ihre
samconfig.toml
Datei 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 anstelle der der Funktion als Argument übergebenARN.
- 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 build
nachdem 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-cli
Pakets hängt von einer Version desaws-sam-translator
Pakets ab. Zum Beispiel kannaws-sam-cli
v1.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-translator
wird installiert. -
Die aktuelle Version von
aws-sam-cli
und die neuere Version von sindaws-sam-translator
mö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. Anweisungen finden Sie unter Deinstallation des AWS SAMCLI.
-
Installieren Sie das AWS SAMCLI mit dem nativen Paketinstallationsprogramm. Anweisungen finden Sie unter Installiere das AWS SAM CLI.
-
Falls erforderlich, führen Sie ein Upgrade AWS SAMCLI mit dem systemeigenen Paketinstallationsprogramm durch. Anweisungen finden Sie unter Aktualisierung des AWS SAMCLI.
-
-
Wenn Sie es verwenden müssenpip, empfehlen wir Ihnen, das AWS SAM CLI in einer virtuellen Umgebung zu installieren. Dies gewährleistet eine saubere Installationsumgebung und eine isolierte Umgebung, falls Fehler auftreten. Anweisungen finden Sie unter Installation des AWS SAMCLI in einer virtuellen Umgebung mit pip.
-
Fehler: Kein solcher Befehl 'remote'
Wenn Sie den sam remote invoke
Befehl ausführen, wird der folgende Fehler angezeigt:
$
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'....
- Mögliche Ursache: Ihre Version von AWS SAMCLI ist veraltet.
-
Der AWS SAMCLI
sam remote invoke
Befehl wurde mit AWS SAMCLI Version 1.88.0 veröffentlicht. Sie können Ihre Version überprüfen, indem Sie densam --version
Befehl ausführen. - Lösung: Führen Sie ein Upgrade AWS SAMCLI auf die neueste Version durch.
-
Anweisungen finden Sie unter Aktualisierung des AWS SAMCLI.
Fehler: Das lokale Ausführen von AWS SAM Projekten erfordertDocker. Hast du es installiert?
Wenn Sie den sam local start-api Befehl ausführen, 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 ein öffentlich zugängliches Amazon API Gateway verfügt, das ohne Autorisierung API 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 unterSteuern API Sie den 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,
Y
um anzugeben, dass Sie mit der Bereitstellung einverstanden sind.
Nachricht: Fehlendes Authentifizierungstoken
Beim Versuch, den API 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ändigen URL Angaben und aktualisieren Sie den curl Befehl mit dem richtigenURL.
Warnmeldungen
Warnung:... AWS wird das Homebrew Installationsprogramm für AWS SAM ... nicht mehr verwalten
Bei der AWS SAMCLI Installation des 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 unterInstalliere das AWS SAM CLI.
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.
-