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 distribuzione utilizzando l'API Kinesis Data Firehose eAWS SDK for PHPVersione 3
Amazon Kinesis Data Firehose consente di inviare dati in tempo reale ad altriAWSservizi tra cui Amazon Kinesis Data Streams, Amazon S3, Amazon OpenSearch Service (OpenSearch Service) e Amazon Redshift o Splunk. Creare un produttore dati con flussi di distribuzione per fornire i dati alla destinazione configurata ogni volta che aggiungi dati.
Gli esempi seguenti mostrano come:
-
Creare un flusso di distribuzione che utilizzaCreateDeliveryStream.
-
Ottenere informazioni dettagliate su un singolo flusso di distribuzione che utilizzaDescribeDeliveryStream.
-
Elencare i flussi di distribuzione utilizzandoListDeliveryStreams.
-
Inviare i dati a un flusso di distribuzione che utilizzaPutRecord.
-
Eliminare un flusso di distribuzione che utilizzaDeleteDeliveryStream.
La versione integrale del codice di esempio diAWS SDK for PHPè disponibilequi su GitHub
Credenziali
Prima di eseguire il codice di esempio, configurareAWScredenziali, come descritto inImpostazione delle credenziali. Quindi importaAWS SDK for PHP, come descritto inUtilizzo di base.
Per ulteriori informazioni sull'utilizzo di Amazon Kinesis Data Firehose, consultaGuida per gli sviluppatori di Amazon Kinesis Data Firehose.
Crea un flusso di distribuzione utilizzando un flusso di dati Kinesis
Per stabilire un flusso di distribuzione che inserisce i dati in un flusso di dati Kinesis esistente, utilizzareCreateDeliveryStreamoperazione.
Questo consente agli sviluppatori di migrare servizi Kinesis esistenti a Kinesis Data Firehose.
Importazioni
require 'vendor/autoload.php'; use Aws\Firehose\FirehoseClient; use Aws\Exception\AwsException;
Codice di esempio
$firehoseClient = new Aws\Firehose\FirehoseClient([ 'profile' => 'default', 'version' => '2015-08-04', 'region' => 'us-east-2' ]); $name = "my_stream_name"; $stream_type = "KinesisStreamAsSource"; $kinesis_stream = "arn:aws:kinesis:us-east-2:0123456789:stream/my_stream_name"; $role = "arn:aws:iam::0123456789:policy/Role"; try { $result = $firehoseClient->createDeliveryStream([ 'DeliveryStreamName' => $name, 'DeliveryStreamType' => $stream_type, 'KinesisStreamSourceConfiguration' => [ 'KinesisStreamARN' => $kinesis_stream, 'RoleARN' => $role, ], ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
Creare un flusso di distribuzione utilizzando un bucket Amazon S3
Per stabilire un flusso di distribuzione che inserisce i dati in un bucket Amazon S3 esistente, utilizzareCreateDeliveryStreamoperazione.
Fornire i parametri di destinazione, come descritto in Parametri di destinazione. Quindi accertarsi che venga concesso ad l'accesso a Kinesis Data Firehose al bucket Amazon S3, come descritto inConcessione dell'accesso a Kinesis Data Firehose a una destinazione di Amazon S3.
Importazioni
require 'vendor/autoload.php'; use Aws\Firehose\FirehoseClient; use Aws\Exception\AwsException;
Codice di esempio
$firehoseClient = new Aws\Firehose\FirehoseClient([ 'profile' => 'default', 'version' => '2015-08-04', 'region' => 'us-east-2' ]); $name = "my_S3_stream_name"; $stream_type = "DirectPut"; $s3bucket = 'arn:aws:s3:::bucket_name'; $s3Role = 'arn:aws:iam::0123456789:policy/Role'; try { $result = $firehoseClient->createDeliveryStream([ 'DeliveryStreamName' => $name, 'DeliveryStreamType' => $stream_type, 'S3DestinationConfiguration' => [ 'BucketARN' => $s3bucket, 'CloudWatchLoggingOptions' => [ 'Enabled' => false, ], 'RoleARN' => $s3Role ], ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
Creare un flusso di distribuzione che utilizza OpenSearch Service (Servizio)
Per stabilire un flusso di distribuzione di Kinesis Data Firehose che inserisce i dati in OpenSearch Cluster di servizi, usa ilCreateDeliveryStreamoperazione.
Fornire i parametri di destinazione, come descritto in Parametri di destinazione. Assicurati di concedere a Kinesis Data Firehose l'accesso al OpenSearch Cluster di servizi, come descritto inConcessione dell'accesso a Kinesis Data Firehose a una destinazione di Amazon ES.
Importazioni
require 'vendor/autoload.php'; use Aws\Firehose\FirehoseClient; use Aws\Exception\AwsException;
Codice di esempio
$firehoseClient = new Aws\Firehose\FirehoseClient([ 'profile' => 'default', 'version' => '2015-08-04', 'region' => 'us-east-2' ]); $name = "my_ES_stream_name"; $stream_type = "DirectPut"; $esDomainARN = 'arn:aws:es:us-east-2:0123456789:domain/Name'; $esRole = 'arn:aws:iam::0123456789:policy/Role'; $esIndex = 'root'; $esType = 'PHP_SDK'; $s3bucket = 'arn:aws:s3:::bucket_name'; $s3Role = 'arn:aws:iam::0123456789:policy/Role'; try { $result = $firehoseClient->createDeliveryStream([ 'DeliveryStreamName' => $name, 'DeliveryStreamType' => $stream_type, 'ElasticsearchDestinationConfiguration' => [ 'DomainARN' => $esDomainARN, 'IndexName' => $esIndex, 'RoleARN' => $esRole, 'S3Configuration' => [ 'BucketARN' => $s3bucket, 'CloudWatchLoggingOptions' => [ 'Enabled' => false, ], 'RoleARN' => $s3Role, ], 'TypeName' => $esType, ], ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
Recupero di un flusso di distribuzione
Per ottenere i dettagli su un flusso di distribuzione Kinesis Data Firehose esistente, utilizzareDescribeDeliveryStreamoperazione.
Importazioni
require 'vendor/autoload.php'; use Aws\Firehose\FirehoseClient; use Aws\Exception\AwsException;
Codice di esempio
$firehoseClient = new Aws\Firehose\FirehoseClient([ 'profile' => 'default', 'version' => '2015-08-04', 'region' => 'us-east-2' ]); $name = "my_stream_name"; try { $result = $firehoseClient->describeDeliveryStream([ 'DeliveryStreamName' => $name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
Elenca i flussi di distribuzione esistenti connessi a Kinesis Data Streams
Per elencare tutti i flussi di consegna esistenti di Kinesis Data Firehose che inviano dati a Kinesis Data Streams, usa ilListDeliveryStreamsoperazione.
Importazioni
require 'vendor/autoload.php'; use Aws\Firehose\FirehoseClient; use Aws\Exception\AwsException;
Codice di esempio
$firehoseClient = new Aws\Firehose\FirehoseClient([ 'profile' => 'default', 'version' => '2015-08-04', 'region' => 'us-east-2' ]); try { $result = $firehoseClient->listDeliveryStreams([ 'DeliveryStreamType' => 'KinesisStreamAsSource', ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
Elenca i flussi di consegna esistenti che inviano dati ad altriAWSservizi
Per un elenco di tutti i flussi di distribuzione di Kinesis Data Firehose che inviano dati a Amazon S3, OpenSearch Service, o Amazon Redshift, o su Splunk, utilizza ilListDeliveryStreamsoperazione.
Importazioni
require 'vendor/autoload.php'; use Aws\Firehose\FirehoseClient; use Aws\Exception\AwsException;
Codice di esempio
$firehoseClient = new Aws\Firehose\FirehoseClient([ 'profile' => 'default', 'version' => '2015-08-04', 'region' => 'us-east-2' ]); try { $result = $firehoseClient->listDeliveryStreams([ 'DeliveryStreamType' => 'DirectPut', ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
Inviare i dati a un flusso di consegna Kinesis Data Firehose
Per inviare i dati tramite un flusso di consegna di Kinesis Data Firehose verso la destinazione specificata, utilizzarePutRecordoperazione dopo la creazione di un flusso di consegna Kinesis Data Firehose.
Prima di inviare i dati a un flusso di consegna di Kinesis Data Firehose, utilizzareDescribeDeliveryStream
per vedere se il flusso di distribuzione è attivo.
Importazioni
require 'vendor/autoload.php'; use Aws\Firehose\FirehoseClient; use Aws\Exception\AwsException;
Codice di esempio
$firehoseClient = new Aws\Firehose\FirehoseClient([ 'profile' => 'default', 'version' => '2015-08-04', 'region' => 'us-east-2' ]); $name = "my_stream_name"; $content = '{"ticker_symbol":"QXZ", "sector":"HEALTHCARE", "change":-0.05, "price":84.51}'; try { $result = $firehoseClient->putRecord([ 'DeliveryStreamName' => $name, 'Record' => [ 'Data' => $content, ], ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
Eliminare un flusso di distribuzione Kinesis Data Firehose
Per eliminare un flusso di distribuzione di Kinesis Data Firehose, utilizzareDeleteDeliveryStreamsoperazione. Ciò elimina anche tutti i dati inviati al flusso di distribuzione.
Importazioni
require 'vendor/autoload.php'; use Aws\Firehose\FirehoseClient; use Aws\Exception\AwsException;
Codice di esempio
$firehoseClient = new Aws\Firehose\FirehoseClient([ 'profile' => 'default', 'version' => '2015-08-04', 'region' => 'us-east-2' ]); $name = "my_stream_name"; try { $result = $firehoseClient->deleteDeliveryStream([ 'DeliveryStreamName' => $name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }