ジョブの開始 (ジョブの POST) - Amazon S3 Glacier

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ジョブの開始 (ジョブの POST)

このオペレーションでは、次のタイプの Amazon S3 Glacier (S3 Glacier) ジョブを開始します。

  • select— アーカイブに SELECT クエリを実行

  • archive-retrieval— アーカイブを取得する

  • inventory-retrieval— ボールトをインベントリします。

Amazon S3 Glacier セレクトジョブでの作業

S3 Glacier Select ジョブを使用して、アーカイブオブジェクトに SQL クエリを実行できます。Select ジョブによってクエリを実行しているアーカイブオブジェクトは、非圧縮のカンマ区切り値 (CSV) ファイルとしてフォーマットされる必要があります。S3 Glacier Select ジョブに関する概要については、「」を参照してください。S3 Glacier セレクトを使用したアーカイブのクエリ

Select ジョブを開始する際、以下の操作を行います。

  • SELECT クエリの出力のための出力場所を定義します。この場所は同じ場所にある Amazon S3 バケットにする必要があります。AWSクエリーされているアーカイブオブジェクトを含むボールトとしてのリージョン。- AWS アカウント ジョブを開始するには、S3 バケットに書き込むための許可が必要です。Amazon S3 に保存された出力オブジェクトに対して、ストレージクラスおよび暗号化を指定できます。設定時S3Locationでは、Amazon S3 のドキュメントで以下のトピックを読むと役立つ場合があります。

  • SelectParameters のクエリの SELECT に使用する SQL 式を定義します。たとえば、次のような式を使用できます。

    • 次の式の例では、指定されたオブジェクトからすべてのレコードが返されます。

      SELECT * FROM archive
    • オブジェクトに保存されたデータのヘッダーを利用していない場合、位置ヘッダーを使用して列を指定できます。

      SELECT s._1, s._2 FROM archive s WHERE s._3 > 100
    • ヘッダーがあり、fileHeaderInfoCSVInputUse に設定している場合、クエリでヘッダーを指定できます。(fileHeaderInfo フィールドを Ignore に設定した場合は、クエリの最初の行はスキップされます。) 序数の位置とヘッダーの列名を混在させることはできません。

      SELECT s.Id, s.FirstName, s.SSN FROM archive s

S3 Glacier Select で SQL を使用する方法については、「」を参照してください。Amazon S3 Select と S3 Glacier Select の SQL リファレンス

Select ジョブを開始する際、以下の操作を行うこともできます。

  • Expedited 階層を指定して、クエリを迅速に処理します。詳細については、「迅速、標準、および大容量階層」を参照してください。

  • クエリ中の入力オブジェクト、および CSV でエンコードされたクエリの結果の両方についての、データシリアル化形式に関する詳細を指定します。

  • ジョブが完了した後、S3 Glacier が通知を送信する Amazon Simple Notification Service (Amazon SNS) トピックを指定します。ジョブのリクエストごとに SNS トピックを指定できます。S3 Glacier がジョブを完了した後にのみ、通知が送信されます。

  • ジョブの進行中に、ジョブの説明 (GET JobID) を使用してジョブのステータス情報を取得できます。ただし、ジョブの完了を確認するには Amazon SNS 通知を使用する方が効率的です。

Select ジョブを使用する際、以下の操作を行うことはできません。

  • GetJobOutput オペレーションの呼び出し。ジョブ出力は、出力場所に書き込まれます。

  • 範囲指定した選択の使用。

Select ジョブの開始の例については、「リクエストの例: Select ジョブを開始する」を参照してください。

アーカイブまたはボールトインベントリ取得ジョブの初期化

アーカイブの取得やボールトインベントリの取得は、ユーザーがジョブを開始する必要がある非同期オペレーションです。一度開始したジョブはキャンセルできません。取得は、2 ステップのプロセスです。

  1. ジョブの開始 (ジョブの POST) オペレーションを使用して、取得ジョブを開始します。

    重要

    データ取り出しポリシーにより、PolicyEnforcedException が発生して、取り出しジョブの開始リクエストが失敗することがあります。データ取り出しポリシーの詳細については、「Amazon S3 Glacier のデータ取り出しポリシー」を参照してください。PolicyEnforcedException 例外の詳細については、「エラーレスポンス」を参照してください。

  2. ジョブが完了したら、ジョブの出力の取得 (GET output) オペレーションを使用してバイトをダウンロードします。

