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 SAMFile di configurazione CLI
LaAWS SAMCLI supporta un file di configurazione a livello di progetto che memorizza i parametri predefiniti per i comandi. Questo file di configurazione è presente nella sezioneFormato del file di TOMLsamconfig.toml
. La posizione predefinita del file è la directory principale del progetto, che contiene il progettoAWS SAMfile di modello.
È possibile modificare manualmente questo file per impostare i parametri predefiniti per qualsiasiAWS SAMComando CLI. Inoltre,sam deploy --guided
command scrive un sottoinsieme di parametri nel file di configurazione. Per ulteriori informazioni su questo comando, consultaConfigurazioni di scrittura consam deploy
--guidedpiù avanti in questo argomento.
Esempio
Ecco un esempio di file di configurazione che contiene tre set di parametri per ildefault
ambiente. Un set è per tutti i comandi, uno per ildeploy
comando, e uno è per ilbuild
comando.
version=0.1 [default.global.parameters] stack_name = "common-stack" [default.deploy.parameters] stack_name = "my-app-stack" s3_bucket = "my-source-bucket" s3_prefix = "my-s3-prefix" image_repositories = ["my-function-1=image-repo-1", "my-function-2=image-repo-2"] region = "us-west-2" confirm_changeset = true capabilities = "CAPABILITY_IAM" tags = "project=\"my-application\" stage=\"production\"" [default.build.parameters] container_env_var = ["Function1.GITHUB_TOKEN=TOKEN1", "Function2.GITHUB_TOKEN=TOKEN2"] container_env_var_file = "env.json" no_beta_features = true
Regole dei file di configurazione
LaAWS SAMCLI applica le seguenti regole ai file di configurazione:
Nome e posizione del file
-
Il file di configurazione predefinito è denominato
samconfig.toml
e si trova nella directory principale del progetto. -
Puoi sostituire il nome e la posizione del file di default utilizzando
--config-file
Parametro .
Tabelle
-
LaAWS SAMCLI utilizza le tabelle TOML per raggruppare le voci di configurazione per ambiente e comando. Un singolo file di configurazione può contenere tabelle per più ambienti, comandi e sottocomandi.
-
Il nome dell'ambiente predefinito è denominato
default
. Puoi eseguire l'override del nome dell'ambiente di default utilizzando--config-env
Parametro . -
Per i comandi, il formato dell'intestazione della tabella è
[
. Ad esempio, perenvironment
.command
.parameters]sam deploy
comando per ildefault
ambiente, l'intestazione della tabella di configurazione è[default.deploy.parameters]
. -
Per i sottocomandi, il formato dell'intestazione della tabella è
[
. Cioè, delimita il comando e il sottocomando conenvironment
.command
_subcommand
.parameters]_
(carattere di sottolineatura). Ad esempio, persam local invoke
comando per ildefault
ambiente, l'intestazione della tabella di configurazione è[default.local_invoke.parameters]
. -
Se un comando o sottocomando contiene un
-
carattere (trattino), sostituirlo con_
(carattere di sottolineatura). Ad esempio, persam local start-api
comando, l'intestazione della tabella di configurazione è[default.local_start_api.parameters]
. -
Per specificare i parametri per tutti i comandi, utilizzare il
global
parola chiave come comando nell'intestazione della tabella ([
). Ad esempio, l'intestazione globale della tabella per ilenvironment
.global.parameters]default
è l'ambiente[default.global.parameters]
.
Voci di configurazione
-
Ogni voce di configurazione è una coppia chiave-valore TOML.
-
La chiave di configurazione è il nome del parametro di forma lunga con il
-
carattere (trattino) sostituito con_
(carattere di sottolineatura). Per l'elenco dei parametri disponibili per ciascun comando, vedere ilAWS SAMRiferimento ai comandi CLI, oppure eseguisam
.command
--help -
Il valore di configurazione può assumere le forme seguenti:
-
Per i parametri di commutazione, il valore può essere
true
ofalse
(senza virgolette). Ad esempio,confirm_changeset = true
. -
Per i parametri che richiedono un singolo argomento, il valore è l'argomento circondato da
" "
(virgolette). Ad esempio,region = "us-west-2"
. -
Per i parametri che richiedono un elenco di argomenti, gli argomenti sono delimitati dallo spazio all'interno
" "
(virgolette). Ad esempio,capabilities = "CAPABILITY_IAM CAPABILITY_NAMED_IAM"
.-
Per specificare un elenco di coppie chiave-valore, le coppie sono delimitate dallo spazio e il valore di ciascuna coppia è circondato da codificati
" "
(virgolette). Ad esempio,tags = "project=\"my-application\" stage=\"production\""
.
-
-
Per i parametri che è possibile specificare più volte, il valore è una matrice di argomenti. Ad esempio,
image_repositories = ["my-function-1=image-repo-1", "my-function-2=image-repo-2"]
.
-
Priorità
-
I valori dei parametri forniti nella riga di comando hanno la precedenza sulle voci corrispondenti nel file di configurazione. Ad esempio, se il file di configurazione contiene la voce
stack_name = "DefaultStack"
ed esegui il comandosam deploy --stack-name MyCustomStack
, quindi il nome dello stack distribuito èMyCustomStack
. -
Per il
parameter_overrides
entry, sia i valori dei parametri forniti dalla riga di comando che le voci nel file di configurazione hanno la precedenza sugli oggetti corrispondenti dichiarati nelParameters
sezione del file di modello. -
Le voci fornite in una tabella di comandi specifica hanno la precedenza sulle voci di un
global
sezione comando. Ad esempio, supponiamo che il tuo file di configurazione contenga le tabelle e le voci seguenti:[default.global.parameters] stack_name = "common-stack" [default.deploy.parameters] stack_name = "my-app-stack"
In questo caso, il campo
sam deploy
comando utilizza il nome dello stackmy-app-stack
e qualsiasi altro comando (ad esempio,sam logs
) utilizza il nome dello stackcommon-stack
.
Configurazioni di scrittura consam deploy
--guided
Quando esegui ilsam deploy --guided
comando, ilAWS SAMCLI ti guida attraverso la distribuzione con una serie di richieste.
Questi suggerimenti includono la domanda"Save arguments to samconfig.toml
[Y/n]:"
. Se rispondiY
a questo prompt, ilAWS SAMCLI aggiorna il file di configurazione con i valori per ildeploy
comando. Ad esempio, perdefault
ambiente,AWS SAMaggiorna[default.deploy.parameters]
tavolo.
L'elenco delle voci neldeploy
tabella dei comandi cheAWS SAMpuò aggiornare includere quanto segue:
-
stack_name
-
s3_bucket
-
s3_prefix
-
image_repository
-
region
-
confirm_changeset
-
capabilities
-
signing_profiles
-
disable_rollback
-
parameter_overrides
Nota C'è un caso speciale per un file di configurazione che contiene voci per lo stesso parametro in entrambi i
deploy
eglobal
tabelle di comando. In questo caso, se eseguisam deploy --guided
e fornire lo stesso valore per quel parametro delglobal
voce della tabella dei comandi, quindi ildeploy
La voce della tabella dei comandi viene rimossa.Specificando al
sam deploy --guided
richiedi lo stesso valore già specificato nelglobal
tabella dei comandi,AWS SAMpresuppone che si desideri impostare per impostazione predefinita il valore nelglobal
tabella dei comandi.
Regole per i valori predefiniti del prompt guidato
Per controllare i valori predefiniti per le richieste diAWS SAMViene visualizzata la CLI quando si eseguesam deploy --guided
, è possibile specificare i parametri sulla riga di comando o le voci in un file di configurazione esistente.
Le regole per queste richieste sono le seguenti:
-
Se si specificano valori nella riga di comando,AWS SAMCLI utilizza tali valori della riga di comando come valori predefiniti per i prompt corrispondenti.
-
Se esiste un file di configurazione esistente,AWS SAMCLI utilizza le voci della tabella corrispondente in quel file come valori predefiniti per i prompt corrispondenti.
Le regole di precedenza tra la riga di comando e il file di configurazione sono le stesse indicate nellaPrioritàsezione riportata in precedenza in questo argomento.