Dokumentasi ini AWS CLI hanya untuk Versi 1. Untuk dokumentasi yang terkait dengan Versi 2 AWS CLI, lihat Panduan Pengguna Versi 2.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memuat parameter dari file di AWS CLI
Beberapa parameter mengharapkan nama file sebagai argumen, dari mana AWS CLI memuat data. Parameter lain memungkinkan Anda untuk menentukan nilai parameter sebagai teks yang diketik pada baris perintah atau membaca dari file. Apakah file diperlukan atau opsional, Anda harus menyandikan file dengan benar sehingga AWS CLI dapat memahaminya. Pengkodean file harus sesuai dengan lokal default sistem pembacaan. Anda dapat menentukan ini dengan menggunakan metode Pythonlocale.getpreferredencoding()
.
catatan
Secara default, Windows PowerShell mengeluarkan teks sebagai UTF -16, yang bertentangan dengan pengkodean UTF -8 yang digunakan oleh JSON file dan banyak sistem Linux. Kami menyarankan Anda menggunakan -Encoding ascii
dengan PowerShell Out-File
perintah Anda untuk memastikan AWS CLI dapat membaca file yang dihasilkan.
Cara memuat parameter dari file
Terkadang lebih mudah untuk memuat nilai parameter dari file alih-alih mencoba mengetikkan semuanya sebagai nilai parameter baris perintah, seperti ketika parameternya adalah JSON string yang kompleks. Untuk menentukan file yang berisi nilai, tentukan file URL dalam format berikut.
file://
complete/path/to/file
-
Dua karakter garis miring '/' pertama adalah bagian dari spesifikasi. Jika jalur yang diperlukan dimulai dengan '/', hasilnya adalah tiga karakter garis miring:
file://
./folder/file
-
URLMenyediakan path ke file yang berisi konten parameter yang sebenarnya.
-
Saat menggunakan file dengan spasi atau karakter khusus, ikuti aturan mengutip dan melarikan diri untuk terminal Anda.
catatan
Perilaku ini dinonaktifkan secara otomatis untuk parameter yang sudah mengharapkanURL, seperti parameter yang mengidentifikasi AWS CloudFormation templateURL. Anda juga dapat menonaktifkan perilaku ini dengan menonaktifkan cli_follow_urlparampengaturan dalam file AWS CLI konfigurasi Anda.
Jalur file dalam contoh berikut ditafsirkan relatif terhadap direktori kerja saat ini.
Opsi file://
awalan mendukung ekspansi bergaya Unix, termasuk "~/
“," “, dan"”./
. ../
Pada Windows, ekspresi ~/
"" meluas ke direktori pengguna Anda, disimpan dalam variabel %USERPROFILE%
lingkungan. Misalnya, pada Windows 10 Anda biasanya memiliki direktori pengguna di bawahC:\Users\
.UserName
\
Anda masih harus keluar dari JSON dokumen yang disematkan sebagai nilai JSON dokumen lain.
$
aws sqs create-queue --queue-name my-queue --attributes
file://attributes.json
attributes.json
{ "RedrivePolicy": "{
\
"deadLetterTargetArn\
":\
"arn:aws:sqs:us-west-2:0123456789012:deadletter\
",\
"maxReceiveCount\
":\
"5\
"}" }
File biner
Untuk perintah yang mengambil data biner sebagai parameter, tentukan bahwa data tersebut adalah konten biner dengan menggunakan fileb://
awalan. Perintah yang menerima data biner meliputi:
-
aws ec2 run-instances:
--user-data
parameter. -
aws s3api put-object:
--sse-customer-key
parameter. -
aws kms decrypt:
--ciphertext-blob
parameter.
Contoh berikut menghasilkan AES kunci biner 256-bit menggunakan alat baris perintah Linux, dan kemudian menyediakannya ke Amazon S3 untuk mengenkripsi sisi server file yang diunggah.
$
dd if=/dev/urandom bs=1 count=32 > sse.key
32+0 records in 32+0 records out 32 bytes (32 B) copied, 0.000164441 s, 195 kB/s
$
aws s3api put-object \ --bucket amzn-s3-demo-bucket \ --key test.txt \ --body test.txt \
--sse-customer-key fileb://sse.key
\ --sse-customer-algorithm AES256{ "SSECustomerKeyMD5": "iVg8oWa8sy714+FjtesrJg==", "SSECustomerAlgorithm": "AES256", "ETag": "\"a6118e84b76cf98bf04bbe14b6045c6c\"" }
File jarak jauh
Ini AWS CLI juga mendukung pemuatan parameter dari file yang dihosting di internet dengan file http://
atau https://
URL. Contoh berikut mereferensikan file yang disimpan dalam bucket Amazon S3. Ini memungkinkan Anda untuk mengakses file parameter dari komputer mana pun, tetapi itu mengharuskan wadah dapat diakses publik.
$
aws ec2 run-instances \ --image-id ami-12345678 \ --block-device-mappings
http://amzn-s3-demo-bucket.s3.amazonaws.com/filename.json
Contoh sebelumnya mengasumsikan bahwa file filename.json
berisi data berikut. JSON
[ { "DeviceName": "/dev/sdb", "Ebs": { "VolumeSize": 20, "DeleteOnTermination": false, "VolumeType": "standard" } } ]
Untuk contoh lain yang mereferensikan file yang berisi parameter JSON -formatted, lihat. Melampirkan kebijakan IAM terkelola ke pengguna