取得リクエストは非同期的に実行されます。取得ジョブを開始すると、S3 Glacier によりジョブが作成され、レスポンスでジョブ ID が返されます。S3 Glacier がジョブを完了すると、ジョブの出力 (アーカイブデータまたはインベントリデータ) を取得できます。ジョブの出力の取得については、「ジョブの出力の取得 (GET output)」を参照してください。

出力を取得する前にジョブが完了している必要があります。次のオプションを使用してジョブの完了を確認できます。

  • Amazon SNS 通知を使用します。ジョブの完了後に S3 Glacier が通知を送信する Amazon SNS トピックを指定できます。ジョブのリクエストごとに SNS トピックを指定できます。S3 Glacier がジョブを完了した後にのみ、通知が送信されます。ジョブのリクエストごとに SNS トピックを指定することに加え、すべての取得に対してジョブの通知が送信されるように、ボールトにボールト通知を設定することもできます。詳細については、「ボールトの通知設定の指定 (PUT notification-configuration)」を参照してください。

  • ジョブの詳細を取得する—あなたは作ることができますジョブの説明 (GET JobID)ジョブの進行中にジョブステータス情報を取得するようにリクエストします。ただし、ジョブの完了を確認するには Amazon SNS 通知を使用する方が効率的です。

注記

通知により取得する情報は、ジョブの説明 (GET JobID) を呼び出して取得する情報と同じです。

特定のイベントに対して、ボールトの通知設定を追加し、さらに、ジョブの開始リクエストで SNS トピックを指定した場合、S3 Glacier は両方の通知を送信します。詳細については、「ボールトの通知設定の指定 (PUT notification-configuration)」を参照してください。

ボールトインベントリ

S3 Glacier は、アーカイブをボールトに最初にアップロードした日から約 1 回のボールトインベントリを更新します。最後のインベントリ以降に、ボールトに対してアーカイブの追加や削除が行われていない場合、インベントリの日付は更新されません。ボールトインベントリのジョブを開始すると、S3 Glacier によって最後に生成されたインベントリが返されます。インベントリはポイントインタイムのスナップショットであり、リアルタイムのデータではありません。

S3 Glacier によってボールトに対して最初に作成されるインベントリは、取得できるようになるまで、通常半日から最大 1 日かかります。

アーカイブをアップロードするごとにボールトインベントリを取得することは、あまり便利には感じられないかもしれません。ただし、S3 Glacier にアップロードしたアーカイブに関するメタデータに関連付けられたデータベースをクライアント側で管理する場合を考えてみて下さい。そのような場合には、実際のボールトインベントリとデータベース内の情報とを必要に応じて照合できるため、ボールトインベントリの利便性が実感できるものと思われます。インベントリジョブの出力で返されるデータフィールドの詳細については、「レスポンス本文」を参照してください。

インベントリの取得の範囲

アーカイブの作成日でフィルタするか、制限を設定することによって、取得されるインベントリの項目数を制限できます。

アーカイブの作成日によるフィルタリング

次の間に作成されたアーカイブのインベントリアイテムを取得できます。StartDateおよびEndDateこれらのパラメータの値をジョブの開始リクエスト. StartDate 以降から EndDate までに作成されたアーカイブが返されます。StartDate を指定せずに、EndDate のみを指定した場合、StartDate 以降に作成されたすべてのアーカイブのインベントリを取得します。EndDate を指定せずに、StartDate のみを指定した場合、EndDate までに作成されたすべてのアーカイブのインベントリを取得します。

インベントリ項目の取得ごとの制限

返品されるインベントリの項目数を制限するには、Limitパラメータのジョブの開始リクエスト. インベントリジョブの出力には、Limit に指定した最大数のインベントリ項目が含まれます。利用可能なインベントリ項目がまだ存在する場合、結果がページ分割されます。ジョブの完了後、ジョブの説明 (GET JobID) オペレーションを使用して、次のジョブ開始リクエストで使用するマーカーを取得することができます。マーカーは、次に取得するインベントリ項目のセットの開始点を示します。繰り返し作成することで、インベントリ全体をページスルーできますジョブの開始前のマーカーを使用したリクエストジョブの説明出力。インベントリ項目がこれ以上存在しないことを示す、ジョブの説明のマーカーに null が返されるまでこれを行います。

