Erstellen von Bereitstellungsdatenströmen mit der Firehose-API und der AWS SDK for PHP Version 3 - AWS SDK for PHP

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen von Bereitstellungsdatenströmen mit der Firehose-API und der AWS SDK for PHP Version 3

Mit Amazon Data Firehose können Sie Echtzeitdaten an andere -AWSServices wie Amazon Kinesis Data Streams, Amazon S3, Amazon OpenSearch Service (OpenSearch Service) und Amazon Redshift oder an Splunk senden. Erstellen Sie ein Datenproduzent mit Bereitstellungsstreams, um bei jedem Hinzufügen von Daten Daten an das konfigurierte Ziel zu senden.

In den nachstehenden Beispielen wird Folgendes veranschaulicht:

Der gesamte Beispielcode für die AWS SDK for PHP ist hier auf GitHubverfügbar.

Anmeldeinformationen

Bevor Sie den Beispielcode ausführen, konfigurieren Sie Ihre AWS Anmeldeinformationen, wie unter beschriebenAnmeldeinformationen. Importieren Sie dann die AWS SDK for PHP, wie unter beschriebenGrundlegende Verwendung.

Weitere Informationen zur Verwendung von Amazon Data Firehose finden Sie im Entwicklerhandbuch für Amazon Kinesis Data Firehose.

Erstellen eines Bereitstellungsdatenstroms mit einem Kinesis-Datenstrom

Um einen Bereitstellungsdatenstrom einzurichten, der Daten in einen vorhandenen Kinesis-Datenstrom ablegt, verwenden Sie die -CreateDeliveryStreamOperation.

Auf diese Weise können Entwickler vorhandene Kinesis-Services zu Firehose migrieren.

Importe

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

Beispiel-Code

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

Erstellen eines Bereitstellungsdatenstroms mit einem Amazon S3-Bucket

Um einen Bereitstellungsdatenstrom einzurichten, der Daten in einen vorhandenen Amazon S3-Bucket ablegt, verwenden Sie die -CreateDeliveryStreamOperation.

Stellen Sie die Zielparameter bereit, wie unter Zielparameter beschrieben. Stellen Sie dann sicher, dass Sie Firehose Zugriff auf Ihren Amazon S3-Bucket gewähren, wie unter Kinesis Data Firehose Zugriff auf ein Amazon S3-Ziel gewähren beschrieben.

Importe

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

Beispiel-Code

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

Erstellen eines Bereitstellungsdatenstroms mit OpenSearch Service

Um einen Firehose-Bereitstellungsdatenstrom einzurichten, der Daten in einen - OpenSearch Service-Cluster ablegt, verwenden Sie die -CreateDeliveryStreamOperation.

Stellen Sie die Zielparameter bereit, wie unter Zielparameter beschrieben. Stellen Sie sicher, dass Sie Firehose Zugriff auf Ihren OpenSearch Service-Cluster gewähren, wie unter Kinesis Data Firehose Zugriff auf ein Amazon ES-Ziel gewähren beschrieben.

Importe

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

Beispiel-Code

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

Abrufen eines Bereitstellungsdatenstroms

Um die Details zu einem vorhandenen Firehose-Bereitstellungs-Stream abzurufen, verwenden Sie die -DescribeDeliveryStreamOperation.

Importe

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

Beispiel-Code

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

Auflisten vorhandener Bereitstellungsdatenströme, die mit Kinesis Data Streams verbunden sind

Um alle vorhandenen Firehose-Bereitstellungsdatenströme aufzulisten, die Daten an Kinesis Data Streams senden, verwenden Sie die -ListDeliveryStreamsOperation.

Importe

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

Beispiel-Code

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

Auflisten vorhandener Bereitstellungsdatenströme, die Daten an andere -AWSServices senden

Um alle vorhandenen Firehose-Bereitstellungsdatenströme aufzulisten, die Daten an Amazon S3, OpenSearch Service oder Amazon Redshift oder an Splunk senden, verwenden Sie die -ListDeliveryStreamsOperation.

Importe

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

Beispiel-Code

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

Senden von Daten an einen vorhandenen Firehose-Bereitstellungs-Stream

Um Daten über einen Firehose-Bereitstellungs-Stream an das angegebene Ziel zu senden, verwenden Sie die -PutRecordOperation, nachdem Sie einen Firehose-Bereitstellungs-Stream erstellt haben.

Bevor Sie Daten an einen Firehose-Bereitstellungs-Stream senden, verwenden Sie , DescribeDeliveryStream um zu sehen, ob der Bereitstellungs-Stream aktiv ist.

Importe

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

Beispiel-Code

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

Löschen eines Firehose-Bereitstellungs-Streams

Um einen Firehose-Bereitstellungs-Stream zu löschen, verwenden Sie die -DeleteDeliveryStreamsOperation. Dadurch werden auch alle Daten gelöscht, die Sie an den Bereitstellungsstream gesendet haben.

Importe

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

Beispiel-Code

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