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:
-
Crie um fluxo de dados usando CreateAliaso.
-
Obtenha detalhes sobre um único fluxo de dados usando DescribeStream.
-
Liste os fluxos de dados existentes usando ListStreams.
-
Envie dados para um fluxo de dados existente usando PutRecord.
-
Exclua um fluxo de dados usando DeleteStreamo.
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"; }