Erstellen von Datenströmen mit der API von Kinesis Data Streams 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 Datenströmen mit der API von Kinesis Data Streams und der AWS SDK for PHP Version 3

Mit Amazon Kinesis Data Streams können Sie Echtzeitdaten senden. Erstellen Sie einen Datenproduzenten mit Kinesis Data Streams, der jedes Mal Daten an das konfigurierte Ziel liefert, wenn Sie Daten hinzufügen.

Weitere Informationen finden Sie unter Erstellen und Verwalten von Streams im Amazon Kinesis-Entwicklerhandbuch.

In den nachstehenden Beispielen wird Folgendes veranschaulicht:

  • Erstellen Sie einen Datenstrom mit CreateAlias.

  • Abrufen von Details zu einem einzelnen Datenstrom mit DescribeStream.

  • Listen Sie vorhandene Datenströme mit aufListStreams.

  • Senden von Daten an einen vorhandenen Datenstrom mit PutRecord.

  • Löschen Sie einen Datenstrom mit DeleteStream.

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 des Entwicklerhandbuchs für Amazon Kinesis finden Sie im Entwicklerhandbuch für Amazon Kinesis Data Streams.

Erstellen eines Datenstroms mit einem Kinesis-Datenstrom

Richten Sie einen Kinesis-Datenstrom ein, an den Sie Informationen senden können, die von Kinesis verarbeitet werden sollen, indem Sie das folgende Codebeispiel verwenden. Weitere Informationen zum Erstellen und Aktualisieren von Datenströmen finden Sie im Amazon Kinesis-Entwicklerhandbuch.

Um einen Kinesis-Datenstrom zu erstellen, verwenden Sie die -CreateStreamOperation.

Importe

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

Beispiel-Code

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

Abrufen eines Datenstroms

Rufen Sie mithilfe des folgenden Codebeispiels Details über einen vorhandenen Daten-Stream ab. Standardmäßig werden Informationen zu den ersten 10 Shards zurückgegeben, die mit dem angegebenen Kinesis-Datenstrom verbunden sind. Denken Sie daran, StreamStatus aus der Antwort zu überprüfen, bevor Sie Daten in einen Kinesis-Datenstrom schreiben.

Um Details zu einem angegebenen Kinesis-Datenstrom abzurufen, verwenden Sie die -DescribeStreamOperation.

Importe

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

Beispiel-Code

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

Auflisten vorhandener Datenströme, die mit Kinesis verbunden sind

Listen Sie die ersten 10 Datenströme aus Ihrem AWS-Konto in der ausgewählten AWS Region auf. Verwenden Sie den zurückgegebenen Code `HasMoreStreams, um zu bestimmen, ob Ihrem Konto weitere Streams zugeordnet sind.

Um Ihre Kinesis-Datenströme aufzulisten, verwenden Sie die -ListStreamsOperation.

Importe

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

Beispiel-Code

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

Senden von Daten an einen vorhandenen Datenstrom

Sobald Sie einen Daten-Stream erstellt haben, verwenden Sie das folgende Beispiel zum Senden von Daten. Bevor Sie Daten an den Stream senden, überprüfen Sie mithilfe von DescribeStream, ob StreamStatus für die Daten aktiv ist.

Um einen einzelnen Datensatz in einen Kinesis-Datenstrom zu schreiben, verwenden Sie die -PutRecordOperation. Um bis zu 500 Datensätze in einen Kinesis-Datenstrom zu schreiben, verwenden Sie die -PutRecordsOperation.

Importe

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

Beispiel-Code

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

Löschen eines Datenstroms

In diesem Beispiel wird gezeigt, wie Sie einen Daten-Stream löschen. Durch das Löschen eines Datenstroms werden auch alle Daten gelöscht, die Sie an den Daten-Stream gesendet haben. Aktive Kinesis-Datenströme wechseln in den Status DELETING, bis die Löschung des Streams abgeschlossen ist. Im Status WIRD GELÖSCHT verarbeitet der Stream weiterhin Daten.

Um einen Kinesis-Datenstrom zu löschen, verwenden Sie die -DeleteStreamOperation.

Importe

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

Beispiel-Code

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