View a markdown version of this page

Menggunakan perintah tingkat tinggi (s3) di AWS CLI - AWS Command Line Interface

Dokumentasi ini AWS CLI hanya untuk Versi 1.

Kami mengumumkan akhir dukungan yang akan datang untuk AWS CLI versi 1. Kami menyarankan Anda bermigrasi ke AWS CLI versi 2. Untuk tanggal, detail tambahan, dan informasi tentang cara bermigrasi, lihat pengumuman. 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.

Menggunakan perintah tingkat tinggi (s3) di AWS CLI

Topik ini menjelaskan beberapa perintah yang dapat Anda gunakan untuk mengelola bucket dan objek Amazon S3 menggunakan aws s3 perintah di AWS CLI. Untuk perintah yang tidak tercakup dalam topik ini dan contoh perintah tambahan, lihat aws s3 perintah di AWS CLI Referensi.

Per aws s3 intah tingkat tinggi menyederhanakan pengelolaan objek Amazon S3. Perintah ini memungkinkan Anda mengelola konten Amazon S3 dalam dirinya sendiri dan dengan direktori lokal.

Prasyarat

Untuk menjalankan s3 perintah, Anda perlu:

Sebelum Anda mulai

Bagian ini menjelaskan beberapa hal yang perlu diperhatikan sebelum Anda menggunakan aws s3 perintah.

Unggahan objek besar

Saat Anda menggunakan aws s3 perintah untuk mengunggah objek besar ke bucket Amazon S3, secara AWS CLI otomatis melakukan upload multipart. Anda tidak dapat melanjutkan unggahan yang gagal saat menggunakan aws s3 perintah ini.

Jika unggahan multipart gagal karena batas waktu, atau jika Anda membatalkan secara manual AWS CLI, pengunggahan AWS CLI akan berhenti dan membersihkan file apa pun yang dibuat. Proses ini dapat memakan waktu beberapa menit.

Jika proses upload atau pembersihan multipart dibatalkan oleh perintah kill atau kegagalan sistem, file yang dibuat tetap berada di bucket Amazon S3. Untuk membersihkan unggahan multipart, gunakan perintah s3api abort-multipart-upload s3api abort-

Properti file dan tag dalam salinan multibagian

Bila Anda menggunakan perintah AWS CLI versi 1 di aws s3 namespace untuk menyalin file dari satu lokasi bucket Amazon S3 ke lokasi bucket Amazon S3 lainnya, dan operasi tersebut menggunakan salinan multipart, tidak ada properti file dari objek sumber yang disalin ke objek tujuan.

Membuat bucket

Gunakan s3 mb perintah untuk membuat ember. Nama bucket harus unik secara global (unik di semua Amazon S3) dan harus sesuai dengan DNS.

Nama bucket dapat berisi huruf kecil, angka, tanda hubung, dan titik. Nama bucket dapat dimulai dan diakhiri hanya dengan huruf atau angka, dan tidak dapat berisi titik di sebelah tanda hubung atau titik lainnya.

Sintaksis

$ aws s3 mb <target> [--options]

Contoh berikut membuat s3://amzn-s3-demo-bucket bucket.

$ aws s3 mb s3://amzn-s3-demo-bucket

Daftar bucket dan objek

Untuk membuat daftar bucket, folder, atau objek Anda, gunakan s3 ls perintah. Menggunakan perintah tanpa target atau opsi mencantumkan semua bucket.

Sintaksis

$ aws s3 ls <target> [--options]

Untuk beberapa opsi umum yang digunakan dengan perintah ini, dan contoh, lihatOpsi yang sering digunakan untuk perintah s3. Untuk daftar lengkap opsi yang tersedia, lihat s3 ls di Referensi AWS CLI Perintah.

Contoh berikut mencantumkan semua bucket Amazon S3 Anda.

$ aws s3 ls 2018-12-11 17:08:50 amzn-s3-demo-bucket1 2018-12-14 14:55:44 amzn-s3-demo-bucket2

Perintah berikut mencantumkan semua objek dan awalan dalam bucket. Dalam contoh output ini, awalan example/ memiliki satu file bernamaMyFile1.txt.

$ aws s3 ls s3://amzn-s3-demo-bucket PRE example/ 2018-12-04 19:05:48 3 MyFile1.txt

