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:
-
Erstellen Sie einen Bereitstellungsdatenstrom mit CreateDeliveryStream.
-
Abrufen von Details zu einem einzelnen Bereitstellungsdatenstrom mit DescribeDeliveryStream.
-
Listen Sie Ihre Bereitstellungsdatenströme mit aufListDeliveryStreams.
-
Senden von Daten an einen Bereitstellungsdatenstrom mit PutRecord.
-
Löschen Sie einen Bereitstellungsdatenstrom mit DeleteDeliveryStream.
Der gesamte Beispielcode für die AWS SDK for PHP ist hier auf GitHub
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"; }