アーカイブオブジェクトのリアルタイムアクセスを有効にしていない場合、アーカイブオブジェクトにアクセスするには、復元する必要があります。 コールドアーカイブオブジェクトとディープコールドアーカイブオブジェクトでは、アーカイブオブジェクトのリアルタイムアクセスはサポートされていません。 コールドアーカイブオブジェクトとディープコールドアーカイブオブジェクトにアクセスするには、復元する必要があります。 GetObject、ProcessImage、CopyObject、UploadPartCopy、SelectObject、PostProcessTask などのアクセス操作がサポートされています。 このトピックでは、アーカイブオブジェクト、コールドアーカイブオブジェクト、およびディープコールドアーカイブオブジェクトにアクセスするために復元する方法について説明します。
前提条件
復元するオブジェクトのストレージタイプは、アーカイブ、コールドアーカイブ、またはディープコールドアーカイブです。 詳細については、「ストレージタイプ」をご参照ください。
oss:RestoreObject権限が付与されている必要があります。 詳細については、「RAM ユーザーにカスタムポリシーをアタッチする」をご参照ください。
使用上の注意
RestoreObject 操作は、アーカイブ、コールドアーカイブ、およびディープコールドアーカイブオブジェクトにのみ適用されます。 この操作は、標準ストレージまたは低頻度アクセス(IA)オブジェクトには適用されません。
アーカイブ、コールドアーカイブ、およびディープコールドアーカイブオブジェクトに対して
DeleteObject、DeleteMultipleObjects、GetObjectMeta、HeadObjectなどのアクセス以外の操作を呼び出す場合、オブジェクトを復元する必要はありません。 前述の操作では、オブジェクトが復元されていると、不要な料金が発生します。アーカイブオブジェクト、コールドアーカイブオブジェクト、またはディープコールドアーカイブオブジェクトに対して RestoreObject 操作を初めて呼び出すと、HTTP ステータスコード 202 が返されます。 復元されたオブジェクトに対して RestoreObject 操作を呼び出すと、200 OK が返されます。
復元中のオブジェクトに対して RestoreObject 操作を呼び出すと、操作は失敗し、HTTP ステータスコード 409 が返されます。 オブジェクトが復元された後、オブジェクトに対して RestoreObject 操作を再度呼び出すことができます。
バージョン管理が有効なバケットでは、オブジェクトの異なるバージョンのストレージタイプが異なる場合があります。 デフォルトでは、オブジェクトに対して RestoreObject 操作を呼び出すと、オブジェクトの現在のバージョンが復元されます。 リクエストでバージョン ID を指定して、オブジェクトの特定のバージョンを復元できます。
プロセス
アーカイブ、コールドアーカイブ、およびディープコールドアーカイブオブジェクトには、次の復元プロセスが適用されます。
最初は、オブジェクトは凍結ステータスです。
オブジェクトの復元リクエストが送信されると、オブジェクトは復元中ステータスになります。
OSS サーバーが復元タスクを完了すると、オブジェクトは解凍状態になり、アクセスできるようになります。
解凍状態のオブジェクトに対して別の復元リクエストを開始して、オブジェクトの解凍状態の期間を延長できます。 オブジェクトの解凍状態の期間は、対応するストレージタイプでサポートされている最大期間を超えることはできません。
解凍状態の期間が終了すると、オブジェクトは凍結ステータスに戻ります。
復元時間
次の表に、異なるストレージタイプのオブジェクトの復元時間を示します。 指定された復元時間は参考値です。 復元時間は、実際のシナリオによって異なる場合があります。
ストレージタイプ | 復元時間 |
アーカイブ | 1 分 |
コールドアーカイブ |
|
ディープコールドアーカイブ |
|
解凍状態の期間
次の表に、異なるストレージタイプのオブジェクトの解凍状態の期間を示します。
ストレージタイプ | 解凍状態の期間 |
アーカイブ | 1 ~ 7 の整数。単位:日。 |
コールドアーカイブ | 1 ~ 365 の整数。単位:日。 |
ディープコールドアーカイブ | 1 ~ 365 の整数。単位:日。 |
課金ルール
復元されたアーカイブ、コールドアーカイブ、またはディープコールドアーカイブオブジェクトのサイズに基づいて、データ取得料金が発生します。 詳細については、「データ処理料金」をご参照ください。
アーカイブオブジェクトを解凍するときに、PUT リクエストの数に基づいて API 操作呼び出し料金が課金されます。詳細については、「API 操作呼び出し料金」をご参照ください。
コールドアーカイブまたはディープコールドアーカイブオブジェクトを解凍すると、データ取得リクエストに対して課金されます。詳細については、「API 操作呼び出し料金」をご参照ください。
リストア中およびリストア後、アーカイブ、コールドアーカイブ、ディープコールドアーカイブオブジェクトの課金ルールに基づいてストレージ料金が発生します。詳細については、「ストレージ料金」をご参照ください。
コールドアーカイブオブジェクトまたはディープコールドアーカイブオブジェクトを復元すると、一時的なアクセス用にオブジェクトの標準レプリカが生成されます。 コールドアーカイブオブジェクトまたはディープコールドアーカイブオブジェクトが凍結ステータスに戻るまで、標準ストレージタイプに基づいて、レプリカの一時ストレージの料金が発生します。 詳細については、「一時ストレージ料金」をご参照ください。
アーカイブオブジェクトは、最大 7 日間、解凍状態のままにすることができます。 コールドアーカイブオブジェクトまたはディープコールドアーカイブオブジェクトは、最大 365 日間、解凍状態のままにすることができます。 オブジェクトが解凍状態の間は、データ取得料金は発生しません。
オブジェクトが解凍状態である期間が終了すると、オブジェクトは凍結ステータスに戻ります。 凍結ステータスに戻った後にオブジェクトを復元すると、データ取得料金が発生します。
リクエスト構文
POST /ObjectName?restore HTTP/1.1
Host: archive-bucket.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValueリクエストヘッダー
RestoreObject リクエストのリクエストヘッダーは、共通のリクエストヘッダーのみです。 詳細については、「共通のリクエストヘッダー」をご参照ください。
リクエストパラメーター
パラメーター | タイプ | 必須 | 例 | 説明 |
RestoreRequest | コンテナー | はい | 該当なし | RestoreObject リクエストに関する情報を格納するコンテナー。 子ノード:Days および JobParameters |
Days | 整数 | はい | 2 | オブジェクトが解凍状態のままである期間。
親ノード:RestoreRequest |
JobParameters | コンテナー | いいえ | 該当なし | 復元優先度を格納するコンテナー。 このパラメーターは、コールドアーカイブオブジェクトまたはディープコールドアーカイブオブジェクトを復元する場合にのみ有効です。 JobParameters パラメーターを指定しない場合、デフォルトの復元優先度である Standard が使用されます。 親ノード:RestoreRequest 子ノード:Tier |
Tier | 文字列 | いいえ | Standard | コールドアーカイブオブジェクトまたはディープコールドアーカイブオブジェクトの復元優先度。有効な値:
親ノード:JobParameters |
レスポンスヘッダー
ヘッダー | タイプ | 例 | 説明 |
x-oss-object-restore-priority | 文字列 | Standard | 復元優先度。 このヘッダーは、解凍状態のコールドアーカイブオブジェクトまたはディープコールドアーカイブオブジェクトに対してのみ表示されます。 |
x-oss-version-id | 文字列 | CAEQNRiBgMClj7qD0BYiIDQ5Y2QyMjc3NGZkODRlMTU5M2VkY2U3MWRiNGRh**** | オブジェクトのバージョン ID。 このヘッダーは、リクエストでオブジェクトのバージョン ID が指定されている場合にのみ表示されます。 |
RestoreObject リクエストへのレスポンスには、共通のレスポンスヘッダーが含まれています。 詳細については、「共通のレスポンスヘッダー」をご参照ください。
例
凍結ステータスのアーカイブオブジェクトに対して初めて RestoreObject リクエストを開始する
リクエスト例
POST /oss.jpg?restore HTTP/1.1 Host: oss-archive-example.oss-cn-hangzhou.aliyuncs.com Date: Sat, 15 Apr 2017 07:45:28 GMT Authorization: OSS qn6q**************:77Dv****************成功レスポンスの例
HTTP/1.1 202 Accepted Date: Sat, 15 Apr 2017 07:45:28 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSS x-oss-request-id: 5374A2880232A65C23002D74復元中ステータスのアーカイブオブジェクトに対して RestoreObject リクエストを開始する
リクエスト例
POST /oss.jpg?restore HTTP/1.1 Host: oss-archive-example.oss-cn-hangzhou.aliyuncs.com Date: Sat, 15 Apr 2017 07:45:29 GMT Authorization: OSS qn6q**************:77Dv****************成功レスポンスの例
HTTP/1.1 409 Conflict Date: Sat, 15 Apr 2017 07:45:29 GMT Content-Length: 556 Connection: keep-alive Server: AliyunOSS x-oss-request-id: 5374A2880232A65C23002D74 <?xml version="1.0" encoding="UTF-8"?> <Error> <Code>RestoreAlreadyInProgress</Code> <Message>The restore operation is in progress.</Message> <RequestId>58EAF141461FB42C2B000008</RequestId> <HostId>10.101.XX.XX</HostId> </Error>解凍状態のアーカイブオブジェクトに対して RestoreObject リクエストを開始する
リクエスト例
POST /oss.jpg?restore HTTP/1.1 Host: oss-archive-example.oss-cn-hangzhou.aliyuncs.com Date: Sat, 15 Apr 2017 07:45:29 GMT Authorization: OSS qn6q**************:77Dv**************** <RestoreRequest> <Days>2</Days> </RestoreRequest>成功レスポンスの例
HTTP/1.1 200 Ok Date: Sat, 15 Apr 2017 07:45:30 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSS x-oss-request-id: 5374A2880232A65C23002D74解凍状態のコールドアーカイブオブジェクトまたはディープコールドアーカイブオブジェクトに対して RestoreObject リクエストを開始する
リクエスト例
POST /coldarchiveobject?restore HTTP/1.1 Host: cold-archive-bucket.oss-cn-hangzhou.aliyuncs.com User-Agent: aliyun-sdk-go/v2.1.0 (Darwin/17.5.0/x86_64;go1.11.8)/ossutil-v1.6.12 Content-Length: 99 Authorization: OSS qn6q**************:77Dv**************** Content-Type: text/plain; charset=utf-8 Date: Tue, 21 Apr 2020 11:09:19 GMT Accept-Encoding: gzip <RestoreRequest> <Days>2</Days> <JobParameters> <Tier>Standard</Tier> </JobParameters> </RestoreRequest>成功レスポンスの例
HTTP/1.1 200 OK Server: AliyunOSS Date: Tue, 21 Apr 2020 11:09:19 GMT Content-Length: 0 Connection: keep-alive x-oss-request-id: 5E9ED45F093E2F3930318EA0 x-oss-object-restore-priority: Standard x-oss-server-time: 10RestoreObject 操作を呼び出してオブジェクトを復元するときにバージョン ID を指定する
リクエスト例
POST /oss.jpg?restore&versionId=CAEQNRiBgMClj7qD0BYiIDQ5Y2QyMjc3NGZkODRlMTU5M2VkY2U3MWRiNGRh**** HTTP/1.1 Host: oss-archive-example.oss-cn-hangzhou.aliyuncs.com Date: Tue, 09 Apr 2019 06:50:48 GMT Authorization: OSS qn6q**************:77Dv****************成功レスポンスの例
HTTP/1.1 202 Accepted Date: Tue, 09 Apr 2019 06:50:48 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSS x-oss-version-id: CAEQNRiBgMClj7qD0BYiIDQ5Y2QyMjc3NGZkODRlMTU5M2VkY2U3MWRiNGRh**** x-oss-request-id: 5CAC40C8B7AEADE017000653
SDK
次のプログラミング言語の OSS SDK を使用して、RestoreObject 操作を呼び出すことができます。
ossutil
RestoreObject 操作に対応する ossutil コマンドについては、「restore-object」をご参照ください。
エラーコード
エラーコード | HTTP ステータスコード | 説明 |
OperationNotSupported | 400 | オブジェクトのストレージタイプがアーカイブ、コールドアーカイブ、またはディープコールドアーカイブではないため、オブジェクトを復元できません。 |
NoSuchKey | 404 | 指定されたオブジェクトが存在しません。 |
RestoreAlreadyInProgress | 409 | RestoreObject 操作が進行中です。 RestoreObject 操作を繰り返し呼び出さないでください。 |
関連情報
復元に必要な時間とオブジェクトが解凍状態のままである日数については、「オブジェクトの復元」をご参照ください。
ossutil を使用してオブジェクトを復元する方法については、「restore」をご参照ください。
オブジェクトを解凍状態で永続的に保持する方法については、「オブジェクトを解凍状態で永続的に保持するにはどうすればよいですか?」をご参照ください。