すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:オブジェクトの解凍 (Python SDK V1)

最終更新日:Nov 27, 2025

アーカイブ、コールドアーカイブ、ディープコールドアーカイブのオブジェクトは、読み取る前に解凍する必要があります。 このトピックでは、これらのオブジェクトを解凍する方法について説明します。

注意事項

  • `RestoreObject` メソッドは、アーカイブ、コールドアーカイブ、またはディープコールドアーカイブのオブジェクトに対してのみ呼び出すことができます。

  • このトピックでは、中国 (杭州) リージョンのパブリックエンドポイントを使用します。 OSS と同じリージョンにある他の Alibaba Cloud サービスから OSS にアクセスする場合は、内部エンドポイントを使用します。 OSS のリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。

  • このトピックでは、アクセス認証情報は環境変数から取得されます。 アクセス認証情報の設定方法の詳細については、「Python 1.0 用 OSS SDK を使用したアクセス認証情報の設定」をご参照ください。

  • このトピックでは、OSS エンドポイントを使用して OSSClient インスタンスを作成します。 カスタムドメイン名または Security Token Service (STS) を使用して OSSClient インスタンスを作成する場合は、「初期化」をご参照ください。

  • オブジェクトを解凍するには、oss:RestoreObject 権限が必要です。 詳細については、「RAM ユーザーへのカスタムアクセスポリシーのアタッチ」をご参照ください。

アーカイブオブジェクトの解凍

次のコードは、アーカイブオブジェクトを解凍する方法を示しています。

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
from oss2.models import RestoreConfiguration

# 環境変数からアクセス認証情報を取得します。 このサンプルコードを実行する前に、環境変数 OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET が設定されていることを確認してください。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# バケットが配置されているリージョンのエンドポイントを設定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# エンドポイントに対応するリージョン ID を設定します。 例:cn-hangzhou。 このパラメーターは、署名バージョン 4 を使用する場合に必要です。
region = "cn-hangzhou"

# yourBucketName をご自身のバケット名に設定します。
bucket = oss2.Bucket(auth, endpoint, "yourBucketName", region=region)

# objectName をアーカイブオブジェクトの完全なパスに設定します。 パスにバケット名を含めないでください。
objectName = 'yourArchiveObjectName'
# オブジェクトが解凍状態を維持する日数を設定します。 デフォルト値は 1 です。 この例では、値を 2 に設定します。
days = 2
restore_config = RestoreConfiguration(days=days)
# 解凍リクエストを開始します。
bucket.restore_object(objectName, input=restore_config)       

コールドアーカイブオブジェクトの解凍

次のコードは、コールドアーカイブオブジェクトを解凍する方法を示しています。

# -*- coding: utf-8 -*-

import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
from oss2.models import (RestoreJobParameters,
                         RestoreConfiguration,
                         RESTORE_TIER_EXPEDITED,
                         RESTORE_TIER_STANDARD,
                         RESTORE_TIER_BULK)

# 環境変数からアクセス認証情報を取得します。 このサンプルコードを実行する前に、環境変数 OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET が設定されていることを確認してください。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# バケットが配置されているリージョンのエンドポイントを設定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# エンドポイントに対応するリージョン ID を設定します。 例:cn-hangzhou。 このパラメーターは、署名バージョン 4 を使用する場合に必要です。
region = "cn-hangzhou"

# yourBucketName をご自身のバケット名に設定します。
bucket = oss2.Bucket(auth, endpoint, "yourBucketName", region=region)

# object_name をコールドアーカイブオブジェクトの完全なパスに設定します。 パスにバケット名を含めないでください。
object_name = "yourColdArchiveObjectName"

# オブジェクトが解凍状態を維持する日数を設定します。 デフォルト値は 1 です。 この例では、値を 2 に設定します。
days = 2

# 解凍優先度を設定します。 この例では、優先度を RESTORE_TIER_BULK に設定します。
# RESTORE_TIER_EXPEDITED:オブジェクトは 1 時間以内に解凍されます。
# RESTORE_TIER_STANDARD:オブジェクトは 2~5 時間以内に解凍されます。
# RESTORE_TIER_BULK:オブジェクトは 5~12 時間以内に解凍されます。
job_parameters = RestoreJobParameters(RESTORE_TIER_BULK)

restore_config = RestoreConfiguration(days=days, job_parameters=job_parameters)

# 解凍リクエストを開始します。
bucket.restore_object(object_name, input=restore_config)

ディープコールドアーカイブオブジェクトの解凍

次のコードは、ディープコールドアーカイブオブジェクトを解凍する方法を示しています。

# -*- coding: utf-8 -*-

import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
from oss2.models import (RestoreJobParameters,
                         RestoreConfiguration,
                         RESTORE_TIER_EXPEDITED,
                         RESTORE_TIER_STANDARD)

# 環境変数からアクセス認証情報を取得します。 このサンプルコードを実行する前に、環境変数 OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET が設定されていることを確認してください。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# バケットが配置されているリージョンのエンドポイントを設定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# エンドポイントに対応するリージョン ID を設定します。 例:cn-hangzhou。 このパラメーターは、署名バージョン 4 を使用する場合に必要です。
region = "cn-hangzhou"

# yourBucketName をご自身のバケット名に設定します。
bucket = oss2.Bucket(auth, endpoint, "yourBucketName", region=region)

# object_name をディープコールドアーカイブオブジェクトの完全なパスに設定します。 パスにバケット名を含めないでください。
object_name = "yourDeepColdArchiveObjectName"

# オブジェクトが解凍状態を維持する日数を設定します。 デフォルト値は 1 です。 この例では、値を 2 に設定します。
days = 2

# 解凍優先度を設定します。 この例では、優先度を RESTORE_TIER_STANDARD に設定します。
# RESTORE_TIER_EXPEDITED:オブジェクトは 12 時間以内に解凍されます。
# RESTORE_TIER_STANDARD:オブジェクトは 48 時間以内に解凍されます。
job_parameters = RestoreJobParameters(RESTORE_TIER_STANDARD)

restore_config = RestoreConfiguration(days=days, job_parameters=job_parameters)

# 解凍リクエストを開始します。
bucket.restore_object(object_name, input=restore_config)

関連ドキュメント

  • アーカイブ、コールドアーカイブ、ディープコールドアーカイブオブジェクトを解凍するための完全なサンプルコードについては、「GitHub の例」をご参照ください。

  • アーカイブ、コールドアーカイブ、ディープコールドアーカイブオブジェクトを解凍するための API 操作の詳細については、「RestoreObject」をご参照ください。