[英]Sending data to AWS Kinesis stream cross-accounts with Lambda
我正在尝试将数据从 1 个 AWS 账户发送到 Kinesis stream 到另一个账户 Lambda。我尝试使用 assume-role,我的代码是:
assumed_role_object = self.sts_client.assume_role(
RoleArn="arn:aws:iam::XXXXXXXXXXX:role/cross-account-access",
RoleSessionName="AssumeRoleSession"
)
credentials = assumed_role_object['Credentials']
kinesis_resource = boto3.resource(
'kinesis',
aws_access_key_id=credentials['AccessKeyId'],
aws_secret_access_key=credentials['SecretAccessKey'],
aws_session_token=credentials['SessionToken'],
)
kinesis_resource.put_record(StreamName='StreamName',
Data=encoded,
PartitionKey=partition_key,
ExplicitHashKey='string',
SequenceNumberForOrdering='string'
)
我得到这个错误:
ResourceNotExistsError:“运动”资源不存在。 可用的资源是:
- 云形成
- 云表
- 动态模块
- EC2
- 冰川
- 我是
- 操作系统
- s3
- 社交网络
- 平方米
所以我明白sts
不支持kinesis
。 有人知道将数据发送到kinesis
跨帐户的方法吗?
可以参考此 aws 文档,它演示了使用 kinesis 客户端库 (java/python) 跨帐户应用程序写入 kinesis 数据 stream - https://aws.amazon.com/blogs/architecture/field-notes-how-to-enable-跨账户访问-for-amazon-kinesis-data-streams-using-kinesis-client-library-2-x/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.