Limit パラメータは日付範囲のパラメータとともに使用できます。

アーカイブの取得範囲

アーカイブ全体またはアーカイブの特定の範囲に対して、アーカイブの取得を開始することができます。アーカイブの取得範囲を指定する場合、返されるバイト範囲か、アーカイブ全体を指定できます。指定する範囲は、メガバイト (MB) 単位に調整されている必要があります。つまり、範囲の開始値は 1 MB で割り切れる値で、範囲の終了値は 1 を足すと 1 MB で割り切れる値またはアーカイブの終了値と同じである必要があります。アーカイブの取得範囲がメガバイト単位に調整されていない場合、このオペレーションではレスポンスで 400 が返されます。さらに、ジョブの出力の取得 (ジョブの出力の取得 (GET output)) を使用して、ダウンロードするデータのチェックサムの値を取得するには、指定する範囲が木構造ハッシュ可能になっている必要があります。木構造ハッシュ可能な範囲の詳細については、「データをダウンロードするときのチェックサムの受信」を参照してください。

迅速、標準、および大容量階層

選択またはアーカイブの取得ジョブを開始する際、リクエストボディの Tier フィールドに以下のオプションのいずれかを指定できます。

  • Expedited— 迅速では、アーカイブのサブセットが迅速に必要になった場合にデータにすばやくアクセスできます。最大規模のアーカイブ (250 MB 以上) を除くすべてのアーカイブについては、迅速階層でアクセスしたデータは通常 1–5 分以内で使用可能になります。

  • Standard— 標準では、数時間以内にすべてのアーカイブにアクセスできます。標準階層を使用してアクセスしたデータは、通常 3-5 時間以内に利用できるようになります。このオプションは、階層オプションを指定しないでジョブリクエストを行った場合のデフォルトです。

  • Bulk— 大容量は S3 Glacier の最も安価な階層であり、大量のデータ (ペタバイトのデータを含む) を 1 日以内に取得できます。大容量階層を使用してアクセスしたデータは、通常 5-12 時間以内に利用できるようになります。

迅速取り出しと大容量取り出しの詳細については、「S3 Glacier アーカイブを取得する」を参照してください。

Requests

ジョブを開始するには、HTTP POST メソッドを使用し、ボールトの jobs サブリソースをリクエストの範囲として指定します。リクエストの JSON ドキュメントでジョブのリクエストの詳細を指定します。ジョブのタイプは Type フィールドで指定します。オプションで、SNSTopicフィールドに、S3 Glacier がジョブの完了後に通知を投稿する Amazon SNS トピックを示します。

注記

Amazon SNS に通知を送信するには、トピックが存在しない場合は自分でトピックを作成する必要があります。S3 Glacier はトピックを作成しません。トピックには、S3 Glacier ボールトから通知を受け取るためのアクセス許可が必要です。S3 Glacier は、ボールトにトピックに通知を発行するためのアクセス許可がボールトにあるかどうかを確認しません。アクセス許可が適切に設定されていない場合、ジョブが完了しても、通知が送信されない可能性があります。

Syntax

以下に示しているのは、ジョブの開始に対するリクエスト構文です。

POST /AccountId/vaults/VaultName/jobs HTTP/1.1 Host: glacier.Region.amazonaws.com Date: Date Authorization: SignatureValue x-amz-glacier-version: 2012-06-01 { "jobParameters": { "ArchiveId": "string", "Description": "string", "Format": "string", "InventoryRetrievalParameters": { "EndDate": "string", "Limit": "string", "Marker": "string", "StartDate": "string" }, "OutputLocation": { "S3": { "AccessControlList": [ { "Grantee": { "DisplayName": "string", "EmailAddress": "string", "ID": "string", "Type": "string", "URI": "string" }, "Permission": "string" } ], "BucketName": "string", "CannedACL": "string", "Encryption": { "EncryptionType": "string", "KMSContext": "string", "KMSKeyId": "string" }, "Prefix": "string", "StorageClass": "string", "Tagging": { "string" : "string" }, "UserMetadata": { "string" : "string" } } }, "RetrievalByteRange": "string", "SelectParameters": { "Expression": "string", "ExpressionType": "string", "InputSerialization": { "csv": { "Comments": "string", "FieldDelimiter": "string", "FileHeaderInfo": "string", "QuoteCharacter": "string", "QuoteEscapeCharacter": "string", "RecordDelimiter": "string" } }, "OutputSerialization": { "csv": { "FieldDelimiter": "string", "QuoteCharacter": "string", "QuoteEscapeCharacter": "string", "QuoteFields": "string", "RecordDelimiter": "string" } } }, "SNSTopic": "string", "Tier": "string", "Type": "string" } }
注記

