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 SAMCLI 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 SAM utilizza le seguenti impostazioni predefinite del file di configurazione:
-
Nome:
samconfig. -
Posizione: alla base del progetto. Questa è la stessa posizione
template.yamldel 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
TOMLe i [YAML|YML] 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.1environment:command: parameters:option:parameter value
Specificare un file di configurazione
Per impostazione predefinita, AWS SAMCLI cerca un file di configurazione nell'ordine seguente:
-
File di configurazione personalizzato: se si utilizza l'
--config-fileopzione per specificare il nome e la posizione di un file, AWS SAMCLI cerca prima questo file. -
samconfig.tomlFile 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 SAMCLI cerca successivamente questo file. -
samconfig.[yaml|yml]file — Sesamconfig.tomlnon esiste nella radice del progetto, AWS SAMCLI cerca questo file.
Di seguito è riportato un esempio di specificazione di un file di configurazione personalizzato utilizzando l'--config-fileopzione:
$sam deploy --config-file myconfig.yaml
Nota
Il --config-file parametro deve essere relativo alla posizione del file AWS SAM modello perché AWS SAMCLI deve determinare il contesto in cui viene applicata la configurazione. Il samconfig.toml file gestisce le impostazioni di configurazione per la versione in AWS SAMCLI uso di e la CLI cerca il samconfig.toml file (o il parametro del file di configurazione sovrascritto) nella cartella relativa del file. template.yaml
Nozioni di base sui file di configurazione
Ambiente
Un ambiente è un identificatore denominato che contiene un set unico di impostazioni di configurazione. È possibile avere più ambienti in una singola AWS SAM applicazione.
Il nome dell'ambiente predefinito èdefault.
Utilizzate l' AWS SAMCLI--config-envopzione per specificare l'ambiente da utilizzare.
Comando
Il comando è il AWS SAMCLI comando per cui specificare i valori dei parametri.
Per specificare i valori dei parametri per tutti i comandi, utilizzate l'globalidentificatore.
Quando fate riferimento a un AWS SAMCLI comando, sostituite gli spazi ( ) e i trattini () con caratteri di sottolineatura (–). _ Fare riferimento agli esempi riportati di seguito:
-
build -
local_invoke -
local_start_api
Parameters
I parametri sono specificati come coppie chiave-valore.
-
La chiave è il nome dell'opzione AWS SAMCLI 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
trueo.falseAd 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 (). Ad esempio:capabilities = "CAPABILITY_IAM CAPABILITY_NAMED_IAM". -
Per i valori che contengono un elenco di coppie chiave-valore, le coppie sono delimitate da spazi (
) e il valore di ciascuna coppia è racchiuso tra virgolette codificate ().\" \"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
trueo.falseAd 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: parameters: 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
Parameterssezione del file modello. -
Se l'
--parameter-overridesopzione viene utilizzata nella riga di comando o nel file di configurazione con laparameter_overrideschiave, i suoi valori hanno la precedenza sui valori nellaParameterssezione 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 deploycomando 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 SAMCLI interattivo, i valori configurati verranno visualizzati tra parentesi ([ ]). Se modifichi questi valori, AWS SAMCLI aggiornerà il tuo file di configurazione.
Di seguito è riportato un esempio di flusso interattivo che utilizza il sam deploy --guided comando:
$sam deploy --guidedConfiguring SAM deploy ====================== Looking for config file [samconfig.toml] : Found Reading default arguments : Success Setting default arguments for 'sam deploy' ========================================= Stack Name [sam-app]:ENTERAWS 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]:ENTERHelloWorldFunction may not have authorization defined, Is this okay? [y/N]:ySave arguments to configuration file [Y/n]:ENTERSAM configuration file [samconfig.toml]:ENTERSAM configuration environment [default]:ENTER
Quando si modifica il file di configurazione, AWS SAMCLI gestisce i valori globali come segue:
-
Se il valore del parametro esiste nella
globalsezione del file di configurazione, AWS SAMCLI non scrive il valore nella sezione di comando specifica. -
Se il valore del parametro esiste
globalsia nella sezione di comando che in quella specifica, AWS SAMCLI elimina la voce specifica a favore del valore globale.