Anda dapat memfilter output ke awalan tertentu dengan memasukkannya ke dalam perintah. Perintah berikut mencantumkan objek di bucket-name/example/ (yaitu, objek yang di bucket-name filter oleh awalanexample/).

$ aws s3 ls s3://amzn-s3-demo-bucket/example/ 2018-12-06 18:59:32 3 MyFile1.txt

Untuk menampilkan hanya bucket dan objek di wilayah tertentu, gunakan --region opsi

$ aws s3 ls --region us-east-2 2018-12-06 18:59:32 3 MyFile1.txt

Jika Anda memiliki daftar besar bucket dan objek, Anda dapat membuat halaman hasil menggunakan --page-size opsi --max-items atau. --max-itemsOpsi membatasi berapa banyak bucket dan objek yang dikembalikan dalam panggilan dan --page-size opsi membatasi berapa banyak dari mereka yang terdaftar di halaman.

$ aws s3 ls --max-items 100 --page-size 10

Untuk informasi lebih lanjut tentang pagination, lihat Cara menggunakan parameter --page-size danCara menggunakan parameter --max-items.

Hapus bucket

Untuk menghapus bucket, gunakan s3 rb perintah.

Sintaksis

$ aws s3 rb <target> [--options]

Contoh berikut menghapus s3://amzn-s3-demo-bucket ember.

$ aws s3 rb s3://amzn-s3-demo-bucket

Secara default, bucket harus kosong agar operasi berhasil. Untuk menghapus ember yang tidak kosong, Anda harus menyertakan --force opsi. Jika Anda menggunakan bucket berversi yang berisi objek yang sebelumnya dihapus—tetapi dipertahankan—, perintah ini tidak mengizinkan Anda untuk menghapus bucket. Anda harus terlebih dahulu menghapus semua konten.

Contoh berikut menghapus semua objek dan awalan dalam bucket, dan kemudian menghapus bucket.

$ aws s3 rb s3://amzn-s3-demo-bucket --force

Hapus objek

Untuk menghapus objek dalam bucket atau direktori lokal Anda, gunakan s3 rm perintah.

Sintaksis

$ aws s3 rm <target> [--options]

Untuk beberapa opsi umum yang digunakan dengan perintah ini, dan contoh, lihatOpsi yang sering digunakan untuk perintah s3. Untuk daftar lengkap opsi, lihat s3 rm di Referensi AWS CLI Perintah.

Contoh berikut menghapus filename.txt daris3://amzn-s3-demo-bucket/example.

$ aws s3 rm s3://amzn-s3-demo-bucket/example/filename.txt

Contoh berikut menghapus semua objek dari s3://amzn-s3-demo-bucket/example menggunakan --recursive opsi.

$ aws s3 rm s3://amzn-s3-demo-bucket/example --recursive

Pindahkan objek

Gunakan s3 mv perintah untuk memindahkan objek dari bucket atau direktori lokal. Per s3 mv intah menyalin objek atau file sumber ke tujuan yang ditentukan dan kemudian menghapus objek atau file sumber.

Sintaksis

$ aws s3 mv <source> <target> [--options]

Untuk beberapa opsi umum yang digunakan dengan perintah ini, dan contoh, lihatOpsi yang sering digunakan untuk perintah s3. Untuk daftar lengkap opsi yang tersedia, lihat s3 mv di Referensi AWS CLI Perintah.

Awas

Jika Anda menggunakan jenis ARN titik akses atau alias titik akses apa pun di sumber Amazon S3 atau URI tujuan, Anda harus berhati-hati agar URI Amazon S3 sumber dan tujuan Anda diselesaikan ke bucket dasar yang berbeda. Jika bucket sumber dan tujuan sama, file sumber atau objek dapat dipindahkan ke dirinya sendiri, yang dapat mengakibatkan penghapusan file atau objek sumber Anda secara tidak sengaja. Untuk memverifikasi bahwa bucket sumber dan tujuan tidak sama, gunakan --validate-same-s3-paths parameter, atau atur variabel lingkungan AWS_CLI_S3_MV_VALIDATE_SAME_S3_PATHS ketrue.

Contoh berikut memindahkan semua objek dari s3://amzn-s3-demo-bucket/example kes3://amzn-s3-demo-bucket/.

