

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Kinesis Data Streams
<a name="kinesis-rule-action"></a>

Kinesis Data Streams (`kinesis`) 動作 會將資料從 MQTT 訊息寫入 Amazon Kinesis Data Streams。

## 要求
<a name="kinesis-rule-action-requirements"></a>

此規則動作具有下列需求：
+  AWS IoT 可以擔任以執行`kinesis:PutRecord`操作的 IAM 角色。如需詳細資訊，請參閱[授予 AWS IoT 規則所需的存取權](iot-create-role.md)。

  在 AWS IoT 主控台中，您可以選擇或建立角色， AWS IoT 以允許 執行此規則動作。
+ 如果您使用 AWS KMS 客戶受管 AWS KMS key (KMS 金鑰） 來加密 Kinesis Data Streams 中的靜態資料，則服務必須具有代表發起人使用 AWS KMS key 的許可。如需詳細資訊，請參閱《Amazon Kinesis Data Streams 開發人員指南》**中[使用使用者產生之 AWS KMS keys的許可](https://docs.aws.amazon.com/streams/latest/dev/permissions-user-key-KMS.html)。

## Parameters
<a name="kinesis-rule-action-parameters"></a>

當您使用此動作建立 AWS IoT 規則時，您必須指定下列資訊：

`stream`  
要寫入資料的 Kinesis 資料串流。  
僅支援[替代範本](iot-substitution-templates.md)：API 和 AWS CLI 

`partitionKey`  
分割區索引鍵用來決定資料要寫入哪個碎片。分割區索引鍵通常是由表達式 (如 `${topic()}` 或 `${timestamp()}`) 組成。  
支援[替代範本](iot-substitution-templates.md)：是

`roleArn`  
授予存取 Kinesis 資料串流 AWS IoT 許可的 IAM 角色 ARN。如需詳細資訊，請參閱[要求](#kinesis-rule-action-requirements)。  
支援[替代範本](iot-substitution-templates.md)：否

## 範例
<a name="kinesis-rule-action-examples"></a>

下列 JSON 範例定義 AWS IoT 規則中的 Kinesis Data Streams 動作。

```
{
    "topicRulePayload": {
        "sql": "SELECT * FROM 'some/topic'", 
        "ruleDisabled": false, 
        "awsIotSqlVersion": "2016-03-23",
        "actions": [
            {
                "kinesis": {
                    "streamName": "my_kinesis_stream", 
                    "partitionKey": "${topic()}",
                    "roleArn": "arn:aws:iam::123456789012:role/aws_iot_kinesis"
                }
            }
        ] 
    }
}
```

下列 JSON 範例使用 AWS IoT 規則中的替代範本來定義 Kinesis 動作。

```
{
    "topicRulePayload": {
        "sql": "SELECT * FROM 'some/topic'",
        "ruleDisabled": false,
        "awsIotSqlVersion": "2016-03-23",
        "actions": [
            {
                "kinesis": {
                    "streamName": "${topic()}",
                    "partitionKey": "${timestamp()}",
                    "roleArn": "arn:aws:iam::123456789012:role/aws_iot_kinesis"
                }
            }
        ]
    }
}
```

## 另請參閱
<a name="kinesis-rule-action-see-also"></a>
+ 《Amazon Kinesis Data Streams 開發人員指南》**中的[什麼是 Amazon Kinesis Data Streams？](https://docs.aws.amazon.com/streams/latest/dev/)