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

Object Storage Service:OSS SDK for Python 2.0 を使用したシンボリックリンクの管理

最終更新日:Oct 21, 2025

Object Storage Service (OSS) のシンボリックリンクは、Windows のファイルショートカットのように機能し、関連付けられたオブジェクトにすばやくアクセスできます。このトピックでは、OSS SDK for Python を使用してシンボリックリンクを作成および取得する方法について説明します。このトピックでは、OSS SDK for Python を使用してシンボリックリンクを作成および取得する方法について説明します。

使用上の注意

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

  • シンボリックリンクを作成するには、oss:PutObject 権限が必要です。シンボリックリンクをクエリするには、oss:GetObject 権限が必要です。詳細については、「RAM ユーザーへのカスタム権限の付与」をご参照ください。

メソッド

シンボリックリンクの作成

put_symlink(request: PutSymlinkRequest, **kwargs) → PutSymlinkResult

シンボリックリンクの取得

get_symlink(request: GetSymlinkRequest, **kwargs) → GetSymlinkResult

リクエストパラメーター

パラメーター

タイプ

説明

request

PutSymlinkRequest

シンボリックリンクを作成するためのリクエストパラメーター。詳細については、「PutSymlinkRequest」をご参照ください。

GetSymlinkRequest

シンボリックリンクを取得するためのリクエストパラメーター。詳細については、「GetSymlinkRequest」をご参照ください。

レスポンスパラメーター

タイプ

説明

PutSymlinkResult

戻り値。詳細については、「PutSymlinkResult」をご参照ください。

GetSymlinkResult

戻り値。詳細については、「GetSymlinkResult」をご参照ください。

シンボリックリンクを作成するメソッドの完全な定義については、「put_symlink」をご参照ください。

シンボリックリンクを取得するメソッドの完全な定義については、「get_symlink」をご参照ください。

サンプルコード

シンボリックリンクの作成

以下に、シンボリックリンクを作成するためのサンプルコードを示します。

import argparse
import alibabacloud_oss_v2 as oss

# コマンドライン引数パーサーを作成します
parser = argparse.ArgumentParser(description="put symlink sample")
# コマンドライン引数を追加します
parser.add_argument('--region', help='バケットが配置されているリージョン。', required=True)
parser.add_argument('--bucket', help='バケットの名前。', required=True)
parser.add_argument('--endpoint', help='他のサービスが OSS にアクセスするために使用できるドメイン名')
parser.add_argument('--key', help='オブジェクトの名前。', required=True)
parser.add_argument('--target', 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)

    # シンボリックリンクを作成するリクエストを作成します
    result = client.put_symlink(oss.PutSymlinkRequest(
        bucket=args.bucket,  # バケット名を指定します
        key=args.key,        # オブジェクト名を指定します
        target=args.target,  # ターゲットオブジェクトを指定します
    ))

    # 結果を出力します
    print(f'status code: {result.status_code},'
          f' request id: {result.request_id},'
          f' version id: {result.version_id},'
    )

# スクリプトが直接実行される場合は、main 関数を呼び出します
if __name__ == "__main__":
    main()

シンボリックリンクの取得

以下に、シンボリックリンクとそのターゲットオブジェクトの名前を取得するためのサンプルコードを示します。

import argparse
import alibabacloud_oss_v2 as oss

# コマンドライン引数を解析する ArgumentParser オブジェクトを作成します
parser = argparse.ArgumentParser(description="get symlink sample")
# コマンドライン引数を追加します
parser.add_argument('--region', help='バケットが配置されているリージョン。', required=True)
parser.add_argument('--bucket', help='バケットの名前。', required=True)
parser.add_argument('--endpoint', help='他のサービスが OSS にアクセスするために使用できるドメイン名')
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)

    # シンボリックリンクを取得するリクエストを送信します
    result = client.get_symlink(oss.GetSymlinkRequest(
        bucket=args.bucket,
        key=args.key,
    ))

    # 結果を出力します
    print(f'status code: {result.status_code},'
          f' request id: {result.request_id},'
          f' version id: {result.version_id},'
          f' target: {result.target},'
          f' etag: {result.etag},'
    )

# スクリプトが直接実行される場合は、main 関数を呼び出します
if __name__ == "__main__":
    main()

リファレンス

  • シンボリックリンクを作成するための完全なサンプルコードについては、「put_symlink.py」をご参照ください。

  • シンボリックリンクを取得するための完全なサンプルコードについては、「get_symlink.py」をご参照ください。