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:
-
Buat aliran data menggunakan CreateAlias.
-
Dapatkan detail tentang aliran data tunggal yang menggunakan DescribeStream.
-
Daftar aliran data yang ada menggunakan ListStreams.
-
Kirim data ke aliran data yang ada menggunakan PutRecord.
-
Hapus aliran data menggunakan DeleteStream.
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"; }