Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
AWS SAMCLIfile di configurazione
La AWS Serverless Application Model Command Line Interface (AWS SAMCLI) supporta un file di configurazione a livello di progetto che è possibile utilizzare per configurare i valori dei parametri di AWS SAM CLI comando.
Per la documentazione sulla creazione e l'utilizzo dei file di configurazione, vedere. Configurazione del AWS SAMCLI
Argomenti
Impostazioni predefinite del file di configurazione
AWS SAMutilizza le seguenti impostazioni predefinite del file di configurazione:
-
Nome:
samconfig
. -
Ubicazione: alla base del progetto. Questa è la stessa posizione
template.yaml
del file. -
Formato:
TOML
. Per saperne di più, consulta TOMLnella TOMLdocumentazione.
Di seguito è riportato un esempio di struttura di progetto che include il nome e la posizione del file di configurazione predefiniti:
sam-app ├── README.md ├── __init__.py ├── events ├── hello_world ├── samconfig.toml ├── template.yaml └── tests
Di seguito è riportato un esempio del file samconfig.toml
.
... 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
Formati di file di configurazione supportati
TOML
e [YAML|YML]
i formati sono supportati. Vedi la seguente sintassi di base:
TOML
version = 0.1 [
environment
] [environment
.command
] [environment
.command
.parameters]option
=parameter value
YAML
version: 0.1
environment
:command
: parameters:option
:parameter value
Specificare un file di configurazione
Per impostazione predefinita, AWS SAM CLI cerca un file di configurazione nell'ordine seguente:
-
File di configurazione personalizzato: se si utilizza l'
--config-file
opzione per specificare il nome e la posizione di un file, AWS SAM CLI cerca prima questo file. -
samconfig.toml
File predefinito: si tratta del nome e del formato del file di configurazione predefiniti, che si trova alla radice del progetto. Se non specifichi un file di configurazione personalizzato, AWS SAM CLI cerca successivamente questo file. -
samconfig.[yaml|yml]
file — Sesamconfig.toml
non esiste nella radice del progetto, AWS SAM CLI cerca questo file.
Di seguito è riportato un esempio di specificazione di un file di configurazione personalizzato utilizzando l'--config-file
opzione:
$
sam deploy --config-file myconfig.yaml
Nozioni di base sui file di configurazione
Ambiente
Un ambiente è un identificatore denominato che contiene un set unico di impostazioni di configurazione. È possibile disporre di più ambienti in un'unica AWS SAM applicazione.
Il nome dell'ambiente predefinito èdefault
.
Utilizzate l'AWS SAMCLI--config-env
opzione per specificare l'ambiente da utilizzare.
Comando
Il comando è il AWS SAM CLI comando per cui specificare i valori dei parametri.
Per specificare i valori dei parametri per tutti i comandi, utilizzate l'global
identificatore.
Quando fate riferimento a un AWS SAM CLI comando, sostituite gli spazi (
) e i trattini () con caratteri di sottolineatura (–
). _
Fare riferimento agli esempi riportati di seguito:
-
build
-
local_invoke
-
local_start_api
Parametri
I parametri sono specificati come coppie chiave-valore.
-
La chiave è il nome dell'opzione AWS SAM CLI di comando.
-
Il valore è il valore da specificare.
Quando specificate le chiavi, utilizzate l'opzione di comando in formato lungo name e sostituite i trattini (–
) con caratteri di sottolineatura (). _
Di seguito vengono mostrati gli esempi:
-
region
-
stack_name
-
template_file
Regole relative al valore dei parametri
TOML
-
I valori booleani possono essere
true
o.false
Ad esempio,confirm_changeset = true
. -
Per i valori di stringa, utilizzare le virgolette ().
""
Ad esempio,region = "us-west-2"
. -
Per i valori degli elenchi, utilizzate le virgolette (
""
) e separate ogni valore utilizzando uno spazio (capabilities = "CAPABILITY_IAM CAPABILITY_NAMED_IAM"
. -
Per i valori che contengono un elenco di coppie chiave-valore, le coppie sono delimitate da spazi (
\" \"
Ad esempio,tags = "project=\"my-application\" stage=\"production\""
. -
Per i valori dei parametri che possono essere specificati più volte, il valore è una matrice di argomenti. Ad esempio:
image_repositories = ["my-function-1=image-repo-1", "my-function-2=image-repo-2"]
.
YAML
-
I valori booleani possono essere
true
o.false
Ad esempio,confirm_changeset: true
. -
Per le voci che contengono un solo valore di stringa, le virgolette (
""
) sono facoltative. Ad esempio,region: us-west-2
. Sono incluse le voci che contengono più coppie chiave-valore fornite come singola stringa. Di seguito è riportato un esempio:$
sam deploy --tags "foo=bar hello=world"
default: deploy: parameters: tags: foo=bar hello=world
-
Per le voci che contengono un elenco di valori o le voci che possono essere utilizzate più volte in un singolo comando, specificale come elenco di stringhe.
Di seguito è riportato un esempio:
$
sam remote invoke --parameter "InvocationType=Event" --parameter "LogType=None"
default: remote_invoke: parameter: - InvocationType=Event - LogType=None
Precedenza di configurazione
Durante la configurazione dei valori, ha la seguente precedenza:
-
I valori dei parametri forniti nella riga di comando hanno la precedenza sui valori corrispondenti nel file di configurazione e nella
Parameters
sezione del file modello. -
Se l'
--parameter-overrides
opzione viene utilizzata nella riga di comando o nel file di configurazione con laparameter_overrides
chiave, i suoi valori hanno la precedenza sui valori nellaParameters
sezione del file modello. -
Nel file di configurazione, le voci fornite per un comando specifico hanno la precedenza sulle voci globali. Nell'esempio seguente, il
sam deploy
comando utilizzerà il nome dello stack.my-app-stack
Creazione e modifica dei file di configurazione
Creazione di file di configurazione
Quando si crea un'applicazione utilizzandosam init
, viene creato un samconfig.toml
file predefinito. È inoltre possibile creare manualmente il file di configurazione.
Modifica dei file di configurazione
È possibile modificare manualmente i file di configurazione. Inoltre, durante qualsiasi flusso AWS SAM CLI interattivo, i valori configurati verranno visualizzati tra parentesi ([ ]
). Se modifichi questi valori, AWS SAM CLI aggiornerà il tuo file di configurazione.
Di seguito è riportato un esempio di flusso interattivo che utilizza il sam deploy --guided
comando:
$
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
Quando si modifica il file di configurazione, AWS SAM CLI gestisce i valori globali come segue:
-
Se il valore del parametro esiste nella
global
sezione del file di configurazione, AWS SAM CLI non scrive il valore nella sezione di comando specifica. -
Se il valore del parametro esiste
global
sia nella sezione di comando che in quella specifica, AWS SAM CLI elimina la voce specifica a favore del valore globale.