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 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. 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:
-
Crie um streaming de dados usando CreateAlias.
-
Obtenha detalhes sobre um único streaming de dados usando DescribeStream.
-
Liste streaming de dados existentes usando ListStreams.
-
Envie dados para um streaming de dados existente usando PutRecord.
-
Exclua um streaming de dados usando DeleteStream.
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 sobre o uso do Guia do desenvolvedor do Amazon Kinesis, consulte o Guia do desenvolvedor do Amazon Kinesis Data Streams.
Criar 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 fluxo de dados do Kinesis, use a operação CreateStream.
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 determinado fluxo de dados, o Kinesis usa a operação DescribeStream.
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 conectados 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 os fluxos 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 fluxo de dados do Kinesis, use a operação PutRecord. Para gravar até 500 registros em um fluxo de dados do Kinesis, use a operação PutRecords.
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 fluxo de dados do Kinesis, use a operação DeleteStream.
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"; }