boto initial_multipart_upload 因签名不匹配而失败

贝克

我目前正在尝试在互操作模式下cassandra_snapshotter与云存储一起使用但是,第一个上传文件的请求因签名不匹配而失败。

做了一个小测试,因为即使是第一个请求也失败了:

import boto
from boto.s3.connection import S3Connection

connection = S3Connection(
    aws_access_key_id='GOOGY',
    aws_secret_access_key='SECRET',
    host='storage.googleapis.com'
)
bucket = connection.get_bucket('foo-cassandra-backups', validate=False)

mp = bucket.initiate_multipart_upload('/g/mnt/cassandra-data2/data/bar/baz-63b205e0618711e7a41cf5e393c7464c/snapshots/20170705150900/manifest.json.lzo')

这失败了:

send: 'POST /g/mnt/cassandra-data2/data/foo/threshold-63b205e0618711e7a41cf5e393c7464c/snapshots/20170705150900/manifest.json.lzo?uploads HTTP/1.1\r\nHost: blubb-cassandra-backups.storage.googleapis.com\r\nAccept-Encoding: identity\r\nDate: Thu, 06 Jul 2017 11:18:46 GMT\r\nContent-Length: 0\r\nAuthorization: AWS BLUBB:F6Ml3vSzDphY7UTGNuf3m+fe19I=\r\nUser-Agent: Boto/2.47.0 Python/2.7.12 Linux/4.4.0-83-generic\r\n\r\n'
reply: 'HTTP/1.1 403 Forbidden\r\n'
header: X-GUploader-UploadID: BLUBB
header: Content-Type: application/xml; charset=UTF-8
header: Content-Length: 447
header: Vary: Origin
header: Date: Thu, 06 Jul 2017 11:18:46 GMT
header: Server: UploadServer
Traceback (most recent call last):
  File "foo.py", line 11, in <module>
    mp = bucket.initiate_multipart_upload('/g/mnt/cassandra-data2/data/foo/threshold-63b205e0618711e7a41cf5e393c7464c/snapshots/20170705150900/manifest.json.lzo')
  File "/usr/local/lib/python2.7/dist-packages/boto/s3/bucket.py", line 1767, in initiate_multipart_upload
    response.status, response.reason, body)
boto.exception.S3ResponseError: S3ResponseError: 403 Forbidden
<?xml version='1.0' encoding='UTF-8'?><Error><Code>SignatureDoesNotMatch</Code><Message>The request signature we calculated does not match the signature you provided. Check your Google secret key and signing method.</Message><StringToSign>POST


Thu, 06 Jul 2017 11:18:46 GMT
/blubb-cassandra-backups/g/mnt/cassandra-data2/data/foo/threshold-63b205e0618711e7a41cf5e393c7464c/snapshots/20170705150900/manifest.json.lzo</StringToSign></Error>

所以我猜在这种情况下 API 不兼容,我在这里相对迷失了如何正确修复它。此外,我想避免对上传器进行大的更改,因为我们还需要部署补丁。

编辑:这是与 boto 2.47 一起使用的,我想这是因为 AWS 需要?uploads参数,但 googles API 不同,因此在签名中不需要它。

特拉维斯·霍布拉

Google Cloud Storage 不支持 S3 API 的分段上传功能,因此我建议使用常规上传方法(例如set_contents_from_file())。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

boto-由于架构不匹配,删除失败

来自分类Dev

使用Boto创建EMR失败

来自分类Dev

Presto因类型不匹配错误而失败

来自分类Dev

boto dynamodb batch_write和delete_item-'提供的键元素与架构不匹配'

来自分类Dev

AWS Boto(python)是否支持SES签名版本4?

来自分类Dev

AWS Boto(python)是否支持SES签名版本4?

来自分类Dev

Boto3预签名URL,用于下载和上传

来自分类Dev

Magento XMLRPC调用失败,显示“调用参数与签名不匹配”

来自分类Dev

