Criação de fluxos de dados usando a API Kinesis Data Streams e o AWS SDK for PHP versão 3 - AWS SDK for 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á.

Criação de fluxos de dados usando a API Kinesis Data Streams e o AWS SDK for PHP versão 3

O Amazon Kinesis Data Streams permite que você envie dados em tempo real. Crie um produtor de dados com o Kinesis Data Streams que fornece dados para o destino configurado a cada vez que você adicionar dados.

Para obter mais informações, consulte Como criar e gerenciar fluxos no Guia do desenvolvedor do Amazon Kinesis.

Os exemplos a seguir mostram como:

Todo o código de exemplo para o AWS SDK for PHP está disponível aqui em GitHub.

Credenciais

Antes de executar o código de exemplo, configure suas credenciais da AWS, conforme descrito em Credenciais. Em seguida, importe o AWS SDK for PHP, conforme descrito em Uso básico.

Para obter mais informações sobre o uso do Guia do desenvolvedor do Amazon Kinesis, consulte o Guia do desenvolvedor do Amazon Kinesis Data Streams.

Crie um fluxo de dados usando um fluxo de dados do Kinesis

Estabeleça um fluxo de dados do Kinesis no qual você pode enviar informações para serem processadas pelo Kinesis usando o código de exemplo a seguir. Saiba mais sobre como criar e atualizar fluxos de dados no Guia do desenvolvedor do Amazon Kinesis.

Para criar um stream de dados do Kinesis, use a CreateStreamoperação.

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' ]); $shardCount = 2; $name = "my_stream_name"; try { $result = $kinesisClient->createStream([ 'ShardCount' => $shardCount, 'StreamName' => $name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Recuperar um fluxo de dados

Obtenha detalhes sobre um streaming de dados existente usando o código de exemplo a seguir. Por padrão, isso retorna informações sobre os primeiros dez fragmentos conectados ao fluxo de dados especificado do Kinesis. Lembre-se de verificar StreamStatus da resposta antes de gravar dados em um fluxo de dados do Kinesis.

Para recuperar detalhes sobre um stream de dados específico do Kinesis, use DescribeStreama operação.

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->describeStream([ 'StreamName' => $name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Listar fluxos de dados existentes que estão conectadas ao Kinesis

Liste os primeiros 10 fluxos de dados a partir de sua Conta da AWS na região da AWS selecionada. Use o `HasMoreStreams retornado para determinar se há mais streamings associados à sua conta.

Para listar seus streams de dados do Kinesis, use a operação. ListStreams

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' ]); try { $result = $kinesisClient->listStreams(); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Enviar dados para um fluxo de dados existente

Depois de criar um streaming de dados, use o exemplo a seguir para enviar dados. Antes de enviar dados para ele, use DescribeStream para verificar se os dados StreamStatus estão ativos.

Para gravar um único registro de dados em um stream de dados do Kinesis, use a PutRecordoperação. Para gravar até 500 registros em um stream de dados do Kinesis, use a PutRecordsoperação.

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-1' ]); $name = "my_stream_name"; $content = '{"ticker_symbol":"QXZ", "sector":"HEALTHCARE", "change":-0.05, "price":84.51}'; $groupID = "input to a hash function that maps the partition key (and associated data) to a specific shard"; try { $result = $kinesisClient->PutRecord([ 'Data' => $content, 'StreamName' => $name, 'PartitionKey' => $groupID ]); print("<p>ShardID = " . $result["ShardId"] . "</p>"); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Criar um fluxo de dados

Este exemplo demonstra como excluir um streaming de dados. Excluir um streaming de dados também exclui todos os dados enviados a ele. Os fluxos de dados ativos do Kinesis alternam para o estado DELETING até que a exclusão do fluxo seja concluída. Enquanto está no estado DELETING (EXCLUINDO), o streaming continua a processar dados.

Para excluir um stream de dados do Kinesis, use a DeleteStreamoperação.

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->deleteStream([ 'StreamName' => $name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }