

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menggunakan Amazon S3 di AWS CLI
<a name="cli-services-s3"></a>


| Pengantar Amazon Simple Storage Service (Amazon S3) | 
| --- | 
|    | 

Anda dapat mengakses fitur Amazon Simple Storage Service (Amazon S3) Simple Storage Service (). AWS Command Line Interface AWS CLI Amazon S3 adalah layanan penyimpanan objek yang sangat skalabel dan tahan lama. Amazon S3 dirancang untuk menyediakan kapasitas penyimpanan yang hampir tidak terbatas, menjadikannya solusi ideal untuk berbagai kebutuhan penyimpanan dan manajemen data.

Amazon S3 memungkinkan Anda untuk menyimpan dan mengambil sejumlah data, dari file kecil hingga kumpulan data besar, dalam bentuk objek. Setiap objek disimpan dalam wadah yang disebut ember, yang dapat diakses dan dikelola melalui Konsol Manajemen AWS atau secara terprogram melalui AWS SDKs, alat, dan AWS CLI.

Termasuk penyimpanan dasar, Amazon S3 juga menawarkan berbagai fitur termasuk manajemen siklus hidup, pembuatan versi, skalabilitas, dan keamanan. Ini terintegrasi dengan solusi lain yang Layanan AWS memungkinkan Anda membangun solusi berbasis cloud yang sesuai dengan kebutuhan Anda.

 AWS CLI Ini menyediakan dua tingkatan perintah untuk mengakses Amazon S3:
+ **s3** — Perintah tingkat tinggi khusus yang dibuat khusus untuk AWS CLI yang menyederhanakan melakukan tugas-tugas umum, seperti membuat, memanipulasi, menghapus, dan menyinkronkan objek dan bucket.
+ **s3api** - Mengekspos akses langsung ke semua operasi API Amazon S3 yang memungkinkan Anda untuk melakukan operasi lanjutan.

**Topics**
+ [Menggunakan perintah tingkat tinggi (s3) di AWS CLI](cli-services-s3-commands.md)
+ [Menggunakan perintah API-level (s3api) di AWS CLI](cli-services-s3-apicommands.md)
+ [Contoh skrip untuk siklus hidup bucket Amazon S3 di AWS CLI](cli-services-s3-lifecycle-example.md)

# Menggunakan perintah tingkat tinggi (s3) di AWS CLI
<a name="cli-services-s3-commands"></a>

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

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

