冰川的亚马逊文档似乎不包含任何 Ruby 示例,并且文档本身相当稀疏。
我收集我需要实例化一个 Glacier 客户端对象,然后使用 upload_multipart_part 方法访问 Glacier API,但不知道如何按摩参数以传递给 upload_multipart_part。如何计算 AWS 使用 ruby 查找的校验和?什么是upload_id?
更新
通过阅读亚马逊的文档了解了大部分内容。他们似乎没有任何 ruby 代码示例,代码示例的 github 存储库不包括 Glacier。但是通过查看原始 API 文档和一些 Java 和 PHP 示例,看起来我会这样做:
client = AWS::Glacier::Client.new(access_key_id: ACCESS_KEY_ID, secret_access_key: SECRET_ACCESS_KEY)
resp = client.initiate_multipart_upload(account_id: ACCOUNT_ID, vault_name: 'My Vault', archive_description: "Backup of some stuff", part_size: PART_SIZE_IN_BYTES)
如果一切顺利,Amazon API 响应应该包含一个唯一的 upload_id,然后我将在后续调用中使用 client.upload_multipart_part()。
我猜校验和可以这样计算:
Digest::SHA256.file(file_to_upload).hexdigest
更新 2
似乎已经解决了这个问题: