

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

# Membuat dan menggunakan bucket Amazon S3 dengan Versi 3 AWS SDK untuk PHP
<a name="s3-examples-creating-buckets"></a>

Contoh berikut menunjukkan cara:
+ Kembalikan daftar bucket yang dimiliki oleh pengirim permintaan yang diautentikasi menggunakan. [ListBuckets](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#listbuckets)
+ Buat ember baru menggunakan [CreateBucket](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#createbucket).
+ Tambahkan objek ke ember menggunakan [PutObject](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#putobject).

Semua kode contoh untuk AWS SDK untuk PHP tersedia [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

## Kredensial
<a name="examplecredentials"></a>

Sebelum menjalankan kode contoh, konfigurasikan AWS kredensyal Anda, seperti yang dijelaskan dalam. [Mengautentikasi dengan AWS menggunakan AWS SDK untuk PHP Versi 3](credentials.md) Kemudian impor AWS SDK untuk PHP, seperti yang dijelaskan dalam[Menginstal AWS SDK untuk PHP Versi 3](getting-started_installation.md).

 **Impor** 

```
require 'vendor/autoload.php';

use Aws\S3\S3Client;
```

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

Buat file PHP dengan kode berikut. Pertama buat layanan klien AWS.S3 yang menentukan Wilayah dan versi. AWS Kemudian panggil `listBuckets` metode, yang mengembalikan semua bucket Amazon S3 yang dimiliki oleh pengirim permintaan sebagai larik struktur Bucket.

 **Kode Sampel** 

```
$s3Client = new S3Client([
    'profile' => 'default',
    'region' => 'us-west-2',
    'version' => '2006-03-01'
]);

//Listing all S3 Bucket
$buckets = $s3Client->listBuckets();
foreach ($buckets['Buckets'] as $bucket) {
    echo $bucket['Name'] . "\n";
}
```

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

Buat file PHP dengan kode berikut. Pertama buat layanan klien AWS.S3 yang menentukan Wilayah dan versi. AWS Kemudian panggil `createBucket` metode dengan array sebagai parameter. Satu-satunya bidang wajib adalah kunci 'Bucket', dengan nilai string untuk nama bucket yang akan dibuat. Namun, Anda dapat menentukan AWS Wilayah dengan bidang CreateBucketConfiguration ''. Jika berhasil, metode ini mengembalikan 'Lokasi' bucket.

 **Kode Sampel** 

```
function createBucket($s3Client, $bucketName)
{
    try {
        $result = $s3Client->createBucket([
            'Bucket' => $bucketName,
        ]);
        return 'The bucket\'s location is: ' .
            $result['Location'] . '. ' .
            'The bucket\'s effective URI is: ' .
            $result['@metadata']['effectiveUri'];
    } catch (AwsException $e) {
        return 'Error: ' . $e->getAwsErrorMessage();
    }
}

function createTheBucket()
{
    $s3Client = new S3Client([
        'profile' => 'default',
        'region' => 'us-east-1',
        'version' => '2006-03-01'
    ]);

    echo createBucket($s3Client, 'amzn-s3-demo-bucket');
}

// Uncomment the following line to run this code in an AWS account.
// createTheBucket();
```

## Masukkan benda ke dalam ember
<a name="put-an-object-in-a-bucket"></a>

Untuk menambahkan file ke bucket baru Anda, buat file PHP dengan kode berikut.

Di baris perintah Anda, jalankan file ini dan teruskan nama bucket tempat Anda ingin mengunggah file Anda sebagai string, diikuti oleh jalur file lengkap ke file yang akan diunggah.

 **Kode Sampel** 

```
$USAGE = "\n" .
    "To run this example, supply the name of an S3 bucket and a file to\n" .
    "upload to it.\n" .
    "\n" .
    "Ex: php PutObject.php <bucketname> <filename>\n";

if (count($argv) <= 2) {
    echo $USAGE;
    exit();
}

$bucket = $argv[1];
$file_Path = $argv[2];
$key = basename($argv[2]);

try {
    //Create a S3Client
    $s3Client = new S3Client([
        'profile' => 'default',
        'region' => 'us-west-2',
        'version' => '2006-03-01'
    ]);
    $result = $s3Client->putObject([
        'Bucket' => $bucket,
        'Key' => $key,
        'SourceFile' => $file_Path,
    ]);
} catch (S3Exception $e) {
    echo $e->getMessage() . "\n";
}
```