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.
gleicher Build
Diese Seite enthält Referenzinformationen für den AWS Serverless Application Model Befehl Command Line Interface (AWS SAMCLI)sam build.
-
Eine Einführung in das finden AWS SAMCLI Sie unter Was ist der AWS SAM CLI?
-
Eine Dokumentation zur Verwendung des AWS SAMCLI
sam buildBefehls finden Sie unterEinführung in das Bauen mit AWS SAM.
Der sam build Befehl bereitet eine Anwendung auf nachfolgende Schritte im Entwickler-Workflow vor, wie z. B. das lokale Testen oder die Bereitstellung auf dem AWS Cloud.
Usage
$sam build<arguments><options>
Argumente
- Resource ID (Ressourcen-ID)
-
Optional. Weist an, eine einzelne Ressource AWS SAM zu erstellen, die in einer AWS SAM Vorlage deklariert ist. Die Build-Artefakte für die angegebene Ressource sind die einzigen, die für nachfolgende Befehle im Workflow verfügbar sind, d. h.
sam packageundsam deploy.
Optionen
--base-dir, -sDIRECTORY-
Löst relative Pfade zum Quellcode der Funktion oder Ebene in Bezug auf dieses Verzeichnis auf. Verwenden Sie diese Option, wenn Sie ändern möchten, wie relative Pfade zu Quellcode-Ordnern aufgelöst werden. Standardmäßig werden relative Pfade in Bezug auf den Speicherort der AWS SAM Vorlage aufgelöst.
Zusätzlich zu den Ressourcen in der Stammanwendung oder dem Stack, den Sie erstellen, bezieht sich diese Option auch auf verschachtelte Anwendungen oder Stacks.
Diese Option gilt für die folgenden Ressourcentypen und Eigenschaften:
-
Ressourcentyp:
AWS::Serverless::FunctionEigentum:CodeUri -
Ressourcentyp:
AWS::Serverless::FunctionRessourcenattribut:MetadataEintrag:DockerContext -
Ressourcentyp:
AWS::Serverless::LayerVersionImmobilie:ContentUri -
Ressourcentyp:
AWS::Lambda::FunctionImmobilie:Code -
Ressourcentyp:
AWS::Lambda::LayerVersionImmobilie:Content
-
--beta-features | --no-beta-features-
Betafunktionen zulassen oder verweigern.
--build-dir, -bDIRECTORY-
Der Pfad zu einem Verzeichnis, in dem die erstellten Artefakte gespeichert sind. Dieses Verzeichnis und sein gesamter Inhalt werden mit dieser Option entfernt.
--build-imageTEXT-
Die URI des Container-Images, das Sie für den Build abrufen möchten. Ruft das Container-Image standardmäßig aus Amazon ECR AWS SAM Public ab. Verwenden Sie diese Option, um das Bild von einem anderen Ort abzurufen.
Sie können diese Option mehrfach angeben. Jede Instanz dieser Option kann entweder eine Zeichenfolge oder ein Schlüssel-Wert-Paar annehmen. Wenn Sie eine Zeichenfolge angeben, ist dies die URI des Container-Images, das für alle Ressourcen in Ihrer Anwendung verwendet werden soll. Beispiel,
sam build --use-container --build-image amazon/aws-sam-cli-build-image-python3.8. Wenn Sie ein Schlüssel-Wert-Paar angeben, ist der Schlüssel der Ressourcenname, und der Wert ist der URI des Container-Images, das für diese Ressource verwendet werden soll. Zum Beispielsam build --use-container --build-image Function1=amazon/aws-sam-cli-build-image-python3.8. Mit Schlüssel-Wert-Paaren können Sie verschiedene Container-Images für verschiedene Ressourcen angeben.Diese Option gilt nur, wenn die
--use-containerOption angegeben ist, andernfalls wird ein Fehler auftreten. --build-in-source | --no-build-in-source-
Stellen
--build-in-sourceSie sicher, dass Ihr Projekt direkt im Quellordner erstellt wird.Die
--build-in-sourceOption unterstützt die folgenden Laufzeiten und Build-Methoden:-
Runtimes — Jede Node.js Laufzeit, die von der
sam init --runtimeOption unterstützt wird. -
Methoden erstellen —
Makefile,esbuild.
Die
--build-in-sourceOption ist nicht mit den folgenden Optionen kompatibel:-
--hook-name -
--use-container
Standardwert:
--no-build-in-source -
--cached | --no-cached-
Aktiviert oder deaktiviert zwischengespeicherte Builds. Verwenden Sie diese Option, um Build-Artefakte wiederzuverwenden, die sich gegenüber früheren Builds nicht geändert haben. AWS SAM bewertet, ob Sie Dateien in Ihrem Projektverzeichnis geändert haben. Standardmäßig werden Builds nicht zwischengespeichert. Wenn die
--no-cachedOption aufgerufen wird, überschreibt sie diecached = trueEinstellung in samconfig.toml.Anmerkung
AWS SAM bewertet nicht, ob Sie Module von Drittanbietern geändert haben, von denen Ihr Projekt abhängt, für die Sie keine bestimmte Version bereitgestellt haben. Wenn Ihre Python-Funktion beispielsweise eine
requirements.txtDatei mit dem Eintragrequests=1.xenthält und die neueste Version des Anforderungsmoduls von1.1zu geändert wird1.2, wird AWS SAM die neueste Version erst abgerufen, wenn Sie einen Build ohne Cache ausführen. --cache-dir-
Das Verzeichnis, in dem die Cache-Artefakte gespeichert werden, wenn
--cachedangegeben. Das Standard-Cache-Verzeichnis ist.aws-sam/cache. --config-envTEXT-
Der Umgebungsname, der die Standardparameterwerte in der zu verwendenden Konfigurationsdatei angibt. Der Standardwert ist „default“. Weitere Informationen zu Konfigurationsdateien finden Sie unter AWS SAMCLIKonfigurationsdatei.
--config-filePATH-
Der Pfad und der Dateiname der Konfigurationsdatei, die die zu verwendenden Standardparameterwerte enthält. Der Standardwert ist "
samconfig.toml" im Stammverzeichnis des Projektverzeichnisses. Weitere Informationen zu Konfigurationsdateien finden Sie unter AWS SAMCLIKonfigurationsdatei. --container-env-var, -eTEXT-
Umgebungsvariablen, die an den Build-Container übergeben werden sollen. Sie können diese Option mehrfach angeben. Jede Instanz dieser Option verwendet ein Schlüssel-Wert-Paar, wobei der Schlüssel die Ressourcen- und Umgebungsvariable ist und der Wert der Wert der Umgebungsvariablen ist. Beispiel:
--container-env-var Function1.GITHUB_TOKEN=TOKEN1 --container-env-var Function2.GITHUB_TOKEN=TOKEN2.Diese Option gilt nur, wenn die
--use-containerOption angegeben ist, andernfalls wird ein Fehler auftreten. --container-env-var-file, -efPATH-
Der Pfad und der Dateiname einer JSON-Datei, die Werte für die Umgebungsvariablen des Containers enthält. Weitere Hinweise zu Container-Umgebungsvariablendateien finden Sie unterDatei mit Container-Umgebungsvariablen.
Diese Option gilt nur, wenn die
--use-containerOption angegeben ist, andernfalls wird ein Fehler auftreten. --debug-
Aktiviert die Debug-Protokollierung, um die AWS SAMCLI generierten Debug-Meldungen auszudrucken und Zeitstempel anzuzeigen.
--docker-networkTEXT-
Gibt den Namen oder die ID eines vorhandenen Docker Netzwerks an, zu dem Docker Lambda-Container eine Verbindung herstellen sollen, zusammen mit dem Standard-Bridge-Netzwerk. Wenn nicht angegeben, stellen die Lambda-Container nur eine Verbindung zum Docker Standard-Bridge-Netzwerk her.
--exclude, -x-
Der Name der Ressource (n), die aus dem
sam buildausgeschlossen werden soll. Wenn Ihre Vorlage beispielsweiseFunction1Function2, und enthältFunction3und Sie ausführensam build --exclude Function2,Function3wird nurFunction1und erstellt. --help-
Zeigt diese Meldung an und beendet das Programm.
--hook-nameTEXT-
Der Name des Hooks, der zur Erweiterung der AWS SAMCLI Funktionalität verwendet wird.
Zulässige Werte:
terraform. --manifest , -mPATH-
Der Pfad zu einer benutzerdefinierten Abhängigkeitsmanifestdatei (z. B. package.json), die anstelle der Standarddatei verwendet werden soll.
--mount-symlinks-
Stellt sicher, dass AWS SAMCLI immer symbolische Links bereitgestellt werden, die in den zu erstellenden oder aufzurufenden Dateien vorhanden sind. Dies gilt nur für Symlinks im Verzeichnis der obersten Ebene (d. h. für Symlinks, die sich direkt im Stammverzeichnis der Funktion befinden). Standardmäßig werden Symlinks nicht gemountet, außer denen, die für die Verwendung
build-in-sourcein NodeJS benötigt werden.node_modules --no-use-container-
Eine Option, mit der Sie das IDE-Toolkit verwenden können, um das Standardverhalten festzulegen. Sie können es auch verwenden
sam build --no-use-container, um anstelle eines Docker-Containers einen Build auf Ihrem lokalen Computer auszuführen. --output[ text | json ]-
Das Format der Befehlsausgabe:
-
text— Druckt normale, für Menschen lesbare Ausgaben. Dies ist der Standardwert. -
json— Druckt eine strukturierte, maschinenlesbare Ausgabe. Verwenden Sie dieses Format, wenn Sie die Ausgabe programmgesteuert verwenden möchten, z. B. in CI/CD Pipelines, IDE-Erweiterungen und Tools. AI-assisted
Wenn Sie angeben
--output json, AWS SAMCLI druckt das ein einzelnes JSON-Objekt, nachdem der Befehl abgeschlossen ist. Bei Erfolg enthält dieses Objekt Felder wie den Build-Status, das Build-Verzeichnis, die Vorlagendatei und eine Liste der Ressourcen, die erstellt wurden. Im Fehlerfall enthält es einerrorObjekt, das beschreibt, was schief gelaufen ist. -
--parallel-
Ermöglicht parallele Builds. Verwenden Sie diese Option, um die Funktionen und Ebenen Ihrer AWS SAM Vorlage parallel zu erstellen. Standardmäßig werden die Funktionen und Ebenen nacheinander erstellt.
--parameter-overrides-
(Optional) Eine Zeichenfolge, die CloudFormation Parameterüberschreibungen enthält, die als Schlüssel-Wert-Paare kodiert sind. Verwendet dasselbe Format wie (). AWS Command Line Interface AWS CLI Zum Beispiel: '
ParameterKey=KeyPairName,ParameterValue=MyKeyParameterKey=InstanceType,ParameterValue=t1.micro'. Diese Option ist nicht kompatibel mit--hook-name. --profileTEXT-
Das spezifische Profil aus Ihrer Anmeldeinformationsdatei, das AWS Anmeldeinformationen abruft.
--regionTEXT-
Das AWS-Region , für das die Bereitstellung erfolgen soll. Beispiel: us-east-1.
--save-params-
Speichern Sie die Parameter, die Sie in der Befehlszeile angeben, in der AWS SAM Konfigurationsdatei.
--skip-prepare-infra-
Überspringt die Vorbereitungsphase, wenn keine Änderungen an der Infrastruktur vorgenommen wurden. Mit der
--hook-nameOption verwenden. --skip-pull-image-
Gibt an, ob der Befehl das Herunterladen des neuesten Docker-Images für die Lambda-Laufzeit überspringen soll.
--template-file, --template, -tPATH-
Der Pfad und der Dateiname der AWS SAM Vorlagendatei.
[default: template.[yaml|yml]]Diese Option ist nicht kompatibel mit--hook-name. --terraform-project-root-path-
Der relative oder absolute Pfad zum Verzeichnis auf oberster Ebene, das Ihre Terraform Konfigurationsdateien oder den Funktionsquellcode enthält. Wenn sich diese Dateien außerhalb des Verzeichnisses befinden, das Ihr Terraform Root-Modul enthält, verwenden Sie diese Option, um den absoluten oder relativen Pfad anzugeben. Für diese Option muss die Einstellung auf gesetzt
--hook-nameseinterraform. --use-buildkit | --no-use-buildkit-
Aktiviere oder deaktiviere die Verwendung des BuildKit Plugins für Container-Image-Builds. Dabei wird das Finch oder verwendet DockerCLIs. Standardmäßig verwendet Builds den Legacy-Builder aus dem SDK. Wenn die
--no-use-buildkitOption aufgerufen wird, überschreibt sie dieuse-buildkit = trueEinstellung in samconfig.toml. --use-container,-u-
Wenn Ihre Funktionen von Paketen abhängen, die nativ kompilierte Abhängigkeiten haben, verwenden Sie diese Option, um Ihre Funktion in einem Docker-Container zu erstellen. Lambda-like
Beispiel
Ein detailliertes Beispiel und eine ausführliche Anleitung zur Verwendung des sam build Unterbefehls finden Sie unter. Einführung in das Bauen mit AWS SAM