-AccountIdvalue は AWS アカウント ボールトを所有するアカウントの ID。次のいずれかを指定できます。 AWS アカウント ID またはオプションで単一の '-'(ハイフン)。この場合、Amazon S3 Glacier は AWS アカウント リクエストに署名するため使用された認証情報に関連する ID。アカウント ID を使用する場合は、ID にハイフン ('-') を含めないでください。

リクエストボディ

リクエストは、リクエストの本文にある JSON 形式で以下のデータを受け入れます。

jobParameters

ジョブ情報を指定するためのオプションを提供します。

タイプ: jobParameters オブジェクト

必須: あり

Responses

S3 Glacier がジョブを作成します。レスポンスでは、ジョブの URI が返されます。

Syntax

HTTP/1.1 202 Accepted x-amzn-RequestId: x-amzn-RequestId Date: Date Location: location x-amz-job-id: jobId x-amz-job-output-path: jobOutputPath

レスポンスヘッダー

ヘッダー 説明
Location

ジョブの相対 URI パス。この URI パスを使用して、ジョブのステータスを確認することができます。詳細については、「ジョブの説明 (GET JobID)」を参照してください。

Type: 文字列

デフォルト: なし

x-amz-job-id

ジョブの ID。この値も Location ヘッダーの一部として含まれます。

Type: 文字列

デフォルト: なし

x-amz-job-output-path

このヘッダーは、Select ジョブタイプに対してのみ返されます。Select の結果が保存されている場所へのパス。

Type: 文字列

デフォルト: なし

レスポンス本文

このオペレーションでは、レスポンス本文は返しません。

Errors

この操作には、すべての Amazon S3 Glacier オペレーションに共通する可能性のあるエラーに加えて、次のエラーが含まれます。Amazon S3 Glacier のエラーとエラーコードのリストについては、「」を参照してください。エラーレスポンス

コード 説明 HTTP ステータスコード タイプ
InsufficientCapacityException この迅速リクエストを処理する容量が足りない場合に返されます。このエラーは、迅速取り出しにのみ該当し、標準取り出しまたは大容量取り出しには該当しません。 503 Service Unavailable サーバー

Examples

リクエストの例: アーカイブの取得ジョブを開始する

POST /-/vaults/examplevault/jobs HTTP/1.1 Host: glacier.us-west-2.amazonaws.com x-amz-Date: 20170210T120000Z x-amz-glacier-version: 2012-06-01 Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20141123/us-west-2/glacier/aws4_request,SignedHeaders=host;x-amz-date;x-amz-glacier-version,Signature=9257c16da6b25a715ce900a5b45b03da0447acf430195dcb540091b12966f2a2 { "Type": "archive-retrieval", "ArchiveId": "NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId", "Description": "My archive description", "SNSTopic": "arn:aws:sns:us-west-2:111111111111:Glacier-ArchiveRetrieval-topic-Example", "Tier" : "Bulk" }

以下は、RetrievalByteRange フィールドを使用して、取得するアーカイブの範囲を指定するリクエストの本文の例です。

{ "Type": "archive-retrieval", "ArchiveId": "NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId", "Description": "My archive description", "RetrievalByteRange": "2097152-4194303", "SNSTopic": "arn:aws:sns:us-west-2:111111111111:Glacier-ArchiveRetrieval-topic-Example", "Tier" : "Bulk" }

レスポンスの例

HTTP/1.1 202 Accepted x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q Date: Wed, 10 Feb 2017 12:00:00 GMT Location: /111122223333/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID x-amz-job-id: HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID

リクエストの例: インベントリの取得ジョブを開始する

