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()
.
Metode ini untuk memuat file untuk paramater tunggal. Untuk informasi tentang memuat beberapa parameter dengan satu file, lihatAWS CLI kerangka dan file input di AWS CLI.
catatan
Secara default, Windows PowerShell mengeluarkan teks sebagai UTF-16, yang bertentangan dengan pengkodean UTF-8 yang digunakan oleh file JSON 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.
Topik
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 string JSON yang kompleks. Untuk menentukan file yang berisi nilai, tentukan URL file 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
-
URL menyediakan 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 mengharapkan URL, seperti parameter yang mengidentifikasi URL AWS CloudFormation template. 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 melarikan diri dari dokumen JSON yang disematkan sebagai nilai dokumen JSON 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 kunci AES 256-bit biner 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 https://
URL http://
atau. 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 tersebut filename.json
berisi data JSON berikut.
[ { "DeviceName": "/dev/sdb", "Ebs": { "VolumeSize": 20, "DeleteOnTermination": false, "VolumeType": "standard" } } ]
Untuk contoh lain yang mereferensikan file yang berisi parameter berformat JSON, lihat. Melampirkan kebijakan terkelola IAM ke pengguna
Memuat file sebagai nilai sintaks singkatan
Bila menggunakan sintaks singkatan di mana nilai besar atau kompleks, seringkali lebih mudah untuk memuat dalam file sebagai nilai. Untuk memuat file sebagai nilai sintaks singkatan, pemformatan akan sedikit berubah. Alih-alih key=value
Anda akan menggunakan @=
operator alih-alih =
operator. @=
Menandakan AWS CLI bahwa nilai harus dibaca sebagai jalur file dan bukan string. Contoh berikut menunjukkan pasangan kunci-nilai memuat file untuk nilainya.
Contoh berikut menunjukkan memuat file sertifikat untuk aws
rolesanywhere create-trust-anchor
perintah.
$
aws rolesanywhere create-trust-anchor --name TrustAnchor \ --source sourceData={
x509CertificateData@=file://root-ca.crt
},sourceType="CERTIFICATE_BUNDLE" \ --enabled
Untuk informasi selengkapnya tentang sintaks singkatan, lihat. Menggunakan sintaks singkatan di AWS CLI