Kinesis Data Streams API およびAWSSDK for PHP バージョン 3 - AWSSDK for PHP

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

Kinesis Data Streams API およびAWSSDK for PHP バージョン 3

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

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

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

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

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

用のすべてのサンプルコードはAWSSDK for PHP バージョン 3GitHub で

Credentials

サンプルコードを実行する前に、AWS」の説明に従って、の認証情報を参照してください。の認証情報AWSSDK for PHP バージョン 3。次にをインポートします。AWSSDK for PHP (の基本的な使用パターンAWSSDK for PHP バージョン 3

Amazon Kinesis Data Streams の使用の詳細については、『Amazon Kinesis Data Streams 開発者ガイド

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

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

Kinesis データストリームのシャードをリストするには、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 データストリームのシャード数を更新するには、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"; }