繁体   English   中英

发送数据到 AWS Kinesis stream 与 Lambda 跨账户

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM