sam build - AWS Serverless Application Model

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.

sam build

Diese Seite enthält Referenzinformationen für den AWS Serverless Application Model Befehl Command Line Interface (AWS SAMCLI)sam build.

Der sam build Befehl bereitet eine Anwendung für nachfolgende Schritte im Entwickler-Workflow vor, z. B. lokales Testen oder Bereitstellen auf der AWS Cloud.

Verwendung

$ sam build <arguments> <options>

Argumente

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 package undsam deploy.

Optionen

--base-dir, -s DIRECTORY

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 Root-Anwendung oder dem Root-Stack, den Sie erstellen, werden mit dieser Option auch verschachtelte Anwendungen oder Stacks angewendet.

Diese Option gilt für die folgenden Ressourcentypen und Eigenschaften:

  • Ressourcentyp: AWS::Serverless::Function Immobilie: CodeUri

  • Ressourcentyp: AWS::Serverless::Function Ressourcenattribut: Metadata Eintrag: DockerContext

  • Ressourcentyp: AWS::Serverless::LayerVersion Immobilie: ContentUri

  • Ressourcentyp: AWS::Lambda::Function Immobilie: Code

  • Ressourcentyp: AWS::Lambda::LayerVersion Immobilie: Content

--beta-features | --no-beta-features

Betafunktionen zulassen oder ablehnen.

--build-dir, -b DIRECTORY

Der Pfad zu einem Verzeichnis, in dem die erstellten Artefakte gespeichert sind. Dieses Verzeichnis und sein gesamter Inhalt werden mit dieser Option entfernt.

--build-image TEXT

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 Speicherort 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. z. B. 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 Beispiel sam 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-container Option angegeben ist, andernfalls tritt ein Fehler auf.

--build-in-source | --no-build-in-source

Geben Sie --build-in-source an, dass Ihr Projekt direkt im Quellordner erstellt wird.

Die --build-in-source Option unterstützt die folgenden Laufzeiten und Build-Methoden:

  • Laufzeiten — Jede Node.js Laufzeit, die von der sam init --runtime Option unterstützt wird.

  • Methoden erstellenMakefile,esbuild.

Die --build-in-source Option ist mit den folgenden Optionen nicht 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-cached Option aufgerufen wird, überschreibt sie die cached = true Einstellung in samcofig.toml.

Anmerkung

AWS SAM bewertet nicht, ob Sie Module von Drittanbietern geändert haben, von denen Ihr Projekt abhängt, wenn Sie keine bestimmte Version bereitgestellt haben. Wenn Ihre Python-Funktion beispielsweise eine requirements.txt Datei mit dem Eintrag requests=1.x enthält und die neueste Version des Anforderungsmoduls von 1.1 zu geändert wird1.2, ruft sie die neueste Version erst ab, wenn Sie einen AWS SAM nicht zwischengespeicherten Build ausführen.

--cache-dir

Das Verzeichnis, in dem die Cache-Artefakte gespeichert werden, wenn --cached angegeben. Das Standard-Cache-Verzeichnis ist.aws-sam/cache.

--config-env TEXT

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-file PATH

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, -e TEXT

Umgebungsvariablen, die an den Build-Container übergeben werden sollen. Sie können diese Option mehrfach angeben. Jede Instanz dieser Option benötigt ein Schlüssel-Wert-Paar, wobei der Schlüssel die Ressourcen- und Umgebungsvariable und der Wert der Wert der Umgebungsvariablen ist. Zum Beispiel: --container-env-var Function1.GITHUB_TOKEN=TOKEN1 --container-env-var Function2.GITHUB_TOKEN=TOKEN2.

Diese Option gilt nur, wenn die --use-container Option angegeben ist, andernfalls tritt ein Fehler auf.

--container-env-var-file, -ef PATH

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-container Option angegeben ist, andernfalls tritt ein Fehler auf.

--debug

Aktiviert die Debug-Protokollierung, um die von ihm AWS SAMCLI generierten Debug-Meldungen zu drucken und Zeitstempel anzuzeigen.

--docker-network TEXT

Gibt den Namen oder die ID eines vorhandenen Docker Netzwerks an, mit 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 von der sam build ausgeschlossen werden sollen. Wenn Ihre Vorlage beispielsweise Function1Function2, und enthält Function3 und Sie ausführensam build --exclude Function2, Function3 wird nur Function1 und erstellt.

--help

Zeigt diese Meldung an und wird beendet.

--hook-name TEXT

Der Name des Hooks, der zur Erweiterung der AWS SAMCLI Funktionalität verwendet wird.

Zulässige Werte:terraform.

--manifest , -m PATH

Der Pfad zu einer benutzerdefinierten Abhängigkeitsmanifestdatei (z. B. package.json), die anstelle der Standarddatei verwendet werden soll.

--parallel

parallel Builds aktiviert. 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 AWS CloudFormation Parameterüberschreibungen enthält, die als Schlüssel-Wert-Paare codiert sind. Verwendet dasselbe Format wie (). AWS Command Line Interface AWS CLI Zum Beispiel: 'ParameterKey=KeyPairName, ParameterValue MyKey ParameterKey =InstanceType, ParameterValue =t1.micro'. Diese Option ist nicht kompatibel mit--hook-name.

--profile TEXT

Das spezifische Profil aus Ihrer Anmeldeinformationsdatei, das die AWS Anmeldeinformationen abruft.

--region TEXT

Das AWS-Region , in dem 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. Zusammen mit der --hook-name Option verwenden.

--skip-pull-image

Gibt an, ob der Befehl das Abrufen des neuesten Docker-Images für die Lambda-Laufzeit überspringen soll.

--template-file, --template, -t PATH

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 der obersten 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 dieser --hook-name Wert auf gesetzt seinterraform.

--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 Lambda-ähnlichen Docker-Container zu erstellen.