使用 Kinesis Data Streams API 和第 3 AWS SDK for PHP 版管理資料碎片 - AWS SDK for PHP

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Kinesis Data Streams API 和第 3 AWS SDK for PHP 版管理資料碎片

Amazon Kinesis Data Streams 可讓您將即時資料傳送至端點。資料流程速率取決於串流中的碎片數目。

每秒寫入單個碎片的記錄可多達 1,000 筆。各碎片另有每秒 1 MiB 的上傳限制。用量將按碎片數目計算和收費,所以使用這些範例可控管您的串流資料容量及成本。

下列範例示範如何:

GitHub 上 AWS SDK for PHP 提供 的所有範例程式碼。 GitHub

登入資料

執行範例程式碼之前,請先設定您的 AWS 登入資料,如 中所述登入資料。然後匯入 AWS SDK for PHP,如 中所述基本使用

如需使用 Amazon Kinesis Data Streams 的詳細資訊,請參閱《Amazon Kinesis Data Streams 開發人員指南》。

列出資料串流碎片

列出特定串流中多達 100 個碎片的詳細資訊。

若要列出 Kinesis 資料串流中的碎片,請使用 ListShards 操作。

匯入

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

範例程式碼

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

新增更多資料串流碎片

如果您需要更多資料串流碎片,則可增加您目前的碎片數目。建議您將碎片數目增加為兩倍。如此會為您目前可用的每個碎片各建立一份複本以增加容量。您在 24 小時期間內可將碎片數目加倍的上限為兩次。

請記住,Kinesis Data Streams 用量的計費是依碎片計算,因此當需求減少時,建議您將碎片計數減少一半。移除碎片時,您可以將碎片總數僅縮減為目前碎片數目的一半。

若要更新 Kinesis 資料串流的碎片計數,請使用 UpdateShardCount 操作。

匯入

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

範例程式碼

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