AWS IoT
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

S3 操作

s3 操作可将触发规则的 MQTT 消息中的数据写入 Amazon S3 存储桶。使用 s3 操作创建 AWS IoT 规则时,您必须指定以下信息:

bucket

数据写入的 Amazon S3 存储桶。

cannedacl

控制对象访问的 Amazon S3 标准 ACL 由对象键标识。有关更多信息,请参阅 S3 标准 ACL

key

数据写入的文件路径。例如,如果此参数的值为“${topic()}/${timestamp()}”,消息发送至的主题为“this/is/my/topic”,当前时间戳为 1460685389,则数据将写入 Amazon S3 上“this/is/my/topic”文件夹中名为“1460685389”的文件。

注意

使用静态键将导致每次调用规则都会覆盖 Amazon S3 中的单个文件。更常见的使用案例是使用消息时间戳或其他唯一的消息标识符,这样可在 Amazon S3 中针对接收的每个消息保存一个新文件。

roleArn

允许访问 Amazon S3 存储桶的 IAM 角色。

注意

确保与规则关联的角色拥有授予 s3:PutObject 权限的策略。

下面的 JSON 示例介绍了如何在 AWS IoT 规则中定义 s3 操作:

{ "rule": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "actions": [{ "s3": { "roleArn": "arn:aws:iam::123456789012:role/aws_iot_s3", "bucketName": "my-bucket", "key": "${topic()}/${timestamp()}" } }] } }

有关更多信息,请参阅 Amazon S3 开发人员指南