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

Object Storage Service:アクセス追跡 (Python SDK V1)

最終更新日:Nov 29, 2025

最終アクセス時刻に基づくライフサイクルルールを設定するには、まずアクセス追跡を有効にする必要があります。これらのルールにより、Object Storage Service (OSS) バケット内のオブジェクトのアクセスパターンを自動的にモニターし、コールドデータをよりコスト効率の高いストレージクラスに移行できます。

注意事項

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

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

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

  • デフォルトでは、Alibaba Cloud アカウントにはアクセス追跡に必要な権限が付与されています。Resource Access Management (RAM) ユーザーまたは STS を使用してアクセス追跡操作を実行するには、特定の権限が必要です。例:

    • アクセス追跡を有効にするには、oss:PutBucketAccessMonitor 権限が必要です。

    • アクセス追跡ステータスを取得するには、oss:GetBucketAccessMonitor 権限が必要です。

    詳細については、「RAM ユーザーへのカスタムアクセスポリシーの付与」をご参照ください。

アクセス追跡の有効化

次のコードは、examplebucket という名前のバケットのアクセス追跡を有効にする方法の例を示しています。

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

# 環境変数からアクセス認証情報を取得します。このコードを実行する前に、環境変数 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"
# エンドポイントに対応するリージョン (例: cn-hangzhou) を指定します。注意:このパラメーターは V4 署名に必要です。
region = "cn-hangzhou"

# 「examplebucket」をご利用のバケット名に置き換えます。
bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)

# バケットのアクセス追跡を有効にします。アクセス追跡を有効にした後、ステータスを「無効」に変更する場合は、バケットに LastAccessTime マッチルールに基づくライフサイクルルールがないことを確認してください。
bucket.put_bucket_access_monitor("Enabled")

アクセス追跡ステータスの表示

次のコードは、examplebucket という名前のバケットのアクセス追跡ステータスを照会する方法の例を示しています。

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

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

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

# examplebucket をご利用のバケット名に置き換えます。
bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)

# バケットのアクセス追跡ステータスを取得します。
result = bucket.get_bucket_access_monitor()

# バケットのアクセス追跡ステータスを出力します。
print(result.access_monitor.status)

関連ドキュメント