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

Object Storage Service:OSS SDK for Java を使用してオブジェクトが存在するかどうかを確認する

最終更新日:Aug 02, 2025

このトピックでは、OSS SDK for Python を使用してオブジェクトが存在するかどうかを確認する方法について説明します。

注意事項

  • このトピックのサンプルコードでは、中国 (杭州) リージョンのリージョン ID cn-hangzhou を使用しています。デフォルトでは、パブリックエンドポイントを使用してバケット内のリソースにアクセスします。バケットが配置されているのと同じリージョン内の他の Alibaba Cloud サービスを使用してバケット内のリソースにアクセスする場合は、内部エンドポイントを使用します。 OSS のリージョンとエンドポイント の詳細については、「OSS のリージョンとエンドポイント」をご参照ください。

  • oss:GetObject 権限は、オブジェクトが存在するかどうかを確認するために必要です。詳細については、「RAM ユーザーにカスタムポリシーをアタッチする」をご参照ください。

メソッド

is_object_exist(bucket: str, key: str, version_id: str | None = None, request_payer: str | None = None, **kwargs) → bool

リクエストパラメーター

パラメーター

タイプ

説明

bucket

str

バケットの名前。

key

str

オブジェクトの名前。

version_id

str

オブジェクトのバージョン ID(オプション)。

レスポンスパラメーター

タイプ

説明

bool

オブジェクトが存在するかどうかを判断します。

このメソッドの詳細については、「is_object_exist」をご参照ください。

サンプルコード

以下は、オブジェクトが存在するかどうかを確認するためのコード例です。

import argparse
import alibabacloud_oss_v2 as oss

# コマンドラインパラメーターパーサーを作成します。
parser = argparse.ArgumentParser(description="指定された OSS バケットにオブジェクトが存在するかどうかを確認します")
# コマンドラインパラメーターを指定します。
parser.add_argument('--region', help='バケットが配置されているリージョン。', required=True)
parser.add_argument('--bucket', help='確認するバケットの名前。', required=True)
parser.add_argument('--endpoint', help='オプション:OSS サービスのエンドポイント URL。指定しない場合は、デフォルトのエンドポイントが使用されます。')
parser.add_argument('--key', help='存在を確認するオブジェクトのキー(または名前)。', required=True)

def main():
    # コマンドラインパラメーターを解析します。
    args = parser.parse_args()

    # 環境変数からアクセス認証情報をロードします。
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # SDK のデフォルト設定を使用し、認証情報プロバイダーを指定します。
    cfg = oss.config.load_default()
    cfg.credentials_provider = credentials_provider

    # 入力に基づいてリージョンパラメーターを更新します。
    cfg.region = args.region

    if args.endpoint is not None:
        cfg.endpoint = args.endpoint

    # OSS クライアントインスタンスを作成します。
    client = oss.Client(cfg)

    # is_object_exist メソッドを呼び出して、指定されたオブジェクトがバケットに存在するかどうかを確認します。
    result = client.is_object_exist(
        bucket=args.bucket,
        key=args.key,
    )

    # 結果を出力します。
    print(f'Object exists: {result}')

# スクリプトのエントリポイント。ファイルが直接実行されると、main 関数が呼び出されます。
if __name__ == "__main__":
    main()

参照

  • オブジェクトが存在するかどうかを確認するために使用される完全なサンプルコードについては、is_object_exist.py をご覧ください。