sam sync - 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 sync

Diese Seite enthält Referenzinformationen für die AWS Serverless Application Model Befehlszeilenschnittstelle (AWS SAM CLIsam syncBefehl.

Der sam sync Befehl synchronisiert lokale Anwendungsänderungen mit dem AWS Cloud.

Verwendung

$ sam sync <options>

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, um zu ändern, 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, gilt diese Option auch für verschachtelte Anwendungen oder Stacks. Darüber hinaus gilt diese Option für die folgenden Ressourcentypen und Eigenschaften:

  • Ressourcentyp: AWS::Serverless::Function Eigenschaft: 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

--build-image TEXT

Das URI für das Container-Image, das Sie beim Erstellen Ihrer Anwendung verwenden möchten. AWS SAM Verwendet standardmäßig das Container-Image-Repository URI von Amazon Elastic Container Registry (AmazonECR) Public. Geben Sie diese Option an, um ein anderes Image zu verwenden.

Sie können diese Option in einem einzigen Befehl mehrfach verwenden. Jede Option akzeptiert eine Zeichenfolge oder ein Schlüssel-Wert-Paar.

  • Zeichenfolge — Geben Sie das URI Container-Image an, das alle Ressourcen in Ihrer Anwendung verwenden werden. Im Folgenden wird ein Beispiel gezeigt:

    $ sam sync --build-image amazon/aws-sam-cli-build-image-python3.8
  • Schlüssel-Wert-Paar — Geben Sie den Ressourcennamen als Schlüssel und das Container-Image URI an, das mit dieser Ressource als Wert verwendet werden soll. Verwenden Sie dieses Format, um URI für jede Ressource in Ihrer Anwendung ein anderes Container-Image anzugeben. Im Folgenden wird ein Beispiel gezeigt:

    $ sam sync --build-image Function1=amazon/aws-sam-cli-build-image-python3.8

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

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

Ermöglicht --build-in-source es, Ihr Projekt direkt im Quellordner zu erstellen.

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:

  • --use-container

Standardwert: --no-build-in-source

--capabilities LIST

Eine Liste von Funktionen, die Sie angeben, um die Erstellung bestimmter Stapel AWS CloudFormation zu ermöglichen. Einige Stack-Vorlagen können Ressourcen enthalten, die sich auf Ihre AWS-Konto Berechtigungen auswirken können. Zum Beispiel, indem Sie neue AWS Identity and Access Management (IAM) Benutzer erstellen. Geben Sie diese Option an, um die Standardwerte zu überschreiben. Gültige Werte sind unter anderem:

  • CAPABILITY_IAM

  • CAPABILITY_NAMED_IAM

  • CAPABILITY_RESOURCE_POLICY

  • CAPABILITY_AUTO_EXPAND

Standard: CAPABILITY_NAMED_IAM und CAPABILITY_AUTO_EXPAND

--code

AWS SAM Synchronisiert standardmäßig alle Ressourcen in Ihrer Anwendung. Geben Sie diese Option an, um nur Coderessourcen zu synchronisieren, die Folgendes beinhalten:

  • AWS::Serverless::Function

  • AWS::Lambda::Function

  • AWS::Serverless::LayerVersion

  • AWS::Lambda::LayerVersion

  • AWS::Serverless::Api

  • AWS::ApiGateway::RestApi

  • AWS::Serverless::HttpApi

  • AWS::ApiGatewayV2::Api

  • AWS::Serverless::StateMachine

  • AWS::StepFunctions::StateMachine

Zum Synchronisieren von Coderessourcen wird der AWS Dienst APIs direkt AWS SAM verwendet, anstatt sie über bereitzustellen AWS CloudFormation. Um Ihren AWS CloudFormation Stack zu aktualisieren, führen Sie sam sync --watch oder aussam deploy.

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

--dependency-layer | --no-dependency-layer

Gibt an, ob die Abhängigkeiten einzelner Funktionen in eine weitere Ebene aufgeteilt werden sollen, um den Synchronisierungsvorgang zu beschleunigen.

Standardwert: --dependency-layer

--image-repository TEXT

Der Name des Amazon Elastic Container Registry (AmazonECR) -Repositorys, in das dieser Befehl das Image Ihrer Funktion hochlädt. Erforderlich für Funktionen, die mit dem Image Pakettyp deklariert wurden.

--image-repositories TEXT

Eine Zuordnung von Funktionen zu ihrem ECR Amazon-RepositoryURI. Referenzfunktionen anhand ihrer logischen ID. Im Folgenden wird ein Beispiel gezeigt:

$ sam sync --image-repositories Function1=123456789012.dkr.ecr.us-east-1.amazonaws.com/my-repo

Sie können diese Option in einem einzigen Befehl mehrfach angeben.

--kms-key-id TEXT

Die ID eines AWS Key Management Service (AWS KMS) -Schlüssels, der zum Verschlüsseln von Artefakten verwendet wird, die sich im Amazon S3 S3-Bucket befinden. Wenn Sie diese Option nicht angeben, werden von Amazon S3 verwaltete Verschlüsselungsschlüssel AWS SAM verwendet.

--metadata

Eine Metadatenübersicht, die an alle Artefakte angehängt werden kann, auf die Sie in Ihrer Vorlage verweisen.

--notification-arns LIST

Eine Liste der Amazon Simple Notification Service (AmazonSNS) -ThemenARNs, die mit dem Stack AWS CloudFormation verknüpft sind.

--parameter-overrides

Eine Zeichenfolge, die AWS CloudFormation Parameterüberschreibungen enthält, die als Schlüssel-Wert-Paare kodiert sind. Verwenden Sie dasselbe Format wie (). AWS Command Line Interface AWS CLI Das AWS SAM CLI Das Format besteht aus expliziten Schlüsselwörtern und Werten, wobei jede Überschreibung durch ein Leerzeichen getrennt ist. Nachfolgend finden Sie zwei Beispiele:

  • --parameter-overrides ParameterKey=hello,ParameterValue=world

  • --parameter-overrides ParameterKey=hello,ParameterValue=world ParameterKey=example1,ParameterValue=example2 ParameterKey=apple,ParameterValue=banana

--resource TEXT

Gibt den zu synchronisierenden Ressourcentyp an. Um mehrere Ressourcen zu synchronisieren, können Sie diese Option mehrmals angeben. Diese Option wird zusammen mit der --code Option unterstützt. Bei dem Wert muss es sich um eine der unten aufgeführten Ressourcen handeln--code. Beispiel, --resource AWS::Serverless::Function --resource AWS::Serverless::LayerVersion.

--resource-id TEXT

Gibt die Ressourcen-ID an, die synchronisiert werden soll. Um mehrere Ressourcen zu synchronisieren, können Sie diese Option mehrmals angeben. Diese Option wird zusammen mit der --code Option unterstützt. Beispiel, --resource-id Function1 --resource-id Function2.

--role-arn TEXT

Der Amazon-Ressourcenname (ARN) einer IAM Rolle, die beim Anwenden des Changesets übernommen AWS CloudFormation wird.

--s3-bucket TEXT

Der Name des Amazon Simple Storage Service (Amazon S3) -Buckets, in den dieser Befehl Ihre AWS CloudFormation Vorlage hochlädt. Wenn Ihre Vorlage größer als 51.200 Byte ist, ist entweder die Option --s3-bucket oder die --resolve-s3 Option erforderlich. Wenn Sie sowohl die --s3-bucket --resolve-s3 Optionen als auch angeben, tritt ein Fehler auf.

--s3-prefix TEXT

Das Präfix, das den Namen der Artefakte hinzugefügt wurde, die Sie in den Amazon S3 S3-Bucket hochladen. Der Präfixname ist ein Pfadname (Ordnername) für den Amazon S3 S3-Bucket. Dies gilt nur für Funktionen, die mit dem Zip Pakettyp deklariert wurden.

--save-params

Speichert die Parameter, die Sie in der Befehlszeile angeben, in der AWS SAM Konfigurationsdatei.

--skip-deploy-sync | --no-skip-deploy-sync

Gibt --skip-deploy-sync an, dass die anfängliche Infrastruktursynchronisierung übersprungen werden soll, wenn sie nicht erforderlich ist. Die AWS SAM CLI vergleicht Ihre lokale AWS SAM Vorlage mit der bereitgestellten AWS CloudFormation Vorlage und führt nur dann eine Bereitstellung durch, wenn eine Änderung erkannt wird.

Gibt --no-skip-deploy-sync an, dass bei jeder Ausführung eine AWS CloudFormation Bereitstellung durchgeführt werden sam sync soll.

Weitere Informationen hierzu finden Sie unter Überspringen Sie die erste AWS CloudFormation Bereitstellung.

Standardwert: --skip-deploy-sync

--stack-name TEXT

Der Name des AWS CloudFormation Stacks für Ihre Anwendung.

Diese Option ist erforderlich.

--tags LIST

Eine Liste von Tags, die dem Stack zugeordnet werden sollen, der erstellt oder aktualisiert wird. AWS CloudFormation leitet diese Tags auch an Ressourcen im Stack weiter, die sie unterstützen.

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

Der Pfad und der Dateiname, in dem sich Ihre AWS SAM Vorlage befindet.

Anmerkung

Wenn Sie diese Option angeben, werden AWS SAM nur die Vorlage und die lokalen Ressourcen bereitgestellt, auf die sie verweist.

--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 like zu erstellen AWS LambdaDocker Behälter.

Anmerkung

Derzeit ist diese Option nicht kompatibel mit--dependency-layer. Wenn Sie --use-container mit verwenden--dependency-layer, AWS SAM CLI informiert Sie und fährt fort mit--no-dependency-layer.

--watch

Startet einen Prozess, der Ihre lokale Anwendung auf Änderungen überwacht und diese automatisch mit der AWS Cloud synchronisiert. Wenn Sie diese Option angeben, werden standardmäßig alle Ressourcen in Ihrer Anwendung AWS SAM synchronisiert, wenn Sie sie aktualisieren. AWS SAM Führt mit dieser Option eine erste AWS CloudFormation Bereitstellung durch. AWS SAM Verwendet dann den AWS Dienst, APIs um die Coderessourcen zu aktualisieren. AWS SAM verwendet AWS CloudFormation , um Infrastrukturressourcen zu aktualisieren, wenn Sie Ihre AWS SAM Vorlage aktualisieren.

--watch-exclude TEXT

Schließt eine Datei oder einen Ordner von der Überwachung auf Dateiänderungen aus. Um diese Option verwenden zu können, --watch muss sie ebenfalls angegeben werden.

Diese Option erhält ein Schlüssel-Wert-Paar:

  • Schlüssel — Die logische ID einer Lambda-Funktion in Ihrer Anwendung.

  • Wert — Der zugehörige Dateiname oder Ordner, der ausgeschlossen werden soll.

Wenn Sie Dateien oder Ordner aktualisieren, die mit der --watch-exclude Option angegeben wurden, AWS SAM CLI initiiert keine Synchronisierung. Wenn jedoch eine Aktualisierung anderer Dateien oder Ordner eine Synchronisierung einleitet, werden diese Dateien oder Ordner in diese Synchronisation aufgenommen.

Sie können diese Option in einem einzigen Befehl mehrfach angeben.

Beispiele

Beispiele zur Verwendung dieses Befehls finden Sie unterOptionen für den Befehl sam sync.