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

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

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

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

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

  • archive-retrieval— アーカイブを取得します。

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

Amazon S3 Glacier Select ジョブの使用

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

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

  • SELECT クエリの出力のための出力場所を定義します。この場所は、クエリされているアーカイブオブジェクトを含むボールトと同じ AWS リージョンにある、Amazon S3 バケットである必要があります。ジョブを開始する AWS アカウントには、S3 バケットに書き込むためのアクセス許可が必要です。Amazon S3 に保存された出力オブジェクトに対して、ストレージクラスおよび暗号化を指定できます。S3 の場所 を設定する際、次の 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 ジョブの開始の例については、「リクエストの例 選択ジョブの開始」を参照してください。

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

アーカイブの取得やボールトインベントリの取得は、ユーザーがジョブを開始する必要がある非同期オペレーションです。一度開始したジョブはキャンセルできません。取得は、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 日 1 回のペースで更新します。この更新は、アーカイブがボールトに最初にアップロードされた日から開始します。最後のインベントリ以降に、ボールトに対してアーカイブの追加や削除が行われていない場合、インベントリの日付は更新されません。ボールトインベントリに対してジョブを開始すると、S3 Glacier により最後に生成されたインベントリが返されます。そのインベントリはポイントインタイムのスナップショットであり、リアルタイムのデータではありません。

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

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

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

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

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

ジョブの開始リクエストで、StartDate および EndDate パラメータの値を指定することにより、その間に作成されたアーカイブのインベントリ項目を取得することができます。StartDate 以降から EndDate までに作成されたアーカイブが返されます。_のみを提供する場合 StartDate 使用していない EndDateに作成されたすべてのアーカイブのインベントリを取得します。 StartDate。 _のみを提供する場合 EndDate 使用していない StartDateEndDate.

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

ジョブ開始リクエストで、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 フィールドで指定します。S3 Glacier がジョブの完了後に通知を送信する Amazon SNS トピックを指定する SNSTopic フィールドをオプションで指定できます。

注記

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" } }
注記

AccountId 値は、ボールトを所有するアカウントの AWS アカウント ID です。AWS アカウント ID を指定するか、必要に応じて 1 つのハイフン (-) を指定できます。ハイフンを指定すると、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) を参照してください。

タイプ 文字列

デフォルト値: なし。

x-amz-job-id

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

タイプ 文字列

デフォルト値: なし。

x-amz-job-output-path

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

タイプ 文字列

デフォルト値: なし。

レスポンス本文

この操作では、レスポンスボディは返しません。

Errors

このオペレーションには、以下の 1 つ以上のエラーが含まれています。さらに、すべての Amazon S3 Glacier オペレーションに共通のエラーが含まれている可能性があります。Amazon S3 Glacier のエラーの情報 とエラーコードのリストについては、「エラーレスポンス」を参照してください。

: Code 説明: 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 ジョブを開始します。

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/

関連するセクション