【发布时间】:2021-08-15 12:20:18
【问题描述】:
这个问题与this question和this question类似,但无法通过他们的回答来解决。
我正在尝试在 AWS 中创建一个简单的流,使用 kinesis firehose 将数据流式传输到 s3 存储桶。流和存储桶都位于us-east-1,如this post 所指定。
然后,我创建了一个用户,其中包含可用于 kinesis 的所有可能的内联策略(特别是 PutRecord)。我再次检查了存储桶和流的区域是否相同,并再次检查了流名称。
在我的电脑上aws configure之后我尝试运行:
aws kinesis put-record --stream-name my-stream-name --data file://payload.json --partition-key 1
但我收到ResourceNotFoundException ... Stream my-stream-name under account ... not found。
几天来,我一直在试图找出可能是什么问题,老实说,在到处搜索并为多个地区、用户和政策多次重建信息流之后,我已经没有想法了。
有人遇到过这个问题并设法解决吗?关于可能缺少什么的任何想法?我可以尝试从 python -> kinesis -> s3 做一个简单流的教程有什么建议吗?
谢谢大家!
【问题讨论】:
-
您是否尝试将
--region us-east-1添加到命令中以明确确保它使用正确的区域?您还可以添加--debug标志来验证它使用的是正确的端点。 -
谢谢回复,我刚试过,
--region us-east-1不行。我正在分析调试输出。 -
我不是root用户,会不会和我不知道的IAM权限有关?
-
这与 root 无关。也许您为 AWS CLI 使用了错误的帐户。
-
我刚刚为用户生成了一个新的访问密钥,并在新终端上使用了
aws configure(以确保没有环境变量干扰)。仔细检查了该区域,仍然无法正常工作 =( 可能是创建的用户缺少一些 IAM 权限?但我不知道还有什么可能,我提供了所有 kinesis 内联策略和对所有资源的访问权限。
标签: amazon-web-services amazon-s3 amazon-kinesis amazon-kinesis-firehose