$ aws s3 mv s3://amzn-s3-demo-bucket/example s3://amzn-s3-demo-bucket/

Contoh berikut memindahkan file lokal dari direktori kerja Anda saat ini ke bucket Amazon S3 dengan s3 mv perintah.

$ aws s3 mv filename.txt s3://amzn-s3-demo-bucket

Contoh berikut memindahkan file dari bucket Amazon S3 Anda ke direktori kerja Anda saat ini, di mana ./ menentukan direktori kerja Anda saat ini.

$ aws s3 mv s3://amzn-s3-demo-bucket/filename.txt ./

Menyalin objek

Gunakan s3 cp perintah untuk menyalin objek dari bucket atau direktori lokal.

Sintaksis

$ aws s3 cp <source> <target> [--options]

Anda dapat menggunakan parameter dash untuk streaming file ke input standar (stdin) atau output standar (stdout).

Awas

Jika Anda menggunakan PowerShell, shell mungkin mengubah pengkodean CRLF atau menambahkan CRLF ke input atau output pipa, atau output yang dialihkan.

Per s3 cp intah menggunakan sintaks berikut untuk mengunggah aliran file dari stdin ke bucket tertentu.

Sintaksis

$ aws s3 cp - <target> [--options]

Per s3 cp intah menggunakan sintaks berikut untuk mengunduh aliran file Amazon S3 untukstdout.

Sintaksis

$ aws s3 cp <target> [--options] -

Untuk beberapa opsi umum yang digunakan dengan perintah ini, dan contoh, lihatOpsi yang sering digunakan untuk perintah s3. Untuk daftar lengkap opsi, lihat s3 cp di Referensi AWS CLI Perintah.

Contoh berikut menyalin semua objek dari s3://amzn-s3-demo-bucket/example kes3://amzn-s3-demo-bucket/.

$ aws s3 cp s3://amzn-s3-demo-bucket/example s3://amzn-s3-demo-bucket/

Contoh berikut menyalin file lokal dari direktori kerja Anda saat ini ke bucket Amazon S3 dengan s3 cp perintah.

$ aws s3 cp filename.txt s3://amzn-s3-demo-bucket

Contoh berikut menyalin file dari bucket Amazon S3 Anda ke direktori kerja Anda saat ini, di mana ./ menentukan direktori kerja Anda saat ini.

$ aws s3 cp s3://amzn-s3-demo-bucket/filename.txt ./

Contoh berikut menggunakan echo untuk mengalirkan teks “hello world” ke s3://bucket-name/filename.txt file.

$ echo "hello world" | aws s3 cp - s3://amzn-s3-demo-bucket/filename.txt

Contoh berikut mengalirkan s3://amzn-s3-demo-bucket/filename.txt file ke stdout dan mencetak konten ke konsol.

$ aws s3 cp s3://amzn-s3-demo-bucket/filename.txt - hello world

Contoh berikut mengalirkan konten s3://bucket-name/pre kestdout, menggunakan bzip2 perintah untuk mengompres file, dan mengunggah file terkompresi baru bernama key.bz2 tos3://bucket-name.

$ aws s3 cp s3://amzn-s3-demo-bucket/pre - | bzip2 --best | aws s3 cp - s3://amzn-s3-demo-bucket/key.bz2

Sinkronkan objek

Per s3 sync intah menyinkronkan isi bucket dan direktori, atau isi dari dua bucket. Biasanya, s3 sync menyalin file atau objek yang hilang atau usang antara sumber dan target. Namun, Anda juga dapat menyediakan --delete opsi untuk menghapus file atau objek dari target yang tidak ada di sumber.

Sintaksis

$ aws s3 sync <source> <target> [--options]

Untuk beberapa opsi umum yang digunakan dengan perintah ini, dan contoh, lihatOpsi yang sering digunakan untuk perintah s3. Untuk daftar lengkap opsi, lihat s3 sync di Referensi AWS CLI Perintah.

Contoh berikut menyinkronkan isi awalan Amazon S3 bernama path dalam bucket bernama amzn-s3-dem o-bucket dengan direktori kerja saat ini.

