Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS SAM CLI berkas konfigurasi
Antarmuka Baris AWS Serverless Application Model Perintah (AWS SAM CLI) mendukung file konfigurasi tingkat proyek yang dapat Anda gunakan untuk mengkonfigurasi AWS SAM CLI nilai parameter perintah.
Untuk dokumentasi tentang membuat dan menggunakan file konfigurasi, lihatMengkonfigurasi AWS SAMCLI.
Topik
Pengaturan file konfigurasi default
AWS SAM menggunakan pengaturan file konfigurasi default berikut:
-
Nama –
samconfig. -
Lokasi — Di akar proyek Anda. Ini adalah lokasi yang sama dengan
template.yamlfile Anda. -
Format —
TOML. Untuk mempelajari lebih lanjut, lihat TOMBdi TOML dokumentasi.
Berikut ini adalah contoh struktur proyek yang mencakup nama file konfigurasi default dan lokasi:
sam-app ├── README.md ├── __init__.py ├── events ├── hello_world ├── samconfig.toml ├── template.yaml └── tests
Berikut ini adalah samconfig.toml file contoh:
... 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
Format file konfigurasi yang didukung
TOMLdan [YAML|YML] format yang didukung. Lihat sintaks dasar berikut:
TOML
version = 0.1 [environment] [environment.command] [environment.command.parameters]option=parameter value
YAML
version: 0.1environment:command: parameters:option:parameter value
Tentukan file konfigurasi
Secara default, AWS SAM CLI mencari file konfigurasi dalam urutan sebagai berikut:
-
File konfigurasi kustom - Jika Anda menggunakan
--config-fileopsi untuk menentukan nama file dan lokasi, AWS SAM CLI Cari file ini terlebih dahulu. -
samconfig.tomlFile default — Ini adalah nama dan format file konfigurasi default, yang terletak di root proyek Anda. Jika Anda tidak menentukan file konfigurasi kustom, AWS SAM CLI mencari file ini selanjutnya. -
samconfig.[yaml|yml]file — Jikasamconfig.tomltidak ada di root proyek Anda, AWS SAM CLI mencari file ini.
Berikut ini adalah contoh menentukan file konfigurasi kustom menggunakan --config-file opsi:
$sam deploy --config-file myconfig.yaml
catatan
--config-fileParameter harus relatif terhadap lokasi file AWS SAM template karena AWS SAM CLI perlu menentukan konteks di mana konfigurasi diterapkan. samconfig.tomlFile mengelola pengaturan konfigurasi untuk versi Anda AWS SAM CLI, dan CLI mencari samconfig.toml file (atau parameter file konfigurasi yang diganti) di relatif folder file. template.yaml
Dasar-dasar file konfigurasi
Lingkungan
Lingkungan adalah pengenal bernama yang berisi seperangkat pengaturan konfigurasi yang unik. Anda dapat memiliki beberapa lingkungan dalam satu AWS SAM aplikasi.
Nama lingkungan default adalahdefault.
Gunakan AWS SAM CLI --config-envpilihan untuk menentukan lingkungan yang akan digunakan.
Perintah
Perintahnya adalah AWS SAM CLI perintah untuk menentukan nilai parameter untuk.
Untuk menentukan nilai parameter untuk semua perintah, gunakan global pengenal.
Saat mereferensikan sebuah AWS SAM CLI perintah, ganti spasi ( ) dan tanda hubung (–) dengan garis bawah (). _ Lihat contoh berikut:
-
build -
local_invoke -
local_start_api
Parameter
Parameter ditentukan sebagai pasangan kunci-nilai.
-
Kuncinya adalah AWS SAM CLI nama opsi perintah.
-
Nilai adalah nilai yang akan ditentukan.
Saat menentukan kunci, gunakan nama opsi perintah bentuk panjang dan ganti tanda hubung (–) dengan garis bawah (). _ Berikut ini adalah beberapa contohnya:
-
region -
stack_name -
template_file
Aturan nilai parameter
TOML
-
Nilai Boolean bisa
trueataufalse. Misalnya,confirm_changeset = true. -
Untuk nilai string, gunakan tanda kutip (
""). Misalnya,region = "us-west-2". -
Untuk nilai daftar, gunakan tanda kutip (
"") dan pisahkan setiap nilai menggunakan spasi (). Sebagai contoh:capabilities = "CAPABILITY_IAM CAPABILITY_NAMED_IAM". -
Untuk nilai yang berisi daftar pasangan kunci-nilai, pasangan adalah spasi-delimited (
) dan nilai setiap pasangan dikelilingi oleh tanda kutip yang dikodekan ().\" \"Misalnya,tags = "project=\"my-application\" stage=\"production\"". -
Untuk nilai parameter yang dapat ditentukan beberapa kali, nilainya adalah array argumen. Sebagai contoh:
image_repositories = ["my-function-1=image-repo-1", "my-function-2=image-repo-2"].
YAML
-
Nilai Boolean bisa
trueataufalse. Misalnya,confirm_changeset: true. -
Untuk entri yang berisi nilai string tunggal, tanda kutip (
"") bersifat opsional. Misalnya,region: us-west-2. Ini termasuk entri yang berisi beberapa pasangan kunci-nilai yang disediakan sebagai string tunggal. Berikut ini adalah contohnya:$sam deploy --tags "foo=bar hello=world"default: deploy: parameters: tags: foo=bar hello=world -
Untuk entri yang berisi daftar nilai, atau entri yang dapat digunakan beberapa kali dalam satu perintah, tentukan sebagai daftar string.
Berikut ini adalah contohnya:
$sam remote invoke --parameter "InvocationType=Event" --parameter "LogType=None"default: remote_invoke: parameters: parameter: - InvocationType=Event - LogType=None
Keutamaan konfigurasi
Saat mengonfigurasi nilai, prioritas berikut terjadi:
-
Nilai parameter yang Anda berikan pada baris perintah lebih diutamakan daripada nilai yang sesuai dalam file konfigurasi dan
Parametersbagian file template. -
Jika
--parameter-overridesopsi digunakan pada baris perintah atau dalam file konfigurasi Anda denganparameter_overrideskunci, nilainya lebih diutamakan daripada nilai diParametersbagian file template. -
Dalam file konfigurasi Anda, entri yang disediakan untuk perintah tertentu lebih diutamakan daripada entri global. Dalam contoh berikut,
sam deployperintah akan menggunakan nama stackmy-app-stack.
Membuat dan memodifikasi file konfigurasi
Membuat file konfigurasi
Saat Anda membuat aplikasi menggunakansam init, samconfig.toml file default dibuat. Anda juga dapat membuat file konfigurasi secara manual.
Memodifikasi file konfigurasi
Anda dapat memodifikasi file konfigurasi secara manual. Juga, selama AWS SAM CLI aliran interaktif, nilai yang dikonfigurasi akan ditampilkan dalam tanda kurung ([ ]). Jika Anda memodifikasi nilai-nilai ini, AWS SAM CLI akan memperbarui file konfigurasi Anda.
Berikut ini adalah contoh aliran interaktif menggunakan sam deploy --guided perintah:
$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
Saat memodifikasi file konfigurasi Anda, AWS SAM CLI menangani nilai-nilai global sebagai berikut:
-
Jika nilai parameter ada di
globalbagian file konfigurasi Anda, AWS SAM CLI tidak menulis nilai ke bagian perintah tertentu. -
Jika nilai parameter ada di kedua bagian perintah
globaldan spesifik, AWS SAM CLI menghapus entri spesifik yang mendukung nilai global.