翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ジョブの開始 (ジョブの 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 ジョブを開始する際、以下の操作を行います。
-
SELECT クエリの出力のための出力場所を定義します。この場所は、クエリされているアーカイブオブジェクトを含むボールトと同じ リージョンにある、AWS Amazon S3 バケットである必要があります。ジョブを開始する AWS アカウント には、S3 バケットに書き込むための許可が必要です。Amazon S3 に保存された出力オブジェクトの ストレージクラスおよび暗号化を指定できます。S3 の場所 を設定する際、次の Amazon S3 ドキュメントのトピックが役立つかもしれません。
-
Amazon Simple Storage Service API リファレンスの「PutObject」
-
ACL によるアクセス管理のAmazon Simple Storage Service ユーザーガイド
-
詳細については、Amazon Simple Storage Service ユーザーガイドの「サーバー側の暗号化を使用したデータの保護」を参照してください。
-
-
SelectParameters のクエリの SELECT に使用する SQL 式を定義します。たとえば、次のような式を使用できます。
-
次の式の例では、指定されたオブジェクトからすべてのレコードが返されます。
SELECT * FROM archive
-
オブジェクトに保存されたデータのヘッダーを利用していない場合、位置ヘッダーを使用して列を指定できます。
SELECT s._1, s._2 FROM archive s WHERE s._3 > 100
-
ヘッダーがあり、
fileHeaderInfo
の CSVInput をUse
に設定している場合、クエリでヘッダーを指定できます。(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 ステップのプロセスです。
-
ジョブの開始 (ジョブの POST) オペレーションを使用して、取得ジョブを開始します。
重要 データ取り出しポリシーにより、
PolicyEnforcedException
が発生して、取り出しジョブの開始リクエストが失敗することがあります。データ取り出しポリシーの詳細については、「Amazon S3 Glacier データ取得ポリシー」を参照してください。PolicyEnforcedException
例外の詳細については、「エラーレスポンス」を参照してください。 -
ジョブが完了したら、ジョブの出力の取得 (GET output) オペレーションを使用してバイトをダウンロードします。
取得のリクエストは非同期的に実行されます。取得ジョブを開始すると、S3 Glacier はジョブを作成し、レスポンスでジョブ ID を返します。S3 Glacier がジョブを完了すると、ジョブの出力 (アーカイブデータまたはインベントリデータ) を取得できます。ジョブの出力の取得については、「ジョブの出力の取得 (GET output)」を参照してください。
出力を取得する前にジョブが完了している必要があります。次のオプションを使用してジョブの完了を確認できます。
-
Amazon SNS 通知を使用する-ジョブの完了後に S3 Glacier が通知を送信する トピックを指定できます。ジョブのリクエストごとに 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
を指定せずに、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 アーカイブの取得」を参照してください。
リクエスト
ジョブを開始するには、HTTP POST
メソッドを使用し、ボールトの jobs
サブリソースをリクエストの範囲として指定します。リクエストの JSON ドキュメントでジョブのリクエストの詳細を指定します。ジョブのタイプは Type
フィールドで指定します。S3 Glacier がジョブの完了後に通知を送信する Amazon SNS トピックを指定する SNSTopic
フィールドをオプションで指定できます。
Amazon SNS に通知を送信するには、トピックが存在しない場合は新しくトピックを作成する必要があります。 ではトピックを自動的に作成しません。S3 Glacier はトピックを作成しません。トピックには、S3 Glacier ボールトからパブリケーションを受け取るためのアクセス許可が必要です。S3 Glacier では、トピックへのパブリッシュのアクセス許可がボールトにあるかどうかは確認しません。アクセス許可が適切に設定されていない場合、ジョブが完了しても、通知が送信されない可能性があります。
構文
以下に示しているのは、ジョブの開始に対するリクエスト構文です。
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
valueAWS アカウントボールトを所有するアカウントの ID。AWS アカウント ID、または Amazon S3 Glacier がリクエストの署名に使用した認証情報に関連する AWS アカウント ID を使用している場合はオプションで`-
`「-」のどちらかを指定できます。アカウント ID を使用する場合は、ID にハイフン ('-') を含めないでください。
リクエスト本文
リクエストは、リクエストの本文にある JSON 形式で以下のデータを受け入れます。
- jobParameters
-
ジョブ情報を指定するためのオプションを提供します。
タイプ: jobParameters オブジェクト
必須: はい
レスポンス
S3 Glacier がジョブを作成します。レスポンスでは、ジョブの URI が返されます。
構文
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。この値も Type: 文字列 デフォルト: なし |
x-amz-job-output-path |
このヘッダーは、Select ジョブタイプに対してのみ返されます。Select の結果が保存されている場所へのパス。 Type: 文字列 デフォルト: なし |
レスポンス本文
このオペレーションでは、レスポンス本文は返しません。
エラー
この操作には、すべての Amazon S3 Glacier オペレーションに共通する可能性のあるエラーに加えて、次のエラーが含まれます。Amazon S3 Glacier のエラーとエラーコードのリストについては、「」を参照してください。エラーレスポンス。
コード | 説明 | HTTP ステータスコード | [Type] (タイプ) |
---|---|---|---|
InsufficientCapacityException |
この迅速リクエストを処理する容量が足りない場合に返されます。このエラーは、迅速取り出しにのみ該当し、標準取り出しまたは大容量取り出しには該当しません。 | 503 Service Unavailable |
サーバー |
例
リクエストの例: アーカイブの取得ジョブを開始する
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
ボールトからアーカイブのリストを取得します。リクエストボディで Format
が CSV
に設定されています。これは、インベントリが 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/
関連するセクション