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