s3 syncmemperbarui file apa pun yang memiliki ukuran atau waktu modifikasi yang berbeda dari file dengan nama yang sama di tujuan. Output menampilkan operasi spesifik yang dilakukan selama sinkronisasi. Perhatikan bahwa operasi secara rekursif menyinkronkan subdirektori MySubdirectory dan isinya dengan. s3://amzn-s3-demo-bucket/path/MySubdirectory

$ aws s3 sync . s3://amzn-s3-demo-bucket/path upload: MySubdirectory\MyFile3.txt to s3://amzn-s3-demo-bucket/path/MySubdirectory/MyFile3.txt upload: MyFile2.txt to s3://amzn-s3-demo-bucket/path/MyFile2.txt upload: MyFile1.txt to s3://amzn-s3-demo-bucket/path/MyFile1.txt

Contoh berikut, yang memperluas yang sebelumnya, menunjukkan cara menggunakan --delete opsi.

// Delete local file $ rm ./MyFile1.txt // Attempt sync without --delete option - nothing happens $ aws s3 sync . s3://amzn-s3-demo-bucket/path // Sync with deletion - object is deleted from bucket $ aws s3 sync . s3://amzn-s3-demo-bucket/path --delete delete: s3://amzn-s3-demo-bucket/path/MyFile1.txt // Delete object from bucket $ aws s3 rm s3://amzn-s3-demo-bucket/path/MySubdirectory/MyFile3.txt delete: s3://amzn-s3-demo-bucket/path/MySubdirectory/MyFile3.txt // Sync with deletion - local file is deleted $ aws s3 sync s3://amzn-s3-demo-bucket/path . --delete delete: MySubdirectory\MyFile3.txt // Sync with Infrequent Access storage class $ aws s3 sync . s3://amzn-s3-demo-bucket/path --storage-class STANDARD_IA

Saat menggunakan --delete opsi, --include opsi --exclude dan dapat memfilter file atau objek untuk dihapus selama s3 sync operasi. Dalam hal ini, string parameter harus menentukan file untuk dikecualikan dari, atau termasuk untuk, penghapusan dalam konteks direktori target atau bucket. Bagian berikut menunjukkan satu contoh.

Assume local directory and s3://amzn-s3-demo-bucket/path currently in sync and each contains 3 files: MyFile1.txt MyFile2.rtf MyFile88.txt ''' // Sync with delete, excluding files that match a pattern. MyFile88.txt is deleted, while remote MyFile1.txt is not. $ aws s3 sync . s3://amzn-s3-demo-bucket/path --delete --exclude "path/MyFile?.txt" delete: s3://amzn-s3-demo-bucket/path/MyFile88.txt ''' // Sync with delete, excluding MyFile2.rtf - local file is NOT deleted $ aws s3 sync s3://amzn-s3-demo-bucket/path . --delete --exclude "./MyFile2.rtf" download: s3://amzn-s3-demo-bucket/path/MyFile1.txt to MyFile1.txt ''' // Sync with delete, local copy of MyFile2.rtf is deleted $ aws s3 sync s3://amzn-s3-demo-bucket/path . --delete delete: MyFile2.rtf

Opsi yang sering digunakan untuk perintah s3

Opsi berikut sering digunakan untuk perintah yang dijelaskan dalam topik ini. Untuk daftar lengkap opsi yang dapat Anda gunakan pada perintah, lihat perintah khusus dalam panduan AWS CLI referensi referensi .

acl

s3 syncdan s3 cp dapat menggunakan --acl opsi. Ini memungkinkan Anda mengatur izin akses untuk file yang disalin ke Amazon S3. --aclOpsi menerimaprivate,public-read, dan public-read-write nilai. Untuk informasi selengkapnya, lihat C anned ACL di Panduan Pengguna Amazon S3.

$ aws s3 sync . s3://amzn-s3-demo-bucket/path --acl public-read
mengecualikan

Saat Anda menggunakan s3 rm perintah s3 cps3 mv,s3 sync,, atau, Anda dapat memfilter hasil dengan menggunakan --include opsi --exclude atau. --excludeOpsi menetapkan aturan untuk hanya mengecualikan objek dari perintah, dan opsi berlaku dalam urutan yang ditentukan. Seperti yang ditunjukkan dalam contoh berikut.

