Creazione di flussi di dati utilizzando l'API Kinesis Data Streams e la versione 3 AWS SDK for PHP - 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 Kinesis Data Streams e la versione 3 AWS SDK for PHP

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

Per ulteriori informazioni, consulta Creating and Managing Streams nella Amazon Kinesis Developer Guide.

Gli esempi seguenti mostrano come:

  • Crea un flusso di dati utilizzando. CreateAlias

  • Ottieni dettagli su un singolo flusso di dati utilizzando DescribeStream.

  • Elenca i flussi di dati esistenti utilizzando ListStreams.

  • Invia dati a un flusso di dati esistente utilizzando PutRecord.

  • Eliminare un flusso di dati utilizzando DeleteStream.

Tutto il codice di esempio per il AWS SDK for PHP è disponibile qui GitHub.

Credenziali

Prima di eseguire il codice di esempio, configurate AWS le vostre credenziali, come descritto inCredenziali. Quindi importate il fileAWS SDK for PHP, come descritto inUtilizzo di base.

Per ulteriori informazioni sull'uso di Amazon Kinesis Developer Guide, consulta la Amazon Kinesis Data Streams Developer Guide.

Creare un flusso di dati utilizzando un flusso di dati Kinesis

Stabilisci un flusso di dati Kinesis in cui inviare le informazioni che devono essere elaborate da Kinesis utilizzando il seguente esempio di codice. Scopri di più sulla creazione e l'aggiornamento di flussi di dati nella Amazon Kinesis Developer Guide.

Per creare un flusso di dati Kinesis, usa l'CreateStreamoperazione.

Importazioni

require 'vendor/autoload.php'; 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"; }

Recupera 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 shard collegati al flusso di dati Kinesis specificato. Ricordati StreamStatus di controllare la risposta prima di scrivere dati su un flusso di dati Kinesis.

Per recuperare i dettagli su un flusso di dati Kinesis specificato, usa l'DescribeStreamoperazione.

Importazioni

require 'vendor/autoload.php'; 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"; }

Elenca i flussi di dati esistenti collegati a Kinesis

Elenca i primi 10 flussi di dati provenienti dalla tua Account AWS regione selezionata. AWS Utilizza il `HasMoreStreams restituito per stabilire se ci sono più flussi associati al tuo account.

Per elencare i tuoi flussi di dati Kinesis, usa l'operazione. ListStreams

Importazioni

require 'vendor/autoload.php'; 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 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 in un flusso di dati Kinesis, usa l'PutRecordoperazione. Per scrivere fino a 500 record in un flusso di dati Kinesis, usa l'PutRecordsoperazione.

Importazioni

require 'vendor/autoload.php'; 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"; }

Eliminare 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 Active Kinesis passano allo stato ELIMINAZIONE 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, usa l'DeleteStreamoperazione.

Importazioni

require 'vendor/autoload.php'; 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"; }