【问题标题】:<Error><Code>AuthorizationHeaderMalformed</Code><错误><代码>AuthorizationHeaderMalformed</代码>
【发布时间】:2021-08-14 05:14:58
【问题描述】:

我正在使用 lambda 修改 s3 存储桶中的一些 csv 文件,并使用 AWS Javascript SDK 将其写入不同的 s3 存储桶。 getObject 和 putObject 的存储桶位于不同的区域。 lambda 与目标存储桶位于同一区域。但是目标存储桶中的修改文件中有这个错误

AuthorizationHeaderMalformed授权头格式错误;区域“us-east-1”是错误的;期待'us-west-2'us-west-2。

只要源存储桶和目标存储桶位于同一区域,我就会得到正确的修改文件。

当源存储桶和目标存储桶位于不同区域时,我需要进行哪些更改才能使其正常工作。

谢谢

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-lambda aws-step-functions


    【解决方案1】:

    S3 服务是全球性的,但存储桶本身是区域性的,这意味着当您需要使用存储桶时,您需要使用存储桶所在的同一区域。

    如果我理解正确,您的源存储桶位于 us-west-2,而您的目标存储桶位于 us-east-1

    所以你需要这样使用:

    s3_source = boto3.client('s3', region_name='us-west-2')
    ... your logic to get and handle the file ...
    
    s3_destination = boto3.client('s3', region_name='us-east-1')
    ... your logic to write the file ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-23
      • 1970-01-01
      • 1970-01-01
      • 2015-04-18
      相关资源
      最近更新 更多