4

次のように、boto を使用して定期的にファイルを AWS Glacier にアップロードしています。

# Import boto's layer2
import boto.glacier.layer2

# Create a Layer2 object to connect to Glacier
l = boto.glacier.layer2.Layer2(aws_access_key_id=awsAccess, aws_secret_access_key=awsSecret)

# Get a vault based on vault name (assuming you created it already)
v = l.get_vault(vaultName)

# Create an archive from a local file on the vault
archiveID = v.create_archive_from_file(fileName)

ただし、サイズが 4 GB を超えるファイルの場合、これは失敗します。

これは、 Amazon Glacier の FAQで次のように指定されているためだと思います。

boto と AWS Glacier でマルチパートアップロード機能を使用するにはどうすればよいですか?

4

3 に答える 3

2

Amazon Glacierは、Archiveという用語を使用してファイルを説明します。つまり、4GBを超えるファイルを氷河にアップロードすることはできません。とにかくMultiPart Uploaderを試してみたい場合は、vault.concurrent_create_archive_from_fileまたはvault.create_archive_writerをご覧ください

于 2013-01-09T02:43:06.350 に答える
1

氷河のドキュメントには、次のように明確に記載されています。

アップロードするデータのサイズに応じて、Amazon Glacier は次のオプションを提供します。

  • 1 回の操作でアーカイブをアップロードする — 1 回の操作で、1 バイトから最大 4 GB のサイズのアーカイブをアップロードできます。ただし、Amazon Glacier のお客様には、マルチパート アップロードを使用して 100 MB を超えるアーカイブをアップロードすることをお勧めします。

  • アーカイブを分割してアップロードする - マルチパート アップロード API を使用すると、最大で約 40,000 GB (10,000 * 4 GB) の大きなアーカイブをアップロードできます。

    マルチパート アップロード API 呼び出しは、より大きなアーカイブのアップロード エクスペリエンスを向上させるように設計されています。アーカイブを分割してアップロードできます。これらのパーツは、任意の順序で並行して個別にアップロードできます。部分のアップロードが失敗した場合は、アーカイブ全体ではなく、その部分のみを再度アップロードする必要があります。マルチパート アップロードは、1 バイトから約 40,000 GB のサイズのアーカイブに使用できます。

botoレイヤー 2 では、次のいずれかの方法を使用する必要があることを意味します。boto.glacier.vault.Vault

  • concurrent_create_archive_from_file
  • create_archive_writer
  • upload_archive
于 2013-12-04T11:23:55.280 に答える