Kinesis Data Streams API とAWS SDK for PHPバージョン 3 - AWS SDK for PHP

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Kinesis Data Streams API とAWS SDK for PHPバージョン 3

Amazon Kinesis Data Streams を使用すると、エンドポイントにリアルタイムデータを送信できます。データフローのレートは、ストリーム内のシャードの数によって異なります。

1 つのシャードに 1 秒あたり 1,000 個のレコードを書き込むことができます。各シャードには、1 秒あたり 1 MiB のアップロード制限もあります。使用量は、シャード単位で計算および請求されるため、これらの例を使用してストリームのデータ容量とコストを管理します。

以下の例では、次の方法を示しています。

  • ListShards を使用してストリーム内のシャードをリストする。

  • UpdateShardCount を使用してストリーム内のシャードの数を追加または削減する。

AWS SDK for PHP 用のすべてのサンプルコードは GitHub で入手できます。

認証情報

サンプルコードを実行する前に、AWSの説明 (を参照) 認証情報の設定。次にをインポートしますAWS SDK for PHPとして、で説明されています。基本的な使用法

Amazon Kinesis Data Streams の使用の詳細については、を参照してください。Amazon Kinesis Data Streams 開発者ガイド

データストリームシャードをリストする

特定のストリーム内にある最大 100 個のシャードの詳細をリストします。

Kinesis Data Streams のシャードをリストするには、ListShardsオペレーション.

インポート

require 'vendor/autoload.php'; use Aws\Kinesis\KinesisClient; 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"; }

データストリームシャードをさらに追加する

データストリームシャードをさらに追加する必要がある場合、現在のシャード数を増やすことができます。増やす場合、シャード数を 2 倍にすることをお勧めします。これにより、現在利用可能な各シャードのコピーが作成され、容量が増加します。シャードの数を 2 倍にできるのは、24 時間以内に 2 回のみです。

Kinesis Data Streams の使用量の請求はシャードごとに計算されるため、需要が減ったらシャード数を半分に減らすことをお勧めします。シャードを削除するとき、シャードの量のみ現在のシャード数の半分に減らすことができます。

Kinesis Data Streams のシャード数を更新するには、UpdateShardCountオペレーション.

インポート

require 'vendor/autoload.php'; use Aws\Kinesis\KinesisClient; 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"; }