boto3.Bucket.upload_file是阻止还是非阻止?

来自分类Dev

Boto是否会重试失败的md5检查?

来自分类Dev

在boto3 python 3.8 lambda中获取请求失败

来自分类Dev

Boto GCS身份验证设置失败:无此类文件

来自分类Dev

Boto S3 API不返回完整的密钥列表

来自分类Dev

boto3不返回控制台中的元素

来自分类Dev

boto3:Table.get_item不返回项目

来自分类Dev

Boto3-Delete_snapshot不评估变量

来自分类Dev

为什么三元运算符会因类型不匹配错误而失败?

来自分类Dev

为什么对Deref :: deref的结果进行断言会因类型不匹配而失败?

来自分类Dev

为什么三元运算符会因类型不匹配错误而失败?

来自分类Dev

Scala reduceList因类型不匹配而需要java.io.Serializable失败

来自分类Dev

Boto3自定义服务员因没有资源许可而被拒绝

来自分类Dev

Azure共享访问签名-签名不匹配

来自分类Dev

使用boto3的S3预签名帖子网址问题

来自分类Dev

通过boto3更新S3对象元数据时出现签名错误

来自分类Dev

如何使用 Boto3 在 Cloudformation 中获取 API 网关的预签名 URL?

来自分类Dev

AttributeError: 'dict' 对象没有属性 'append' boto3 生成预先签名的帖子

来自分类Dev

在 boto3 中创建/使用预签名 URL 时无法验证访问凭据

来自分类Dev

类方法签名不匹配?

来自分类Dev

对于主题名称不匹配的自签名CA,SecTrustEvaluate失败,并出现kSecTrustResultRecoverableTrustFailure

Related 相关文章

  1. 1

    boto-由于架构不匹配,删除失败

  2. 2

    使用Boto创建EMR失败

  3. 3

    Presto因类型不匹配错误而失败

  4. 4

    boto dynamodb batch_write和delete_item-'提供的键元素与架构不匹配'

  5. 5

    AWS Boto(python)是否支持SES签名版本4?

  6. 6

    AWS Boto(python)是否支持SES签名版本4?

  7. 7

    Boto3预签名URL,用于下载和上传

  8. 8

    Magento XMLRPC调用失败,显示“调用参数与签名不匹配”

  9. 9

    boto3.Bucket.upload_file是阻止还是非阻止?

  10. 10

    Boto是否会重试失败的md5检查?

  11. 11

    在boto3 python 3.8 lambda中获取请求失败

  12. 12

    Boto GCS身份验证设置失败:无此类文件

  13. 13

    Boto S3 API不返回完整的密钥列表

  14. 14

    boto3不返回控制台中的元素

  15. 15

    boto3:Table.get_item不返回项目

  16. 16

    Boto3-Delete_snapshot不评估变量

  17. 17

    为什么三元运算符会因类型不匹配错误而失败?

  18. 18

    为什么对Deref :: deref的结果进行断言会因类型不匹配而失败?

  19. 19

    为什么三元运算符会因类型不匹配错误而失败?

  20. 20

    Scala reduceList因类型不匹配而需要java.io.Serializable失败

  21. 21

    Boto3自定义服务员因没有资源许可而被拒绝

  22. 22

    Azure共享访问签名-签名不匹配

  23. 23

    使用boto3的S3预签名帖子网址问题

  24. 24

    通过boto3更新S3对象元数据时出现签名错误

  25. 25

    如何使用 Boto3 在 Cloudformation 中获取 API 网关的预签名 URL?

  26. 26

    AttributeError: 'dict' 对象没有属性 'append' boto3 生成预先签名的帖子

  27. 27

    在 boto3 中创建/使用预签名 URL 时无法验证访问凭据

  28. 28

    类方法签名不匹配?

  29. 29

    对于主题名称不匹配的自签名CA,SecTrustEvaluate失败,并出现kSecTrustResultRecoverableTrustFailure

热门标签

归档