

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 Lieferdatenströmen mithilfe der Firehose-API und der AWS SDK für PHP Version 3
<a name="kinesis-firehose-example-delivery-stream"></a>

Mit Amazon Data Firehose können Sie Echtzeitdaten an andere AWS Dienste 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 Lieferstream mit. [CreateDeliveryStream](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-firehose-2015-08-04.html#createdeliverystream)
+ Erfahren Sie mehr über einen einzelnen Lieferstream mithilfe von [DescribeDeliveryStream](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-firehose-2015-08-04.html#describedeliverystream).
+ Listen Sie Ihre Lieferstreams auf mit [ListDeliveryStreams](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-firehose-2015-08-04.html#listdeliverystreams).
+ Senden Sie Daten an einen Lieferstream mit [PutRecord](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-firehose-2015-08-04.html#putrecord).
+ Löschen Sie einen Lieferstream mit [DeleteDeliveryStream](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-firehose-2015-08-04.html#deletedeliverystream).

Der gesamte Beispielcode für die AWS SDK für PHP ist [hier verfügbar GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

## Anmeldeinformationen
<a name="examplecredentials"></a>

Bevor Sie den Beispielcode ausführen, konfigurieren Sie Ihre AWS Anmeldeinformationen wie unter beschrieben[Authentifizierung AWS mit AWS SDK für PHP Version 3](credentials.md). Importieren Sie dann die AWS SDK für PHP, wie unter beschrieben[Installation der AWS SDK für PHP Version 3](getting-started_installation.md).

Weitere Informationen zur Verwendung von Amazon Data Firehose finden Sie im [Amazon Kinesis Data Firehose](https://docs.aws.amazon.com/streams/latest/dev/) Developer Guide.

## Erstellen Sie einen Lieferstream mithilfe eines Kinesis-Datenstroms
<a name="create-a-delivery-stream-using-a-ak-data-stream"></a>

Verwenden Sie den [CreateDeliveryStream](https://docs.aws.amazon.com/firehose/latest/APIReference/API_CreateDeliveryStream.html)Vorgang, um einen Lieferstream einzurichten, der Daten in einen vorhandenen Kinesis-Datenstrom einfügt.

Auf diese Weise können Entwickler bestehende Kinesis-Dienste auf 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 Sie einen Lieferstream mithilfe eines Amazon S3 S3-Buckets
<a name="create-a-delivery-stream-using-an-s3-bucket"></a>

Verwenden Sie den [CreateDeliveryStream](https://docs.aws.amazon.com/firehose/latest/APIReference/API_CreateDeliveryStream.html)Vorgang, um einen Lieferstream einzurichten, der Daten in einen vorhandenen Amazon S3 S3-Bucket überträgt.

Stellen Sie die Zielparameter bereit, wie unter [Zielparameter](https://docs.aws.amazon.com/firehose/latest/dev/create-destination.html) beschrieben. Stellen Sie dann sicher, dass Sie Firehose Zugriff auf Ihren Amazon S3-Bucket [gewähren, wie unter Kinesis Data Firehose Access to an Amazon](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3.html) S3 Destination 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 Sie mithilfe von Service einen Lieferstream OpenSearch
<a name="create-a-delivery-stream-using-es"></a>

Verwenden Sie den [CreateDeliveryStream](https://docs.aws.amazon.com/firehose/latest/APIReference/API_CreateDeliveryStream.html)Vorgang, um einen Firehose-Lieferstream einzurichten, der Daten in einen OpenSearch Service-Cluster einfügt.

Stellen Sie die Zielparameter bereit, wie unter [Zielparameter](https://docs.aws.amazon.com/firehose/latest/dev/create-destination.html) beschrieben. Stellen Sie sicher, dass Sie Firehose Zugriff auf Ihren OpenSearch Service-Cluster [gewähren, wie unter Kinesis Data Firehose Access to an Amazon](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-es.html) ES Destination 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";
}
```

## Rufen Sie einen Lieferstream ab
<a name="retrieve-a-delivery-stream"></a>

Verwenden Sie den [DescribeDeliveryStream](https://docs.aws.amazon.com/firehose/latest/APIReference/API_DescribeDeliveryStream.html)Vorgang, um die Details zu einem Firehose Firehose-Lieferstream abzurufen.

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

## Listet bestehende Lieferstreams auf, die mit Kinesis Data Streams verbunden sind
<a name="list-existing-delivery-streams-connected-to-aks"></a>

Verwenden Sie den Vorgang, um alle vorhandenen Firehose-Lieferdatenströme aufzulisten, die Daten an Kinesis Data Streams senden. [ListDeliveryStreams](https://docs.aws.amazon.com/firehose/latest/APIReference/API_ListDeliveryStreams.html)

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

## Listet vorhandene Lieferströme auf, die Daten an andere Dienste senden AWS
<a name="list-existing-delivery-streams-sending-data-to-other-aws-services"></a>

Verwenden Sie den Vorgang, um alle vorhandenen Firehose-Lieferdatenströme aufzulisten, die Daten an Amazon S3, OpenSearch Service oder Amazon Redshift oder an Splunk senden. [ListDeliveryStreams](https://docs.aws.amazon.com/firehose/latest/APIReference/API_ListDeliveryStreams.html)

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

## Daten an einen vorhandenen Firehose-Lieferstream senden
<a name="send-data-to-an-existing-akf-delivery-stream"></a>

Um Daten über einen Firehose-Lieferstream an das angegebene Ziel zu senden, verwenden Sie den [PutRecord](https://docs.aws.amazon.com/firehose/latest/APIReference/API_API_PutRecord.html)Vorgang, nachdem Sie einen Firehose-Lieferstream erstellt haben.

Prüfen Sie vor dem Senden von Daten an einen Firehose-Lieferstream`DescribeDeliveryStream`, ob der Zustellungsstream 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 Sie einen Firehose-Lieferstream
<a name="delete-a-akf-delivery-stream"></a>

Verwenden Sie den [DeleteDeliveryStreams](https://docs.aws.amazon.com/firehose/latest/APIReference/API_DeleteDeliveryStreams.html)Vorgang, um einen Firehose-Lieferstream zu löschen. 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";
}
```