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 build
Befehl.
-
Für eine Einführung in die AWS SAM CLI, siehe Was ist der AWS SAM CLI?
-
Eine Dokumentation zur Verwendung des AWS SAM CLI
sam build
Befehl, sieheEinführung in das Bauen mit AWS SAM.
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 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-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 erstellen —
Makefile
,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 diecached = 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 Eintragrequests=1.x
enthält und die neueste Version des Anforderungsmoduls von1.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 sollen
sam build
. Wenn Ihre Vorlage beispielsweiseFunction1
Function2
, und enthältFunction3
und Sie ausführensam build --exclude Function2
,Function3
wird nurFunction1
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