Membuat aliran data menggunakan Kinesis Data Streams API dan Versi 3 AWS SDK for PHP - AWS SDK for PHP

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 for PHP

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 di Panduan Pengembang Amazon Kinesis.

Contoh berikut menunjukkan cara:

Semua kode contoh untuk AWS SDK for PHP tersedia di sini GitHub.

Kredensial

Sebelum menjalankan kode contoh, konfigurasikan AWS kredenal Anda, seperti yang dijelaskan dalam. Kredensial Kemudian imporAWS SDK for PHP, seperti yang dijelaskan dalamPenggunaan dasar.

Untuk informasi selengkapnya tentang menggunakan Panduan Pengembang Amazon Kinesis, lihat Panduan Pengembang Amazon Kinesis Data Streams.

Buat aliran data menggunakan aliran data Kinesis

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 di Panduan Pengembang Amazon Kinesis.

Untuk membuat aliran data Kinesis, gunakan operasi. CreateStream

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

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 DescribeStreamoperasi.

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

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

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

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 Untuk menulis hingga 500 catatan ke dalam aliran data Kinesis, gunakan operasi. PutRecords

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

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

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"; }