使用 Kinesis Data Streams API 和AmazonSDK for PHP 版本 3 - Amazon适用于 PHP 的开发工具包
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Kinesis Data Streams API 和AmazonSDK for PHP 版本 3

Amazon Kinesis Data Streams 利用,您可以将实时数据发送到终端节点。数据流的速率取决于流中的分片数。

您可以每秒向单个分片写入 1000 条记录。每个分片的上传限制为每秒 1 MiB。用量按每个分片计算和收费,因此,请使用这些示例来管理流的数据容量和成本。

以下示例演示如何:

所有示例AmazonSDK for PHP 版本 3(位于 GitHub 上).

Credentials

运行示例代码之前,请配置Amazon凭证,如的凭证AmazonSDK for PHP 版本 3. 然后导入AmazonSDK for PHP,如的基本使用模式AmazonSDK for PHP 版本 3.

有关使用 Amazon Kinesis Data Streams 的更多信息,请参阅Amazon Kinesis Data Streams 开发人员指南.

列出数据流分片

列出特定流中最多 100 个分片的详细信息。

要列出 Kinesis 数据流中的分片,请使用ListShardsoperation.

导入

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

添加更多数据流分片

如果您需要更多数据流分片,则可增加当前分片数。我们建议您在增加时使分片计数加倍。这将生成当前可用的每个分片的副本以增加容量。在一个 24 小时的期间内,您只能将分片数加倍两次。

请记住,Kinesis Data Streams 使用量的费用是按分片计算的,因此当需求减少时,我们建议您将分片数量减少一半。删除分片时,只能将分片数量减少到当前分片计数的一半。

要更新 Kinesis 数据流的分片数,请使用UpdateShardCountoperation.

导入

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