5

glacier の amazon ドキュメントには Ruby の例が含まれていないようで、ドキュメント自体はかなりまばらです。

Glacier クライアント オブジェクトをインスタンス化してから、upload_multipart_part メソッドを使用して Glacier API にアクセスする必要があると思いますが、upload_multipart_part に渡す引数をマッサージする方法がわかりません。Ruby を使用して AWS が探しているチェックサムを計算するにはどうすればよいですか? そして、upload_id とは何ですか?

アップデート

Amazonのドキュメントを読んで、これのほとんどを理解しました。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

これはすでに解決されているようです:

https://github.com/fog/fog

4

1 に答える 1

2

興味のある人にとっては、このリンクが役に立ち、必要なもののほとんどをカバーしています。

http://www.spacevatican.org/2012/9/4/using-glacier-with-fog/

氷河オブジェクトをインスタンス化する方法のすべての詳細を実際に提供しているわけではありません。

glacier = Fog::AWS::Glacier.new({
  :aws_access_key_id => YOUR_ACCESS_KEY_ID,
  :aws_secret_access_key => YOUR_SECRET_ACCESS_KEY
})
于 2013-10-15T18:15:38.857 に答える