Gerenciar fragmentos de dados usando a API do Kinesis Data Streams e o AWS SDK para PHP versão 3 - AWS SDK para PHP

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Gerenciar fragmentos de dados usando a API do Kinesis Data Streams e o AWS SDK para PHP versão 3

O Amazon Kinesis Data Streams permite que você envie dados em tempo real para um endpoint. A taxa de fluxo de dados depende do número de fragmentos no fluxo.

Você pode gravar 1.000 registros por segundo em um único fragmento. Cada fragmento também tem um limite de upload de 1 MiB por segundo. O uso é calculado e cobrado por fragmento, então, use estes exemplos para gerenciar a capacidade de dados e o custo do seu fluxo.

Os exemplos a seguir mostram como:

O código de exemplo completo do AWS SDK para PHP está disponível aqui no GitHub.

Credenciais

Antes de executar o código de exemplo, configure suas credenciais da AWS, conforme descrito em Autenticando com o AWS uso da AWS SDK para PHP versão 3. Em seguida, importe o AWS SDK para PHP, conforme descrito em Instalar o AWS SDK para PHP versão 3.

Para obter mais informações, consulte Ler dados do Amazon Kinesis Data Streams no Guia do desenvolvedor do Amazon Kinesis Data Streams.

Listar fragmentos de fluxos de dados

Liste os detalhes de até 100 fragmentos em um fluxo específico.

Para listar os fragmentos em um fluxo de dados do Kinesis, use a operação ListShards.

Importações

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

Código de exemplo

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

Adicionar mais fragmentos de fluxo de dados

Se precisar de mais fragmentos de fluxo de dados, você poderá aumentar o número atual de fragmentos. Recomendamos que você duplique sua contagem de fragmentos quando aumentá-la. Isso cria uma cópia de cada fragmento disponível atualmente para aumentar sua capacidade. Você pode dobrar o número de fragmentos apenas duas vezes em um período de 24 horas.

Lembre-se de que o faturamento do uso do Kinesis Data Streams é calculado por fragmento, então, quando a demanda diminui, recomendamos que você reduza a contagem de fragmentos pela metade. Ao remover fragmentos, você só pode reduzir a escala verticalmente da quantidade de fragmentos para a metade da sua contagem de fragmentos atual.

Para atualizar a contagem de fragmentos de um fluxo de dados do Kinesis dados, use a operação UpdateShardCount.

Importações

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

Código de exemplo

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