Creazione di flussi di dati utilizzando l'API di Kinesis Data Streams eAWS SDK for PHPVersione 3 - AWS SDK for PHP

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di flussi di dati utilizzando l'API di Kinesis Data Streams eAWS SDK for PHPVersione 3

Amazon Kinesis Data Streams consente di inviare dati in tempo reale. Creare un produttore di dati con Kinesis Data Streams che fornisce i dati alla destinazione configurata ogni volta che aggiungi dati.

Per ulteriori informazioni, consultaCreazione e gestione dei flussinella Guida per sviluppatori di Amazon Kinesis.

Gli esempi seguenti mostrano come:

  • Creare un flusso di dati utilizzando CreateAlias.

  • Ottieni informazioni dettagliate su un singolo flusso di dati utilizzando DescribeStream.

  • Elenca i flussi di dati esistenti utilizzando ListStreams.

  • Invia i dati a un flusso di dati esistenti utilizzando PutRecord.

  • Elimina un flusso di dati utilizzando DeleteStream.

La versione integrale del codice di esempio di AWS SDK for PHP è disponibile qui su GitHub.

Credenziali

Prima di eseguire il codice di esempio, configura il tuoAWScredenziali, come descritto inImpostazione delle credenziali . Quindi importaAWS SDK for PHPcome descritto nellaUtilizzo di base.

Per ulteriori informazioni sull'utilizzo di Amazon Kinesis Developer Guide, consulta ilGuida per gli sviluppatori di Amazon Kinesis Data Streams.

Creare un flusso di dati con un flusso di dati Kinesis

Definisci un flusso di dati Kinesis in cui è possibile inviare informazioni per essere elaborate da Kinesis da utilizzando il seguente codice di esempio. Ulteriori informazioni suCreazione e aggiornamento dei flussi di datinella Guida per sviluppatori di Amazon Kinesis.

Per creare un flusso di dati Kinesis, utilizza ilCreateStreamoperazione.

Importazioni

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

Codice di esempio

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

Recuperare un flusso di dati

Ottieni informazioni dettagliate su un flusso di dati esistente utilizzando il seguente codice di esempio. Per impostazione predefinita, restituisce informazioni sui primi 10 shards collegati al flusso di dati Kinesis specificato. Ricorda di controllareStreamStatusdalla risposta prima di scrivere i dati su un flusso di dati Kinesis.

Per recuperare i dettagli su un flusso di dati Kinesis specificati, utilizza ilDescribeStreamoperazione.

Importazioni

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

Codice di esempio

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

Elenco dei flussi di dati esistenti collegati a Kinesis

Elenca i primi 10 flussi di dati dal tuoAWSaccount nel selezionatoAWSRegione . Utilizza il `HasMoreStreams restituito per stabilire se ci sono più flussi associati al tuo account.

Per elencare i flussi di dati Kinesis, utilizzare ilListStreamsoperazione.

Importazioni

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

Codice di esempio

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

Invia i dati a un flusso di dati esistente

Dopo aver creato un flusso di dati, utilizza il seguente esempio per l'invio dei dati. Prima di inviare i dati, utilizza DescribeStream per controllare se i dati StreamStatus sono attivi.

Per scrivere un singolo record di dati su un flusso di dati Kinesis, utilizza ilPutRecordoperazione. Per scrivere fino a 500 record in un flusso di dati Kinesis, utilizza ilPutRecordsoperazione.

Importazioni

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

Codice di esempio

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

Eliminazione di un flusso di dati

Questo esempio illustra come eliminare un flusso di dati. L'eliminazione di un flusso di dati, inoltre, elimina tutti i dati inviati al flusso di dati. I flussi di dati Kinesis attivi passano allo stato DELETING fino al completamento dell'eliminazione del flusso. Mentre è nello stato DELETING, il flusso continua a elaborare i dati.

Per eliminare un flusso di dati Kinesis, utilizza ilDeleteStreamoperazione.

Importazioni

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

Codice di esempio

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