D ynamoDBv2 - AWS IoT Core

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

D ynamoDBv2

D ynamoDBv2 (dynamoDBv2) 動作會將全部或部分MQTT訊息寫入 Amazon DynamoDB 資料表。承載中的每個屬性都會寫入 DynamoDB 資料庫中不同的欄。

要求

此規則動作具有下列需求:

  • AWS IoT 可以擔任執行dynamodb:PutItem操作IAM的角色。如需詳細資訊,請參閱授予 AWS IoT 規則所需的存取權

    在 AWS IoT 主控台中,您可以選擇或建立允許 AWS IoT 執行此規則動作的角色。

  • 如果定義了根層級索引鍵,MQTT則訊息承載必須包含與資料表的主要分割區索引鍵相符的根層級索引鍵,以及與資料表的主要排序索引鍵相符的根層級索引鍵。

  • 如果您使用客戶受管 AWS KMS key (KMS 金鑰) 在 DynamoDB 中加密靜態資料,則服務必須具有代表呼叫者使用KMS金鑰的許可。如需詳細資訊,請參閱 Amazon DynamoDB 入門指南 中的客戶受管KMS金鑰

參數

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

putItem

指定訊息資料將寫入的 DynamoDB 表格物件。此物件必須包含下列資訊:

tableName

DynamoDB 資料表的名稱。

AWS CLI 僅支援替代範本: API和

roleARN

允許存取 DynamoDB 資料表IAM的角色。如需詳細資訊,請參閱要求

支援替代範本:否

寫入 DynamoDB 資料表的資料是規則SQL陳述式的結果。

範例

下列JSON範例定義 AWS IoT 規則中的 D ynamoDBv2 動作。

{ "topicRulePayload": { "sql": "SELECT * AS message FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "dynamoDBv2": { "putItem": { "tableName": "my_ddb_table" }, "roleArn": "arn:aws:iam::123456789012:role/aws_iot_dynamoDBv2", } } ] } }

下列JSON範例定義規則中具有替代範本的 DynamoDB 動作 AWS IoT 。

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2015-10-08", "actions": [ { "dynamoDBv2": { "putItem": { "tableName": "${topic()}" }, "roleArn": "arn:aws:iam::123456789012:role/aws_iot_dynamoDBv2" } } ] } }

另請參閱