AWS SAMCLI Konfigurationsdatei - 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.

AWS SAMCLI Konfigurationsdatei

Die -AWS Serverless Application ModelBefehlszeilenschnittstelle (AWS SAMCLI) unterstützt eine Konfigurationsdatei auf Projektebene, mit der Sie AWS SAMCLI Befehlsparameterwerte konfigurieren können.

Eine Dokumentation zum Erstellen und Verwenden von Konfigurationsdateien finden Sie unter Konfigurieren der AWS SAMCLI.

Einstellungen der Standardkonfigurationsdatei

AWS SAM verwendet die folgenden Standardkonfigurationsdateie instellungen:

  • Name (Namesamconfig.

  • Standort – Im Stammverzeichnis Ihres Projekts. Dies ist derselbe Speicherort wie Ihre -template.yamlDatei.

  • FormatTOML. Weitere Informationen finden Sie unter TOML in der TOML -Dokumentation.

Im Folgenden finden Sie ein Beispiel für eine Projektstruktur, die den Namen und den Speicherort der Standardkonfigurationsdatei enthält:

sam-app
├── README.md
├── __init__.py
├── events
├── hello_world
├── samconfig.toml
├── template.yaml
└── tests

Im Folgenden sehen Sie ein Beispiel für eine samconfig.toml-Datei:

...
version = 0.1

[default]
[default.global]
[default.global.parameters]
stack_name = "sam-app"

[default.build.parameters]
cached = true
parallel = true

[default.deploy.parameters]
capabilities = "CAPABILITY_IAM"
confirm_changeset = true
resolve_s3 = true

[default.sync.parameters]
watch = true

[default.local_start_api.parameters]
warm_containers = "EAGER"

[prod]
[prod.sync]
[prod.sync.parameters]
watch = false

Unterstützte Konfigurationsdateiformate

TOML Die [YAML|YML] Formate und werden unterstützt. Weitere Informationen finden Sie in der folgenden grundlegenden Syntax:

TOML

version = 0.1 [environment] [environment.command] [environment.command.parameters] option = parameter value

YAML

version: 0.1 environment: command: parameters: option: parameter value

Angeben einer Konfigurationsdatei

Standardmäßig AWS SAMCLIsucht die in der folgenden Reihenfolge nach einer Konfigurationsdatei:

  1. Benutzerdefinierte Konfigurationsdatei – Wenn Sie die --config-file Option verwenden, um einen Dateinamen und einen Speicherort anzugeben, AWS SAMCLIsucht zuerst nach dieser Datei.

  2. samconfig.tomlStandarddatei – Dies ist der Name und das Format der Standardkonfigurationsdatei, die sich im Stammverzeichnis Ihres Projekts befinden. Wenn Sie keine benutzerdefinierte Konfigurationsdatei angeben, AWS SAMCLIsucht das als Nächstes nach dieser Datei.

  3. samconfig.[yaml|yml] Datei – Wenn die nicht im Stammverzeichnis Ihres Projekts vorhanden samconfig.toml ist, AWS SAMCLIsucht die nach dieser Datei.

Im Folgenden finden Sie ein Beispiel für die Angabe einer benutzerdefinierten Konfigurationsdatei mit der --config-file Option :

$ sam deploy --config-file myconfig.yaml

Grundlagen der Konfigurationsdatei

Umgebung

Eine Umgebung ist eine benannte Kennung, die einen eindeutigen Satz von Konfigurationseinstellungen enthält. Sie können mehrere Umgebungen in einer einzigen AWS SAM Anwendung haben.

Der Standardumgebungsname lautet default.

Verwenden Sie die AWS SAMCLI --config-env Option , um die zu verwendende Umgebung anzugeben.

Befehl

Der Befehl ist der AWS SAMCLI Befehl zur Angabe von Parameterwerten.

Um Parameterwerte für alle Befehle anzugeben, verwenden Sie die global Kennung .

Ersetzen Sie beim Verweisen auf einen -AWS SAMCLIBefehl Leerzeichen ( ) und Bindestriche () durch Unterstriche (_). Im Folgenden sind einige Beispiele aufgeführt:

  • build

  • local_invoke

  • local_start_api

Parameter

Parameter werden als Schlüssel-Wert-Paare angegeben.

  • Der Schlüssel ist der Name der AWS SAMCLI Befehlsoption.

  • Der Wert ist der Wert, der angegeben werden soll.

Verwenden Sie bei der Angabe von Schlüsseln den Namen der Befehlsoption in Langform und ersetzen Sie Bindestriche () durch Unterstriche (_). Im Folgenden sind einige Beispiele aufgeführt:

  • region

  • stack_name

  • template_file

Regeln für Parameterwerte

TOML

  • Boolesche Werte können true oder seinfalse. Beispiel: confirm_changeset = true

  • Verwenden Sie für Zeichenfolgenwerte Anführungszeichen (""). Beispiel: region = "us-west-2"

  • Verwenden Sie für Listenwerte Anführungszeichen ("") und trennen Sie jeden Wert durch ein Leerzeichen ( ). Zum Beispiel: capabilities = "CAPABILITY_IAM CAPABILITY_NAMED_IAM".

  • Bei Werten, die eine Liste von Schlüssel-Wert-Paaren enthalten, sind die Paare durch Leerzeichen getrennt ( ) und der Wert jedes Paares ist von codierten Anführungszeichen () umgeben\" \". Beispiel: tags = "project=\"my-application\" stage=\"production\""

  • Bei Parameterwerten, die mehrmals angegeben werden können, ist der Wert ein Array von Argumenten. Zum Beispiel: image_repositories = ["my-function-1=image-repo-1", "my-function-2=image-repo-2"].

YAML

  • Boolesche Werte können true oder seinfalse. Beispiel: confirm_changeset: true

  • Für Einträge, die einen einzelnen Zeichenfolgenwert enthalten, sind Anführungszeichen ("") optional. Beispiel: region: us-west-2 Dazu gehören Einträge, die mehrere Schlüssel-Wert-Paare enthalten, die als einzelne Zeichenfolge bereitgestellt werden. Im Folgenden wird ein Beispiel gezeigt:

    $ sam deploy --tags "foo=bar hello=world"
    default: deploy: parameters: tags: foo=bar hello=world
  • Geben Sie für Einträge, die eine Liste von Werten enthalten, oder Einträge, die mehrmals in einem einzigen Befehl verwendet werden können, sie als Liste von Zeichenfolgen an.

    Im Folgenden wird ein Beispiel gezeigt:

    $ sam remote invoke --parameter "InvocationType=Event" --parameter "LogType=None"
    default: remote_invoke: parameter: - InvocationType=Event - LogType=None

Priorität der Konfiguration

Bei der Konfiguration von Werten hat folgende Priorität:

  • Parameterwerte, die Sie in der Befehlszeile angeben, haben Vorrang vor den entsprechenden Werten in der Konfigurationsdatei und im Parameters Abschnitt der Vorlagendatei.

  • Wenn die --parameter-overrides Option in der Befehlszeile oder in Ihrer Konfigurationsdatei mit dem parameter_overrides Schlüssel verwendet wird, haben ihre Werte Vorrang vor Werten im Parameters Abschnitt der Vorlagendatei.

  • In Ihrer Konfigurationsdatei haben Einträge, die für einen bestimmten Befehl bereitgestellt werden, Vorrang vor globalen Einträgen. Im folgenden Beispiel verwendet der sam deploy Befehl den Stack-Namen my-app-stack.

    TOML
    [default.global.parameters]
    stack_name = "common-stack"
    
    [default.deploy.parameters]
    stack_name = "my-app-stack"
    YAML
    default: global: parameters: stack_name: common-stack deploy: parameters: stack_name: my-app-stack

Erstellen und Ändern von Konfigurationsdateien

Erstellen von Konfigurationsdateien

Wenn Sie eine Anwendung mit erstellensam init, wird eine samconfig.toml Standarddatei erstellt. Sie können Ihre Konfigurationsdatei auch manuell erstellen.

Ändern von Konfigurationsdateien

Sie können Ihre Konfigurationsdateien manuell ändern. Außerdem werden während eines AWS SAMCLI interaktiven Flows konfigurierte Werte in eckigen Klammern angezeigt ([ ]). Wenn Sie diese Werte ändern, AWS SAMCLI aktualisiert die Ihre Konfigurationsdatei.

Im Folgenden finden Sie ein Beispiel für einen interaktiven Flow mit dem sam deploy --guided Befehl :

$ sam deploy --guided Configuring SAM deploy ====================== Looking for config file [samconfig.toml] : Found Reading default arguments : Success Setting default arguments for 'sam deploy' ========================================= Stack Name [sam-app]: ENTER AWS Region [us-west-2]: ENTER #Shows you resources changes to be deployed and require a 'Y' to initiate deploy Confirm changes before deploy [Y/n]: n #SAM needs permission to be able to create roles to connect to the resources in your template Allow SAM CLI IAM role creation [Y/n]: ENTER #Preserves the state of previously provisioned resources when an operation fails Disable rollback [y/N]: ENTER HelloWorldFunction may not have authorization defined, Is this okay? [y/N]: y Save arguments to configuration file [Y/n]: ENTER SAM configuration file [samconfig.toml]: ENTER SAM configuration environment [default]: ENTER

Wenn Sie Ihre Konfigurationsdatei ändern, AWS SAMCLI behandelt die globale Werte wie folgt:

  • Wenn der Parameterwert im global Abschnitt Ihrer Konfigurationsdatei vorhanden ist, schreibt die den Wert AWS SAMCLI nicht in den spezifischen Befehlsabschnitt.

  • Wenn der Parameterwert sowohl in den Abschnitten als auch in den global spezifischen Befehlsabschnitten vorhanden ist, AWS SAMCLIlöscht die den spezifischen Eintrag zugunsten des globalen Werts.