Local directory contains 3 files: MyFile1.txt MyFile2.rtf MyFile88.txt // Exclude all .txt files, resulting in only MyFile2.rtf being copied $ aws s3 cp . s3://amzn-s3-demo-bucket/path --exclude "*.txt" // Exclude all .txt files but include all files with the "MyFile*.txt" format, resulting in, MyFile1.txt, MyFile2.rtf, MyFile88.txt being copied $ aws s3 cp . s3://amzn-s3-demo-bucket/path --exclude "*.txt" --include "MyFile*.txt" // Exclude all .txt files, but include all files with the "MyFile*.txt" format, but exclude all files with the "MyFile?.txt" format resulting in, MyFile2.rtf and MyFile88.txt being copied $ aws s3 cp . s3://amzn-s3-demo-bucket/path --exclude "*.txt" --include "MyFile*.txt" --exclude "MyFile?.txt"
memasukkan

Saat Anda menggunakan s3 rm perintah s3 cps3 mv,s3 sync,, atau, Anda dapat memfilter hasil menggunakan --include opsi --exclude atau. --includeOpsi menetapkan aturan untuk hanya menyertakan objek yang ditentukan untuk perintah, dan opsi berlaku dalam urutan yang ditentukan. Seperti yang ditunjukkan dalam contoh berikut.

Local directory contains 3 files: MyFile1.txt MyFile2.rtf MyFile88.txt // Include all .txt files, resulting in MyFile1.txt and MyFile88.txt being copied $ aws s3 cp . s3://amzn-s3-demo-bucket/path --include "*.txt" // Include all .txt files but exclude all files with the "MyFile*.txt" format, resulting in no files being copied $ aws s3 cp . s3://amzn-s3-demo-bucket/path --include "*.txt" --exclude "MyFile*.txt" // Include all .txt files, but exclude all files with the "MyFile*.txt" format, but include all files with the "MyFile?.txt" format resulting in MyFile1.txt being copied $ aws s3 cp . s3://amzn-s3-demo-bucket/path --include "*.txt" --exclude "MyFile*.txt" --include "MyFile?.txt"
pemberian izin

Per s3 cp intahs3 mv,, dan s3 sync menyertakan --grants opsi yang dapat Anda gunakan untuk memberikan izin pada objek kepada pengguna atau grup tertentu. Atur --grants opsi ke daftar izin menggunakan sintaks berikut. Ganti Permission, Grantee_Type, dan Grantee_ID dengan nilai Anda sendiri.

Sintaksis

--grants Permission=Grantee_Type=Grantee_ID [Permission=Grantee_Type=Grantee_ID ...]

Setiap nilai berisi elemen-elemen berikut:

  • Permission— Menentukan izin yang diberikan. Dapat diatur keread,readacl,writeacl, ataufull.

  • Grantee_Type— Menentukan cara mengidentifikasi penerima hibah. Dapat diatur keuri,emailaddress, atauid.

  • Grantee_ID— Menentukan penerima hibah berdasarkan. Grantee_Type

    • uri— URI grup. Untuk informasi selengkapnya, lihat Siapa penerima hibah?

    • emailaddress— Alamat email akun.

    • id— ID kanonik akun.

Untuk informasi selengkapnya tentang kontrol akses Amazon S3, lihat Kontrol akses.

Contoh berikut menyalin objek ke dalam ember. Ini memberikan read izin pada objek untuk semua orang, dan full izin (read,readacl, danwriteacl) ke akun yang terkait denganuser@example.com.

$ aws s3 cp file.txt s3://amzn-s3-demo-bucket/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers full=emailaddress=user@example.com

Anda juga dapat menentukan kelas penyimpanan nondefault (REDUCED_REDUNDANCYatauSTANDARD_IA) untuk objek yang Anda unggah ke Amazon S3. Untuk melakukan ini, gunakan --storage-class opsi.

$ aws s3 cp file.txt s3://amzn-s3-demo-bucket/ --storage-class REDUCED_REDUNDANCY
rekursif

Saat Anda menggunakan opsi ini, perintah dilakukan pada semua file atau objek di bawah direktori atau awalan yang ditentukan. Contoh berikut menghapus s3://amzn-s3-demo-bucket/path dan semua isinya.

$ aws s3 rm s3://amzn-s3-demo-bucket/path --recursive

Sumber daya

AWS CLI referensi:

Referensi layanan: