

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

# Membuat, mencantumkan, dan menghapus bucket
<a name="examples-s3-buckets"></a>

*Setiap *objek* atau file di Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) terdapat dalam bucket, yang mewakili folder objek.* Setiap bucket memiliki nama yang unik secara global di dalamnya AWS. Untuk informasi selengkapnya, lihat [Bekerja dengan Bucket Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html) di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

## Prasyarat
<a name="codeExamplePrereq"></a>

Sebelum Anda mulai, kami sarankan Anda membaca [Memulai menggunakan AWS SDK untuk C\$1\$1](getting-started.md). 

Unduh kode contoh dan buat solusinya seperti yang dijelaskan dalam[Memulai contoh kode](getting-started-code-examples.md). 

Untuk menjalankan contoh, profil pengguna yang digunakan kode Anda untuk membuat permintaan harus memiliki izin yang tepat AWS (untuk layanan dan tindakan). Untuk informasi selengkapnya, lihat [Menyediakan AWS kredensil](credentials.md).

## Buat daftar bucket
<a name="list-buckets"></a>

Untuk menjalankan `list_buckets` contoh, pada prompt perintah, navigasikan ke folder tempat sistem build Anda membuat executable build Anda. Jalankan seperti yang dapat dieksekusi `run_list_buckets` (nama file yang dapat dieksekusi penuh Anda akan berbeda berdasarkan sistem operasi Anda). Output mencantumkan bucket akun Anda jika Anda memilikinya, atau menampilkan daftar kosong jika Anda tidak memiliki ember.

Dalam`list_buckets.cpp`, ada dua metode.
+ `main()`panggilan`ListBuckets()`. 
+ `ListBuckets()`menggunakan SDK untuk menanyakan bucket Anda.

`S3Client`Objek memanggil `ListBuckets()` metode SDK. Jika berhasil, metode mengembalikan `ListBucketOutcome` objek, yang berisi `ListBucketResult` objek. `ListBucketResult`Objek memanggil `GetBuckets()` metode untuk mendapatkan daftar `Bucket` objek yang berisi informasi tentang setiap bucket Amazon S3 di akun Anda.

 **Kode** 

```
bool AwsDoc::S3::listBuckets(const Aws::S3::S3ClientConfiguration &clientConfig) {
    Aws::S3::S3Client client(clientConfig);

    auto outcome = client.ListBuckets();

    bool result = true;
    if (!outcome.IsSuccess()) {
        std::cerr << "Failed with error: " << outcome.GetError() << std::endl;
        result = false;
    } else {
        std::cout << "Found " << outcome.GetResult().GetBuckets().size() << " buckets\n";
        for (auto &&b: outcome.GetResult().GetBuckets()) {
            std::cout << b.GetName() << std::endl;
        }
    }

    return result;
}
```

Lihat [contoh list\$1buckets](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/s3/list_buckets.cpp) lengkap di Github.

## Buat bucket
<a name="create-bucket"></a>



Untuk menjalankan `create_bucket` contoh, pada prompt perintah, navigasikan ke folder tempat sistem build Anda membuat executable build Anda. Jalankan seperti yang dapat dieksekusi `run_create_bucket` (nama file yang dapat dieksekusi penuh Anda akan berbeda berdasarkan sistem operasi Anda). Kode membuat bucket kosong di bawah akun Anda dan kemudian menampilkan keberhasilan atau kegagalan permintaan.

Dalam`create_bucket.cpp`, ada dua metode. 
+ `main()`panggilan`CreateBucket()`. Di`main()`, Anda perlu mengubah Wilayah AWS ke Wilayah akun Anda dengan menggunakan`enum`. Anda dapat melihat Wilayah akun Anda dengan masuk ke [Konsol Manajemen AWS](https://console.aws.amazon.com/), dan menemukan Wilayah di sudut kanan atas. 
+ `CreateBucket()`menggunakan SDK untuk membuat bucket. 



`S3Client`Objek memanggil `CreateBucket()` metode SDK, meneruskan a `CreateBucketRequest` dengan nama bucket. Secara default, bucket dibuat di Wilayah *us-east-1 (Virginia N*.). Jika Wilayah Anda bukan *us-east-1* maka kode akan menyiapkan batasan bucket untuk memastikan bucket dibuat di Wilayah Anda.

 **Kode** 

```
bool AwsDoc::S3::createBucket(const Aws::String &bucketName,
                              const Aws::S3::S3ClientConfiguration &clientConfig) {
    Aws::S3::S3Client client(clientConfig);
    Aws::S3::Model::CreateBucketRequest request;
    request.SetBucket(bucketName);

    if (clientConfig.region != "us-east-1") {
        Aws::S3::Model::CreateBucketConfiguration createBucketConfig;
        createBucketConfig.SetLocationConstraint(
                Aws::S3::Model::BucketLocationConstraintMapper::GetBucketLocationConstraintForName(
                        clientConfig.region));
        request.SetCreateBucketConfiguration(createBucketConfig);
    }

    Aws::S3::Model::CreateBucketOutcome outcome = client.CreateBucket(request);
    if (!outcome.IsSuccess()) {
        auto err = outcome.GetError();
        std::cerr << "Error: createBucket: " <<
                  err.GetExceptionName() << ": " << err.GetMessage() << std::endl;
    } else {
        std::cout << "Created bucket " << bucketName <<
                  " in the specified AWS Region." << std::endl;
    }

    return outcome.IsSuccess();
}
```

Lihat contoh [create\$1buckets](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/s3/create_bucket.cpp) lengkap di Github.

## Hapus bucket
<a name="delete-bucket"></a>



Untuk menjalankan `delete_bucket` contoh, pada prompt perintah, navigasikan ke folder tempat sistem build Anda membuat executable build Anda. Jalankan seperti yang dapat dieksekusi `run_delete_bucket` (nama file yang dapat dieksekusi penuh Anda akan berbeda berdasarkan sistem operasi Anda). Kode menghapus bucket yang ditentukan di akun Anda dan kemudian menampilkan keberhasilan atau kegagalan permintaan.

Di dalamnya `delete_bucket.cpp` ada dua metode. 
+ `main()`panggilan`DeleteBucket()`. Di`main()`, Anda perlu mengubah Wilayah AWS ke Wilayah akun Anda dengan menggunakan`enum`. Anda juga perlu mengubah `bucket_name` ke nama ember untuk dihapus. 
+ `DeleteBucket()`menggunakan SDK untuk menghapus bucket. 



`S3Client`Objek menggunakan `DeleteBucket()` metode SDK, meneruskan `DeleteBucketRequest` objek dengan nama bucket untuk dihapus. Ember harus kosong agar berhasil.

 **Kode**

```
bool AwsDoc::S3::deleteBucket(const Aws::String &bucketName,
                              const Aws::S3::S3ClientConfiguration &clientConfig) {

    Aws::S3::S3Client client(clientConfig);

    Aws::S3::Model::DeleteBucketRequest request;
    request.SetBucket(bucketName);

    Aws::S3::Model::DeleteBucketOutcome outcome =
            client.DeleteBucket(request);

    if (!outcome.IsSuccess()) {
        const Aws::S3::S3Error &err = outcome.GetError();
        std::cerr << "Error: deleteBucket: " <<
                  err.GetExceptionName() << ": " << err.GetMessage() << std::endl;
    } else {
        std::cout << "The bucket was deleted" << std::endl;
    }

    return outcome.IsSuccess();
}
```

Lihat [contoh delete\$1bucket](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/s3/delete_bucket.cpp) lengkap di Github.