

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

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

Amazon Kinesis Data Streams memungkinkan Anda mengirim data waktu nyata. Buat produsen data dengan Kinesis Data Streams yang mengirimkan data ke tujuan yang dikonfigurasi setiap kali Anda menambahkan data.

Untuk informasi selengkapnya, lihat [Membuat dan Mengelola Streaming](https://docs.aws.amazon.com/kinesis/latest/dev/working-with-streams.html.html) di Panduan Pengembang Amazon Kinesis.

Contoh berikut menunjukkan cara:
+ Buat aliran data menggunakan [CreateAlias](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-kinesis-1913-12-02.html#createstream).
+ Dapatkan detail tentang aliran data tunggal yang menggunakan [DescribeStream](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-kinesis-1913-12-02.html#describestream).
+ Daftar aliran data yang ada menggunakan [ListStreams](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-kinesis-1913-12-02.html#liststreams).
+ Kirim data ke aliran data yang ada menggunakan [PutRecord](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-kinesis-1913-12-02.html#putrecord).
+ Hapus aliran data menggunakan [DeleteStream](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-kinesis-1913-12-02.html#deletestream).

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 kredenal 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 menggunakan Panduan Pengembang Amazon Kinesis, lihat Panduan Pengembang [Amazon Kinesis](https://docs.aws.amazon.com/kinesis/latest/dev/) Data Streams.

## Buat aliran data menggunakan aliran data Kinesis
<a name="create-a-data-stream-using-a-ak-data-stream"></a>

Buat aliran data Kinesis di mana Anda dapat mengirim informasi untuk diproses oleh Kinesis menggunakan contoh kode berikut. Pelajari selengkapnya tentang [Membuat dan Memperbarui Aliran Data](https://docs.aws.amazon.com/kinesis/latest/dev/amazon-kinesis-streams.html) di Panduan Pengembang Amazon Kinesis.

Untuk membuat aliran data Kinesis, gunakan operasi. [CreateStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_CreateStream.html)

 **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'
]);

$shardCount = 2;
$name = "my_stream_name";

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

## Mengambil aliran data
<a name="retrieve-a-data-stream"></a>

Dapatkan detail tentang aliran data yang ada menggunakan contoh kode berikut. Secara default, ini mengembalikan informasi tentang 10 pecahan pertama yang terhubung ke aliran data Kinesis yang ditentukan. Ingatlah untuk memeriksa `StreamStatus` dari respons sebelum menulis data ke aliran data Kinesis.

Untuk mengambil rincian tentang aliran data Kinesis tertentu, gunakan [DescribeStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DescribeStream.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->describeStream([
        'StreamName' => $name,
    ]);
    var_dump($result);
} catch (AwsException $e) {
    // output error message if fails
    echo $e->getMessage();
    echo "\n";
}
```

## Buat daftar aliran data yang ada yang terhubung ke Kinesis
<a name="list-existing-data-streams-that-are-connected-to-ak"></a>

Buat daftar 10 aliran data pertama dari Anda Akun AWS di AWS Wilayah yang dipilih. Gunakan yang dikembalikan ``HasMoreStreams` untuk menentukan apakah ada lebih banyak aliran yang terkait dengan akun Anda.

Untuk membuat daftar aliran data Kinesis Anda, gunakan operasi. [ListStreams](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListStreams.html)

 **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'
]);

try {
    $result = $kinesisClient->listStreams();
    var_dump($result);
} catch (AwsException $e) {
    // output error message if fails
    echo $e->getMessage();
    echo "\n";
}
```

## Mengirim data ke aliran data yang ada
<a name="send-data-to-an-existing-data-stream"></a>

Setelah Anda membuat aliran data, gunakan contoh berikut untuk mengirim data. Sebelum mengirim data ke sana, gunakan `DescribeStream` untuk memeriksa `StreamStatus` apakah data aktif.

Untuk menulis catatan data tunggal ke aliran data Kinesis, gunakan operasi. [PutRecord](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html) Untuk menulis hingga 500 catatan ke dalam aliran data Kinesis, gunakan operasi. [PutRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecords.html)

 **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-1'
]);

$name = "my_stream_name";
$content = '{"ticker_symbol":"QXZ", "sector":"HEALTHCARE", "change":-0.05, "price":84.51}';
$groupID = "input to a hash function that maps the partition key (and associated data) to a specific shard";

try {
    $result = $kinesisClient->PutRecord([
        'Data' => $content,
        'StreamName' => $name,
        'PartitionKey' => $groupID
    ]);
    print("<p>ShardID = " . $result["ShardId"] . "</p>");
    var_dump($result);
} catch (AwsException $e) {
    // output error message if fails
    echo $e->getMessage();
    echo "\n";
}
```

## Menghapus aliran data
<a name="delete-a-data-stream"></a>

Contoh ini menunjukkan cara menghapus aliran data. Menghapus aliran data juga menghapus data apa pun yang Anda kirim ke aliran data. Aliran data Kinesis aktif beralih ke status DELETING hingga penghapusan aliran selesai. Saat dalam keadaan DELETING, aliran terus memproses data.

Untuk menghapus aliran data Kinesis, gunakan operasi. [DeleteStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DeleteStream.html)

 **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->deleteStream([
        'StreamName' => $name,
    ]);
    var_dump($result);
} catch (AwsException $e) {
    // output error message if fails
    echo $e->getMessage();
    echo "\n";
}
```