要解决 AWS TimeStream 创建批量加载任务的 S3 IAM 权限问题,需要以步骤方式执行以下操作:
下面是一个示例 PolicyJSON,可以将其添加到 S3 存储桶中以授予 TimeStream S3 访问权限。 这个示例策略允许 TimeStream 访问指定 S3 存储桶和文件夹。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "TS3BatchLoadAccessPolicy",
"Effect": "Allow",
"Principal": {
"Service": "timestream.amazonaws.com"
},
"Action": [
"s3:GetObject",
"s3:GetObjectVersion",
"s3:PutObject",
"s3:AbortMultipartUpload",
"s3:ListMultipartUploadParts"
],
"Resource": [
"arn:aws:s3:::Your-Bucket-Name/Your-Folder-Name/*",
"arn:aws:s3:::Your-Bucket-Name/Your-Folder-Name"
]
}
]
}
添加 PolicyJSON 后,使用该存储桶中的 AWS CLI 创建 TS 数据库并加载数据即可。
注意: 还需要为表、数据中的 TS 数据库和 TS表授予适当的权限,才能成功加载数据到 TimeStream 中的表。