**Topics**
+ [Prasyarat](#using-s3-commands-prereqs)
+ [Sebelum Anda mulai](#using-s3-commands-before)
+ [Membuat bucket](#using-s3-commands-managing-buckets-creating)
+ [Daftar ember dan benda](#using-s3-commands-listing-buckets)
+ [Hapus ember](#using-s3-commands-delete-buckets)
+ [Hapus objek](#using-s3-commands-delete-objects)
+ [Pindahkan objek](#using-s3-commands-managing-objects-move)
+ [Menyalin objek](#using-s3-commands-managing-objects-copy)
+ [Sinkronkan objek](#using-s3-commands-managing-objects-sync)
+ [Opsi yang sering digunakan untuk perintah s3](#using-s3-commands-managing-objects-param)
+ [Sumber daya](#using-s3-commands-managing-buckets-references)

## Prasyarat
<a name="using-s3-commands-prereqs"></a>

Untuk menjalankan `s3` perintah, Anda perlu:
+ Instal dan konfigurasikan AWS CLI. Untuk informasi selengkapnya, lihat [Menginstal atau memperbarui ke versi terbaru dari AWS CLI](getting-started-install.md) dan [Otentikasi dan akses kredensional untuk AWS CLI](cli-chap-authentication.md).
+ Profil yang Anda gunakan harus memiliki izin yang memungkinkan AWS operasi dilakukan oleh contoh.
+ Pahami istilah Amazon S3 ini:
  + **Bucket** - Folder Amazon S3 tingkat atas.
  + **Awalan** - Folder Amazon S3 dalam ember.
  + **Objek** - Item apa pun yang di-host di ember Amazon S3.

## Sebelum Anda mulai
<a name="using-s3-commands-before"></a>

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

### Unggahan objek besar
<a name="using-s3-commands-before-large"></a>

Saat Anda menggunakan `aws s3` perintah untuk mengunggah objek besar ke bucket Amazon S3, AWS CLI secara otomatis melakukan pengunggahan multibagian. 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, maka akan AWS CLI menghentikan unggahan 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](https://docs.aws.amazon.com/cli/latest/reference/s3api/abort-multipart-upload.html)

### Properti file dan tag dalam salinan multipart
<a name="using-s3-commands-before-tags"></a>

Saat 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 multibagian](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CopyingObjctsMPUapi.html), tidak ada properti file dari objek sumber yang disalin ke objek tujuan.

Secara default, perintah AWS CLI versi 2 di `s3` namespace yang melakukan salinan multipart mentransfer semua tag dan kumpulan properti berikut dari sumber ke salinan tujuan:`content-type`,,,,`content-language`, `content-encoding` `content-disposition``cache-control`, `expires` dan. `metadata`

Ini dapat menghasilkan panggilan AWS API tambahan ke titik akhir Amazon S3 yang tidak akan dibuat jika Anda menggunakan AWS CLI versi 1. Ini dapat mencakup:`HeadObject`,`GetObjectTagging`, dan`PutObjectTagging`.

Jika Anda perlu mengubah perilaku default ini dalam perintah AWS CLI versi 2, gunakan `--copy-props` parameter untuk menentukan salah satu opsi berikut:
+ **default** — Nilai default. Menentukan bahwa salinan mencakup semua tag yang dilampirkan ke objek sumber dan properti yang dicakup oleh `--metadata-directive` parameter yang digunakan untuk salinan non-multipart:`content-type`,,,,, `content-language``content-encoding`, `content-disposition` dan. `cache-control` `expires` `metadata`
+ **metadata-directive** - Menentukan bahwa salinan hanya mencakup properti yang dicakup oleh parameter yang digunakan untuk salinan non-multipart. `--metadata-directive` Itu tidak menyalin tag apa pun.
+ **none** - Menentukan bahwa salinan termasuk tidak ada properti dari objek sumber.

## Membuat bucket
<a name="using-s3-commands-managing-buckets-creating"></a>

Gunakan 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 periode lain. 

**Sintaksis**

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

### contoh s3 mb
<a name="using-s3-commands-managing-buckets-creating-examples"></a>

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

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

## Daftar ember dan benda
<a name="using-s3-commands-listing-buckets"></a>

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

**Sintaksis**

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

Untuk beberapa opsi umum untuk digunakan dengan perintah ini, dan contoh, lihat[Opsi yang sering digunakan untuk perintah s3](#using-s3-commands-managing-objects-param). Untuk daftar lengkap opsi yang tersedia, lihat di *Referensi AWS CLI Perintah*.

### s3 ls contoh
<a name="using-s3-commands-managing-objects-list-examples"></a>

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 ember. Dalam contoh output ini, awalan `example/` memiliki satu file bernama`MyFile1.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 *bucket-name* disaring oleh awalan*example/*).

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

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

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

Jika Anda memiliki daftar besar ember dan objek, Anda dapat membuat paginasi hasil menggunakan opsi `--max-items` atau`--page-size`. `--max-items`Opsi membatasi berapa banyak total bucket dan objek yang dikembalikan dalam panggilan dan `--page-size` opsi membatasi berapa banyak dari mereka yang tercantum pada halaman.

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

Untuk informasi lebih lanjut tentang pagination, lihat [Cara menggunakan parameter --page-size](cli-usage-pagination.md#cli-usage-pagination-pagesize) dan[Cara menggunakan parameter --max-items](cli-usage-pagination.md#cli-usage-pagination-maxitems).

## Hapus ember
<a name="using-s3-commands-delete-buckets"></a>

Untuk menghapus ember, gunakan perintah. 

**Sintaksis**

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

### contoh s3 rb
<a name="using-s3-commands-removing-buckets-examples"></a>

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 memungkinkan Anda untuk menghapus bucket.* Anda harus terlebih dahulu menghapus semua konten.

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

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

## Hapus objek
<a name="using-s3-commands-delete-objects"></a>

Untuk menghapus objek dalam ember atau direktori lokal Anda, gunakan perintah. 

**Sintaksis**

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

Untuk beberapa opsi umum untuk digunakan dengan perintah ini, dan contoh, lihat[Opsi yang sering digunakan untuk perintah s3](#using-s3-commands-managing-objects-param). Untuk daftar lengkap opsi, lihat di *Referensi AWS CLI Perintah*.

### s3 rm contoh
<a name="using-s3-commands-delete-objects-examples"></a>

Contoh berikut menghapus `filename.txt` dari`s3://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
<a name="using-s3-commands-managing-objects-move"></a>

Gunakan perintah untuk memindahkan objek dari ember atau direktori lokal. `s3 mv`Perintah menyalin objek sumber atau file ke tujuan yang ditentukan dan kemudian menghapus objek sumber atau file.

**Sintaksis**

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

Untuk beberapa opsi umum untuk digunakan dengan perintah ini, dan contoh, lihat[Opsi yang sering digunakan untuk perintah s3](#using-s3-commands-managing-objects-param). Untuk daftar lengkap opsi yang tersedia, lihat di *Referensi AWS CLI Perintah*.

**Awas**  
Jika Anda menggunakan semua jenis titik akses ARNs atau alias titik akses di sumber atau tujuan Amazon S3 Anda, Anda harus berhati-hati agar sumber dan URIs tujuan Amazon URIs S3 Anda menyelesaikan 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 sumber atau objek 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`` ke`true`.

### s3 mv contoh
<a name="using-s3-commands-managing-objects-move-examples"></a>

Contoh berikut memindahkan semua objek dari `s3://amzn-s3-demo-bucket/example` ke`s3://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 perintah. `s3 mv`

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

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

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

## Menyalin objek
<a name="using-s3-commands-managing-objects-copy"></a>

Gunakan perintah untuk menyalin objek dari ember atau direktori lokal. 

**Sintaksis**

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

Anda dapat menggunakan parameter dasbor 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.

`s3 cp`Perintah menggunakan sintaks berikut untuk mengunggah aliran file dari `stdin` bucket tertentu.

**Sintaksis**

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

`s3 cp`Perintah menggunakan sintaks berikut untuk mengunduh aliran file Amazon S3 untuk. `stdout`

**Sintaksis**

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

Untuk beberapa opsi umum untuk digunakan dengan perintah ini, dan contoh, lihat[Opsi yang sering digunakan untuk perintah s3](#using-s3-commands-managing-objects-param). Untuk daftar lengkap opsi, lihat di *Referensi AWS CLI Perintah*.

### `s3 cp` contoh
<a name="using-s3-commands-managing-objects-copy-examples"></a>

Contoh berikut menyalin semua objek dari `s3://amzn-s3-demo-bucket/example` ke`s3://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 perintah. `s3 cp`

```
$ 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, yang `./` 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` to`stdout`, menggunakan `bzip2` perintah untuk mengompres file, dan mengunggah file terkompresi baru yang diberi nama. `key.bz2` `s3://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
<a name="using-s3-commands-managing-objects-sync"></a>

Perintah menyinkronkan isi ember dan direktori, atau isi dua ember. 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 sumbernya. 

**Sintaksis**

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

Untuk beberapa opsi umum untuk digunakan dengan perintah ini, dan contoh, lihat[Opsi yang sering digunakan untuk perintah s3](#using-s3-commands-managing-objects-param). Untuk daftar lengkap opsi, lihat di *Referensi AWS CLI Perintah*.

### contoh sinkronisasi s3
<a name="using-s3-commands-managing-objects-sync-examples"></a>

Contoh berikut menyinkronkan konten jalur *bernama awalan Amazon S3 di bucket *bernama** amzn-s3-demo-bucket dengan direktori kerja saat ini. 

`s3 sync`memperbarui file apa pun yang memiliki ukuran atau waktu modifikasi yang berbeda dari file dengan nama yang sama di tempat tujuan. Output menampilkan operasi tertentu 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 yang akan dihapus selama `s3 sync` operasi. Dalam hal ini, string parameter harus menentukan file yang akan dikecualikan dari, atau menyertakan 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
<a name="using-s3-commands-managing-objects-param"></a>

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 [versi 2 panduan referensi](https://docs.aws.amazon.com/cli/latest/reference/index.html).

**acl**  
`s3 sync`dan `s3 cp` dapat menggunakan `--acl` opsi. Ini memungkinkan Anda untuk mengatur izin akses untuk file yang disalin ke Amazon S3. `--acl`Opsi menerima`private`,`public-read`, dan `public-read-write` nilai. Untuk informasi selengkapnya, lihat [ACL Kalengan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) di Panduan *Pengguna Amazon S3*.  

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

**mengecualikan**  
Saat Anda menggunakan`s3 cp`,`s3 mv`,`s3 sync`, atau `s3 rm` perintah, Anda dapat memfilter hasil dengan menggunakan `--include` opsi `--exclude` or. `--exclude`Opsi 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 cp`,`s3 mv`,`s3 sync`, atau `s3 rm` perintah, Anda dapat memfilter hasil menggunakan `--include` opsi `--exclude` or. `--include`Opsi 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**  
`s3 sync`Perintah `s3 cp``s3 mv`,, dan 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 mengandung elemen-elemen berikut:  
+ *Permission*- Menentukan izin yang diberikan. Dapat diatur ke`read`,`readacl`,`writeacl`, atau`full`.
+ *Grantee\$1Type*— Menentukan bagaimana mengidentifikasi penerima hibah. Dapat diatur ke`uri`,`emailaddress`, atau`id`.
+ *Grantee\$1ID*— Menentukan penerima hibah berdasarkan. *Grantee\$1Type*
  + `uri`— URI kelompok. Untuk informasi lebih lanjut, lihat [Siapa penerima hibah?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ACLOverview.html#SpecifyingGrantee)
  + `emailaddress`— Alamat email akun.
  + `id`— ID kanonik akun.
Untuk informasi selengkapnya tentang kontrol akses Amazon S3, lihat Kontrol [akses](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingAuthAccess.html).  
Contoh berikut menyalin objek ke dalam ember. Ini memberikan `read` izin pada objek untuk semua orang, dan `full` izin (, `read``readacl`, dan`writeacl`) ke akun yang terkait dengan. `user@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_REDUNDANCY`atau`STANDARD_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
```

**tidak menimpa**  
`s3 sync`Perintah `s3 cp``s3 mv`,, dan menyertakan `--no-overwrite` opsi yang dapat Anda gunakan untuk mencegah penimpaan objek yang sudah ada di tujuan.  
Contoh berikut menyalin objek dari bucket ke direktori lokal hanya jika belum ada di direktori lokal.  

```
$ aws s3 cp --no-overwrite s3://amzn-s3-demo-bucket/file.txt file.txt
```
Contoh berikut secara rekursif menyalin file dari direktori lokal ke bucket. Ini hanya akan menyalin file yang belum ada di ember.  

```
$ aws s3 cp --recursive --no-overwrite /path/to/demo-files/ s3://amzn-s3-demo-bucket/demo-files/
```
Contoh berikut memindahkan objek dari direktori lokal ke bucket hanya jika objek tersebut belum ada di lokasi tujuan bucket.  

```
$ aws s3 mv --no-overwrite file.txt s3://amzn-s3-demo-bucket/file.txt
```
Contoh berikut menyinkronkan file dari direktori lokal ke bucket. Ini hanya akan menyinkronkan file yang belum ada di bucket tujuan.  

```
$ aws s3 sync --no-overwrite /path/to/demo-files/ s3://amzn-s3-demo-bucket/demo-files/
```

**rekursif**  
Bila 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
<a name="using-s3-commands-managing-buckets-references"></a>

**AWS CLI Referensi:**
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/index.html](https://docs.aws.amazon.com/cli/latest/reference/s3/index.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html](https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/mb.html](https://docs.aws.amazon.com/cli/latest/reference/s3/mb.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/mv.html](https://docs.aws.amazon.com/cli/latest/reference/s3/mv.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html](https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/rb.html](https://docs.aws.amazon.com/cli/latest/reference/s3/rb.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/rm.html](https://docs.aws.amazon.com/cli/latest/reference/s3/rm.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html)

**Referensi layanan:**
+ [Bekerja dengan bucket Amazon S3](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingBucket.html) *di Panduan Pengguna Amazon S3*
+ [Bekerja dengan objek Amazon S3 di Panduan](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingObjects.html) Pengguna *Amazon S3*
+ [Kunci daftar secara hierarkis menggunakan awalan dan pembatas dalam Panduan Pengguna](https://docs.aws.amazon.com//AmazonS3/latest/userguide/ListingKeysHierarchy.html) *Amazon S3*
+ [https://docs.aws.amazon.com//AmazonS3/latest/userguide/LLAbortMPUnet.html](https://docs.aws.amazon.com//AmazonS3/latest/userguide/LLAbortMPUnet.html)

# Menggunakan perintah API-level (s3api) di AWS CLI
<a name="cli-services-s3-apicommands"></a>

Perintah API-level (terkandung dalam set `s3api` perintah) menyediakan akses langsung ke Amazon Simple Storage Service (Amazon APIs S3), dan mengaktifkan beberapa operasi yang tidak diekspos dalam perintah tingkat tinggi. `s3` Perintah ini setara dengan AWS layanan lain yang menyediakan akses tingkat API ke fungsionalitas layanan. Untuk informasi selengkapnya tentang `s3` perintah, lihat [Menggunakan perintah tingkat tinggi (s3) di AWS CLI](cli-services-s3-commands.md)

Topik ini memberikan contoh yang menunjukkan cara menggunakan perintah tingkat rendah yang dipetakan ke Amazon S3. APIs Selain itu, Anda dapat menemukan contoh untuk setiap perintah API S3 di `s3api` bagian [referensi](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html).

**Topics**
+ [Prasyarat](#cli-services-s3-apicommands-prereqs)
+ [Menerapkan ACL kustom](#cli-services-s3-apicommands-acls)
+ [Konfigurasikan kebijakan pencatatan](#cli-services-s3-apicommands-logpol)
+ [Sumber daya](#cli-services-s3-apicommands-resources)

## Prasyarat
<a name="cli-services-s3-apicommands-prereqs"></a>

Untuk menjalankan `s3api` perintah, Anda perlu:
+ Instal dan konfigurasikan AWS CLI. Untuk informasi selengkapnya, lihat [Menginstal atau memperbarui ke versi terbaru dari AWS CLI](getting-started-install.md) dan [Otentikasi dan akses kredensional untuk AWS CLI](cli-chap-authentication.md).
+ Profil yang Anda gunakan harus memiliki izin yang memungkinkan AWS operasi dilakukan oleh contoh.
+ Pahami istilah Amazon S3 ini:
  + **Bucket** - Folder Amazon S3 tingkat atas.
  + **Awalan** - Folder Amazon S3 dalam ember.
  + **Objek** - Item apa pun yang di-host di ember Amazon S3.

## Menerapkan ACL kustom
<a name="cli-services-s3-apicommands-acls"></a>

Dengan perintah tingkat tinggi, Anda dapat menggunakan `--acl` opsi untuk menerapkan daftar kontrol akses (ACLs) yang telah ditentukan sebelumnya ke objek Amazon S3. Tetapi Anda tidak dapat menggunakan perintah itu untuk mengatur lebar ember ACLs. Namun, Anda dapat melakukan ini dengan menggunakan perintah `` `[put-bucket-acl](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-acl.html)` API-level. 

Contoh berikut menunjukkan cara memberikan kontrol penuh kepada dua AWS pengguna (*user1@example.com* dan *user2@example.com*) dan izin baca untuk semua orang. Pengidentifikasi untuk “semua orang” berasal dari URI khusus yang Anda lewati sebagai parameter.

```
$ aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --grant-full-control 'emailaddress="user1@example.com",emailaddress="user2@example.com"' --grant-read 'uri="http://acs.amazonaws.com/groups/global/AllUsers"'
```

Untuk detail tentang cara membuat ACLs, lihat [PUT Bucket acl](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html) di Referensi *API Amazon Simple Storage Service*. Perintah `s3api` ACL di CLI, `put-bucket-acl` seperti, menggunakan notasi argumen [singkatan yang sama](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-shorthand.html).

## Konfigurasikan kebijakan pencatatan
<a name="cli-services-s3-apicommands-logpol"></a>

Perintah API `put-bucket-logging` mengonfigurasi kebijakan pencatatan bucket. 

Dalam contoh berikut, AWS pengguna *user@example.com* diberikan kontrol penuh atas file log, dan semua pengguna telah membaca akses ke file tersebut. Perhatikan bahwa `put-bucket-acl` perintah juga diperlukan untuk memberikan sistem pengiriman log Amazon S3 (ditentukan oleh URI) izin yang diperlukan untuk membaca dan menulis log ke bucket.

```
$ aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --grant-read-acp 'URI="http://acs.amazonaws.com/groups/s3/LogDelivery"' --grant-write 'URI="http://acs.amazonaws.com/groups/s3/LogDelivery"'
$ aws s3api put-bucket-logging --bucket amzn-s3-demo-bucket --bucket-logging-status file://logging.json
```

`logging.json`File dalam perintah sebelumnya memiliki konten berikut.

```
{
  "LoggingEnabled": {
    "TargetBucket": "amzn-s3-demo-bucket",
    "TargetPrefix": "amzn-s3-demo-bucketLogs/",
    "TargetGrants": [
      {
        "Grantee": {
          "Type": "AmazonCustomerByEmail",
          "EmailAddress": "user@example.com"
        },
        "Permission": "FULL_CONTROL"
      },
      {
        "Grantee": {
          "Type": "Group",
          "URI": "http://acs.amazonaws.com/groups/global/AllUsers"
        },
        "Permission": "READ"
      }
    ]
  }
}
```

## Sumber daya
<a name="cli-services-s3-apicommands-resources"></a>

**AWS CLI Referensi:**
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-acl.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-acl.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-logging.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-logging.html)

**Referensi layanan:**
+ [Bekerja dengan bucket Amazon S3](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingBucket.html) *di Panduan Pengguna Amazon S3*
+ [Bekerja dengan objek Amazon S3 di Panduan](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingObjects.html) Pengguna *Amazon S3*
+ [Kunci daftar secara hierarkis menggunakan awalan dan pembatas dalam Panduan Pengguna](https://docs.aws.amazon.com//AmazonS3/latest/userguide/ListingKeysHierarchy.html) *Amazon S3*
+ [https://docs.aws.amazon.com//AmazonS3/latest/userguide/LLAbortMPUnet.html](https://docs.aws.amazon.com//AmazonS3/latest/userguide/LLAbortMPUnet.html)

# Contoh skrip untuk siklus hidup bucket Amazon S3 di AWS CLI
<a name="cli-services-s3-lifecycle-example"></a>

Topik ini menggunakan contoh skrip bash untuk operasi siklus hidup bucket Amazon S3 menggunakan (). AWS Command Line Interface AWS CLI Contoh scripting ini menggunakan set perintah. Skrip Shell adalah program yang dirancang untuk berjalan di antarmuka baris perintah.

**Topics**
+ [Sebelum Anda mulai](#cli-services-s3-lifecycle-example-before)
+ [Tentang contoh ini](#cli-services-s3-lifecycle-example-about)
+ [Berkas](#cli-services-s3-lifecycle-example-files)
+ [Referensi](#cli-services-s3-lifecycle-example-references)

## Sebelum Anda mulai
<a name="cli-services-s3-lifecycle-example-before"></a>

Sebelum Anda dapat menjalankan salah satu contoh di bawah ini, hal-hal berikut perlu diselesaikan.
+ Instal dan konfigurasikan AWS CLI. Untuk informasi selengkapnya, lihat [Menginstal atau memperbarui ke versi terbaru dari AWS CLI](getting-started-install.md) dan [Otentikasi dan akses kredensional untuk AWS CLI](cli-chap-authentication.md).
+ Profil yang Anda gunakan harus memiliki izin yang memungkinkan AWS operasi dilakukan oleh contoh.
+ Sebagai praktik AWS terbaik, berikan kode ini hak istimewa paling sedikit, atau hanya izin yang diperlukan untuk melakukan tugas. Untuk informasi lebih lanjut, lihat [Berikan hak istimewa terkecil](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) dalam *Panduan Pengguna IAM*.
+ Kode ini belum diuji di semua AWS Wilayah. Beberapa AWS layanan hanya tersedia di Wilayah tertentu. Untuk informasi selengkapnya, lihat [Titik Akhir Layanan dan Kuota di Panduan](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) *Referensi AWS Umum*. 
+ Menjalankan kode ini dapat mengakibatkan biaya ke AWS akun Anda. Adalah tanggung jawab Anda untuk memastikan bahwa sumber daya apa pun yang dibuat oleh skrip ini dihapus ketika Anda selesai dengan mereka. 

Layanan Amazon S3 menggunakan istilah berikut:
+ Bucket - Folder Amazon S3 tingkat atas.
+ Awalan - Folder Amazon S3 dalam ember.
+ Objek - Item apa pun yang dihosting di ember Amazon S3.

## Tentang contoh ini
<a name="cli-services-s3-lifecycle-example-about"></a>

Contoh ini menunjukkan bagaimana berinteraksi dengan beberapa operasi Amazon S3 dasar menggunakan serangkaian fungsi dalam file skrip shell. Fungsinya terletak di file skrip shell bernama`bucket-operations.sh`. Anda dapat memanggil fungsi-fungsi ini di file lain. Setiap file skrip berisi komentar yang menjelaskan masing-masing fungsi.

Untuk melihat hasil antara setiap langkah, jalankan skrip dengan `-i` parameter. Anda dapat melihat status bucket saat ini atau isinya menggunakan konsol Amazon S3. Script hanya melanjutkan ke langkah berikutnya ketika Anda menekan **enter** pada prompt. 

*Untuk contoh lengkap dan file skrip yang dapat diunduh, lihat Operasi [Siklus Hidup Bucket Amazon S3 di](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/aws-cli/bash-linux/s3/bucket-lifecycle-operations) Repositori Contoh Kode AWS . *GitHub**

## Berkas
<a name="cli-services-s3-lifecycle-example-files"></a>

Contoh berisi file-file berikut:

**bucket-operations.sh**  
File skrip utama ini dapat bersumber dari file lain. Ini termasuk fungsi yang melakukan tugas-tugas berikut:  
+ Membuat ember dan memverifikasi bahwa itu ada
+ Menyalin file dari komputer lokal ke ember
+ Menyalin file dari satu lokasi bucket ke lokasi bucket yang berbeda
+ Daftar isi ember
+ Menghapus file dari ember
+ Menghapus bucket
Lihat kode untuk `[bucket-operations.sh](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/aws-cli/bash-linux/s3/bucket-lifecycle-operations/bucket_operations.sh)` aktif *GitHub*.

**test-bucket-operations.sh**  
File skrip shell `test-bucket-operations.sh` menunjukkan cara memanggil fungsi dengan mencari `bucket-operations.sh` file dan memanggil masing-masing fungsi. Setelah memanggil fungsi, skrip pengujian menghapus semua sumber daya yang dibuatnya.   
Lihat kode untuk `[test-bucket-operations.sh](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/aws-cli/bash-linux/s3/bucket-lifecycle-operations/test_bucket_operations.sh)` aktif *GitHub*.

**awsdocs-general.sh**  
File skrip `awsdocs-general.sh` menyimpan fungsi tujuan umum yang digunakan di seluruh contoh kode lanjutan untuk file AWS CLI.  
Lihat kode untuk `[awsdocs-general.sh](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/aws-cli/bash-linux/s3/bucket-lifecycle-operations/awsdocs_general.sh)` aktif *GitHub*.

## Referensi
<a name="cli-services-s3-lifecycle-example-references"></a>

**AWS CLI referensi:**
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/create-bucket.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/create-bucket.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-bucket.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-bucket.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/head-bucket.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/head-bucket.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/list-objects.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/list-objects.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object.html)

**Referensi lainnya:**
+ [Bekerja dengan bucket Amazon S3](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingBucket.html) *di Panduan Pengguna Amazon S3*
+ [Bekerja dengan objek Amazon S3 di Panduan](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingObjects.html) Pengguna *Amazon S3*
+ Untuk melihat dan berkontribusi pada AWS SDK dan contoh AWS CLI kode, lihat [Repositori Contoh AWS Kode](https://github.com/awsdocs/aws-doc-sdk-examples/) di. *GitHub*