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 die AWS Serverless Application Model Befehlszeilenschnittstelle (AWS SAM CLIsam buildBefehl.

Der sam build Befehl bereitet eine Anwendung auf 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

Das URI des Container-Images, das Sie für den Build abrufen möchten. Ruft das Container-Image standardmäßig von Amazon ECR Public ab. AWS SAM 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, entspricht diese dem URI Container-Image, 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 Wert 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 — Beliebig 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 SAM CLI Konfigurationsdatei.

--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 SAM CLI Konfigurationsdatei.

--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. 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 Debug-Meldungen zu drucken, die AWS SAM CLI generiert und zeigt Zeitstempel an.

--docker-network TEXT

Gibt den Namen oder die ID eines vorhandenen an Docker Netzwerk, das Lambda Docker Container sollten zusammen mit dem Standard-Bridge-Netzwerk eine Verbindung herstellen. Wenn nicht angegeben, stellen die Lambda-Container nur eine Verbindung zur Standardbrücke her Docker Netzwerk.

--exclude, -x

Der Name der Ressource (n), die von der ausgeschlossen werden sollensam build. 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 verwendet wird AWS SAM CLI Funktionalität.

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 auf oberster Ebene, das Ihren Terraform Konfigurationsdateien oder Funktionsquellcode. Wenn sich diese Dateien außerhalb des Verzeichnisses befinden, das Ihre Terraform Root-Modul, verwenden Sie diese Option, um seinen absoluten oder relativen Pfad anzugeben. Diese Option erfordert, dass --hook-name sie auf gesetzt istterraform.

--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.

Beispiel

Ein ausführliches Beispiel und eine ausführliche Anleitung zur Verwendung des Unterbefehls finden Sie unter. sam build Einführung in das Bauen mit AWS SAM