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
.
-
Eine Einführung in den finden AWS SAMCLI Sie unterWas ist das? AWS SAMCLI.
-
Eine Dokumentation zur Verwendung des AWS SAMCLI
sam build
Befehls finden Sie unterEinführung in das Bauen mit dem sam build Befehl.
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 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 — Jede 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 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 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 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.