以下のリクエストでは、インベントリ取得ジョブを開始して、examplevault ボールトからアーカイブのリストを取得します。リクエストボディで FormatCSV に設定されています。これは、インベントリが CSV 形式で返されることを示しています。

POST /-/vaults/examplevault/jobs HTTP/1.1 Host: glacier.us-west-2.amazonaws.com x-amz-Date: 20170210T120000Z Content-Type: application/x-www-form-urlencoded x-amz-glacier-version: 2012-06-01 Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20141123/us-west-2/glacier/aws4_request,SignedHeaders=host;x-amz-date;x-amz-glacier-version,Signature=9257c16da6b25a715ce900a5b45b03da0447acf430195dcb540091b12966f2a2 { "Type": "inventory-retrieval", "Description": "My inventory job", "Format": "CSV", "SNSTopic": "arn:aws:sns:us-west-2:111111111111:Glacier-InventoryRetrieval-topic-Example" }

レスポンスの例

HTTP/1.1 202 Accepted x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q Date: Wed, 10 Feb 2017 12:00:00 GMT Location: /111122223333/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID x-amz-job-id: HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID

リクエストの例: 日付によるフィルタリングを使用し、制限を設定してインベントリを取得するジョブを開始し、後続のリクエストでインベントリ項目の次のページを取得する。

次のリクエストでは、日付によるフィルタリングを使用し、制限を設定して、ボールトインベントリ取得ジョブを開始します。

{ "ArchiveId": null, "Description": null, "Format": "CSV", "RetrievalByteRange": null, "SNSTopic": null, "Type": "inventory-retrieval", "InventoryRetrievalParameters": { "StartDate": "2013-12-04T21:25:42Z", "EndDate": "2013-12-05T21:25:42Z", "Limit" : "10000" }, }

以下のリクエストは、ジョブの説明 (GET JobID) で取得したマーカーを使用して、インベントリ項目の次のページを取得する後続のリクエストの例です。

{ "ArchiveId": null, "Description": null, "Format": "CSV", "RetrievalByteRange": null, "SNSTopic": null, "Type": "inventory-retrieval", "InventoryRetrievalParameters": { "StartDate": "2013-12-04T21:25:42Z", "EndDate": "2013-12-05T21:25:42Z", "Limit": "10000", "Marker": "vyS0t2jHQe5qbcDggIeD50chS1SXwYMrkVKo0KHiTUjEYxBGCqRLKaiySzdN7QXGVVV5XZpNVG67pCZ_uykQXFMLaxOSu2hO_-5C0AtWMDrfo7LgVOyfnveDRuOSecUo3Ueq7K0" }, }

リクエストの例: Select ジョブを開始する

次のリクエストでは、Select ジョブを開始します。

POST /-/vaults/examplevault/jobs HTTP/1.1 Host: glacier.us-west-2.amazonaws.com x-amz-Date: 20170210T120000Z Content-Type: application/x-www-form-urlencoded x-amz-glacier-version: 2012-06-01 Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20141123/us-west-2/glacier/aws4_request,SignedHeaders=host;x-amz-date;x-amz-glacier-version,Signature=9257c16da6b25a715ce900a5b45b03da0447acf430195dcb540091b12966f2a2 { "Type": "select", "ArchiveId": "NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId", "Description": null, "SNSTopic": null, "Tier": "Bulk", "SelectParameters": { "Expression": "select * from archive", "ExpressionType": "SQL", "InputSerialization": { "csv": { "Comments": null, "FileHeaderInfo": "None", "QuoteEscapeCharacter": "\"", "RecordDelimiter": "\n", "FieldDelimiter": ",", "QuoteCharacter": "\"" } }, "OutputSerialization": { "csv": { "QuoteFields": "AsNeeded", "QuoteEscapeCharacter": null, "RecordDelimiter": "\n", "FieldDelimiter": ",", "QuoteCharacter": "\"" } } }, "OutputLocation": { "S3": { "BucketName": "bucket-name", "Prefix": "test", "Encryption": { "EncryptionType": "AES256" }, "CannedACL": "private", "StorageClass": "STANDARD" } } }

レスポンスの例

HTTP/1.1 202 Accepted x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q Date: Wed, 10 Feb 2017 12:00:00 GMT Location: /111122223333/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID x-amz-job-id: HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID x-amz-job-output-path: test/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID/

関連するセクション