

# 使用 AWS CLI 的 Firehose 示例
<a name="cli_firehose_code_examples"></a>

以下代码示例演示如何通过将 AWS Command Line Interface与 Firehose 结合使用，来执行操作和实现常见场景。

*操作是大型程序的代码摘录*，必须在上下文中运行。您可以通过操作了解如何调用单个服务函数，还可以通过函数相关场景的上下文查看操作。

每个示例都包含一个指向完整源代码的链接，您可以从中找到有关如何在上下文中设置和运行代码的说明。

**Topics**
+ [操作](#actions)

## 操作
<a name="actions"></a>

### `list-delivery-streams`
<a name="firehose_ListDeliveryStreams_cli_topic"></a>

以下代码示例演示了如何使用 `list-delivery-streams`。

**AWS CLI**  
**列出可用的传输流**  
以下 `list-delivery-streams` 示例列出了您 AWS 账户中的可用传输流。  

```
aws firehose list-delivery-streams
```
输出：  

```
{
    "DeliveryStreamNames": [
        "my-stream"
    ],
    "HasMoreDeliveryStreams": false
}
```
有关更多信息，请参阅 *Amazon Kinesis Data Firehose 开发人员指南*中的[创建 Amazon Kinesis Data Firehose 传输流](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html)。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [ListDeliveryStreams](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/firehose/list-delivery-streams.html)。

### `put-record-batch`
<a name="firehose_PutRecordBatch_cli_topic"></a>

以下代码示例演示了如何使用 `put-record-batch`。

**AWS CLI**  
**将多条记录写入流中**  
以下 `put-record-batch` 示例将三条记录写入流中。数据以 Base64 格式编码。  

```
aws firehose put-record-batch \
    --delivery-stream-name my-stream \
    --records file://records.json
```
 的内容`myfile.json`：  

```
[
    {"Data": "Rmlyc3QgdGhpbmc="},
    {"Data": "U2Vjb25kIHRoaW5n"},
    {"Data": "VGhpcmQgdGhpbmc="}
]
```
输出：  

```
{
    "FailedPutCount": 0,
    "Encrypted": false,
    "RequestResponses": [
        {
            "RecordId": "9D2OJ6t2EqCTZTXwGzeSv/EVHxRoRCw89xd+o3+sXg8DhYOaWKPSmZy/CGlRVEys1u1xbeKh6VofEYKkoeiDrcjrxhQp9iF7sUW7pujiMEQ5LzlrzCkGosxQn+3boDnURDEaD42V7GiixpOyLJkYZcae1i7HzlCEoy9LJhMr8EjDSi4Om/9Vc2uhwwuAtGE0XKpxJ2WD7ZRWtAnYlKAnvgSPRgg7zOWL"
        },
        {
            "RecordId": "jFirejqxCLlK5xjH/UNmlMVcjktEN76I7916X9PaZ+PVaOSXDfU1WGOqEZhxq2js7xcZ552eoeDxsuTU1MSq9nZTbVfb6cQTIXnm/GsuF37Uhg67GKmR5z90l6XKJ+/+pDloFv7Hh9a3oUS6wYm3DcNRLTHHAimANp1PhkQvWpvLRfzbuCUkBphR2QVzhP9OiHLbzGwy8/DfH8sqWEUYASNJKS8GXP5s"
        },
        {
            "RecordId": "oy0amQ40o5Y2YV4vxzufdcMOOw6n3EPr3tpPJGoYVNKH4APPVqNcbUgefo1stEFRg4hTLrf2k6eliHu/9+YJ5R3iiedHkdsfkIqX0XTySSutvgFYTjNY1TSrK0pM2sWxpjqqnk3+2UX1MV5z88xGro3cQm/DTBt3qBlmTj7Xq8SKVbO1S7YvMTpWkMKA86f8JfmT8BMKoMb4XZS/sOkQLe+qh0sYKXWl"
        }
    ]
}
```
有关更多信息，请参阅《Amazon Kinesis Data Firehose 开发人员指南》**中的[将数据发送到 Amazon Kinesis Data Firehose 传输流](https://docs.aws.amazon.com/firehose/latest/dev/basic-write.html)。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [PutRecordBatch](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/firehose/put-record-batch.html)。

### `put-record`
<a name="firehose_PutRecord_cli_topic"></a>

以下代码示例演示了如何使用 `put-record`。

**AWS CLI**  
**将记录写入流**  
以下 `put-record` 示例将数据写入流中。数据以 Base64 格式编码。  

```
aws firehose put-record \
    --delivery-stream-name my-stream \
    --record '{"Data":"SGVsbG8gd29ybGQ="}'
```
输出：  

```
{
    "RecordId": "RjB5K/nnoGFHqwTsZlNd/TTqvjE8V5dsyXZTQn2JXrdpMTOwssyEb6nfC8fwf1whhwnItt4mvrn+gsqeK5jB7QjuLg283+Ps4Sz/j1Xujv31iDhnPdaLw4BOyM9Amv7PcCuB2079RuM0NhoakbyUymlwY8yt20G8X2420wu1jlFafhci4erAt7QhDEvpwuK8N1uOQ1EuaKZWxQHDzcG6tk1E49IPeD9k",
    "Encrypted": false
}
```
有关更多信息，请参阅《Amazon Kinesis Data Firehose 开发人员指南》**中的[将数据发送到 Amazon Kinesis Data Firehose 传输流](https://docs.aws.amazon.com/firehose/latest/dev/basic-write.html)。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [PutRecord](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/firehose/put-record.html)。