

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

# Mengelola pecahan data menggunakan Kinesis Data Streams API dan Versi 3 AWS SDK untuk PHP
<a name="kinesis-example-shard"></a>

Amazon Kinesis Data Streams memungkinkan Anda mengirim data real-time ke titik akhir. Laju aliran data tergantung pada jumlah pecahan dalam aliran Anda.

Anda dapat menulis 1.000 catatan per detik ke satu pecahan. Setiap shard juga memiliki batas upload 1 MiB per detik. Penggunaan dihitung dan dibebankan pada basis per-shard, jadi gunakan contoh ini untuk mengelola kapasitas data dan biaya streaming Anda.

Contoh berikut menunjukkan cara:
+ Buat daftar pecahan dalam aliran menggunakan [ListShards](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-kinesis-1913-12-02.html#listshards).
+ Tambahkan atau kurangi jumlah pecahan dalam aliran menggunakan [UpdateShardCount](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-kinesis-1913-12-02.html#updateshardcount).

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 kredensil 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).

Untuk informasi selengkapnya tentang penggunaan Amazon Kinesis Data Streams, [lihat Panduan Pengembang Amazon Kinesis Data Streams](https://docs.aws.amazon.com/streams/latest/dev/).

## Daftar pecahan aliran data
<a name="list-data-stream-shards"></a>

Buat daftar detail hingga 100 pecahan dalam aliran tertentu.

Untuk membuat daftar pecahan dalam aliran data Kinesis, gunakan [ListShards](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListShards.html)operasi.

 **Impor** 

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

use Aws\Exception\AwsException;
```

 **Kode Sampel** 

```
$kinesisClient = new Aws\Kinesis\KinesisClient([
    'profile' => 'default',
    'version' => '2013-12-02',
    'region' => 'us-east-2'
]);

$name = "my_stream_name";

try {
    $result = $kinesisClient->ListShards([
        'StreamName' => $name,
    ]);
    var_dump($result);
} catch (AwsException $e) {
    // output error message if fails
    echo $e->getMessage();
    echo "\n";
}
```

## Tambahkan lebih banyak pecahan aliran data
<a name="add-more-data-stream-shards"></a>

Jika Anda membutuhkan lebih banyak pecahan aliran data, Anda dapat meningkatkan jumlah pecahan Anda saat ini. Kami menyarankan Anda menggandakan jumlah pecahan Anda saat meningkatkan. Ini membuat salinan setiap pecahan saat ini tersedia untuk meningkatkan kapasitas Anda. Anda dapat menggandakan jumlah pecahan Anda hanya dua kali dalam satu periode 24 jam.

Ingatlah bahwa penagihan untuk penggunaan Kinesis Data Streams dihitung per shard, jadi ketika permintaan menurun, kami sarankan Anda mengurangi jumlah pecahan hingga setengahnya. Saat Anda menghapus pecahan, Anda hanya dapat menurunkan jumlah pecahan menjadi setengah dari jumlah pecahan Anda saat ini.

Untuk memperbarui jumlah pecahan aliran data Kinesis, gunakan [UpdateShardCount](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_UpdateShardCount.html)operasi.

 **Impor** 

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

use Aws\Exception\AwsException;
```

 **Kode Sampel** 

```
$kinesisClient = new Aws\Kinesis\KinesisClient([
    'profile' => 'default',
    'version' => '2013-12-02',
    'region' => 'us-east-2'
]);

$name = "my_stream_name";
$totalshards = 4;

try {
    $result = $kinesisClient->UpdateShardCount([
        'ScalingType' => 'UNIFORM_SCALING',
        'StreamName' => $name,
        'TargetShardCount' => $totalshards
    ]);
    var_dump($result);
} catch (AwsException $e) {
    // output error message if fails
    echo $e->getMessage();
    echo "\n";
}
```