--- title: "オブジェクトのダウンロード" url: https://docs.catalyst.zoho.com/ja/sdk/python/v1/cloud-scale/stratus/download-object/ description: "このページでは、バケットからオブジェクトをダウンロードするためのPython SDKメソッドを説明します。" last_updated: 2026-03-30T08:10:30Z service: Cloud Scale type: general related_links: - name: "Stratusコンポーネントヘルプドキュメント" url: /ja/cloud-scale/help/stratus/introduction - name: "Java SDK" url: /ja/sdk/java/v1/cloud-scale/stratus/download-object/ - name: "Node.js SDK" url: /ja/sdk/nodejs/v2/cloud-scale/stratus/download-object/ - name: "Web SDK" url: /ja/sdk/web/v4/cloud-scale/stratus/download-object/ - name: "iOS SDK" url: /ja/sdk/ios/v2/cloud-scale/stratus/download-object/ - name: "Android SDK" url: /ja/sdk/android/v2/cloud-scale/stratus/download-object/ - name: "Flutter SDK" url: /ja/sdk/flutter/v2/cloud-scale/stratus/download-object/ - name: "REST API" url: /ja/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets --- # オブジェクトのダウンロード ### オブジェクトのダウンロード このセクションのSDKを使用すると、[特定のオブジェクトのダウンロード](https://docs.catalyst.zoho.com/ja/cloud-scale/help/stratus/objects/manage-object/download-object/)、複数のオブジェクト、またはオブジェクトのバージョンをダウンロードできます。以下のコードスニペットで使用されているBucketの参照は、[コンポーネントインスタンス](https://docs.catalyst.zoho.com/ja/sdk/nodejs/v2/cloud-scale/stratus/create-bucket-instance/)です。 ダウンロード操作の最初のステップは、バケットから必要なオブジェクトを取得する`GET`操作です。 オブジェクトをダウンロードするには、リクエスターが`READ`アクセス権限を持っている必要があります。ただし、バケットの所有者は、必要なレスポンスヘッダーを使用せずにオブジェクトをダウンロードできるように、ユーザーに`READ`アクセス権限を付与するオプションがあります。 バケットで[バージョニング](https://docs.catalyst.zoho.com/ja/cloud-scale/help/stratus/stratus-config/general-settings/#versioning)が有効な場合、オブジェクトの特定のバージョンをダウンロードするには`versionId`を渡す必要があります。`versionId`が渡されない場合、デフォルトで最新バージョンのオブジェクトがダウンロードされます。 バケットの*バージョニング*が有効にされた後に無効にされた場合、デフォルトでは最初のプリンシパルオブジェクトがダウンロードされます。このオブジェクトの最新バージョンをダウンロードするには、`versionId`パラメータに値「`topVersion`」を渡す必要があります。 ```python res = bucket.get_object("sam/out/sample.txt") # オブジェクトをローカルマシンにダウンロードする file = open('file_path','wb') file.write(res) ``` ### オブジェクトの一部をダウンロード 以下のSDKメソッドは、`range`パラメータとともに使用されます。rangeパラメータを使用すると、オブジェクトの特定の`range`のバイトをダウンロードできます。 ```python options = { 'version_id': '01hx66f1383jm48w9sa4z20kve', # 指定されたバージョンIDのオブジェクトをダウンロードする 'range': '0-200' # オブジェクトの開始と終了の範囲 } res = bucket.get_object('"sam/out/sample.txt", options) # オブジェクトをローカルマシンにダウンロードする file = open('file_path','wb') file.write(res) ``` ### Transfer Managerを使用したオブジェクトのダウンロード このセクションでは、**Transfer Manager**技術を使用してStratusからローカルシステムに大きなオブジェクトを正常にダウンロードするためのSDKメソッドについて説明します。Transfer Managerは、オブジェクトの開始バイトと終了バイトの範囲を使用して、大きなオブジェクトを複数のバイト範囲に分割する操作です。オブジェクトの各パーツはストリームとして返され、ローカルシステムにダウンロードされます。 #### Transfer Managerインスタンスの取得 Transfer Manager操作を実行するには、Transfer Managerオブジェクトインスタンスを取得する必要があります。Stratus内のバケットに保存されているオブジェクトに対するTransfer Manager操作を実行するさまざまなコードスニペットで、このコンポーネントインスタンスを参照します。 **使用するパラメータ** `bucket`: [こちらのSDKメソッド](https://docs.catalyst.zoho.com/ja/sdk/nodejs/v2/cloud-scale/stratus/create-bucket-instance/)を使用して事前に初期化したバケットインスタンスです。 **以下のパッケージがインポートされていることを確認してください** ```python from zcatalyst_sdk.stratus.transfer_manager import TransferManager ``` ```python transfer_manager = TranferManager(bucket) ``` #### イテラブルオブジェクトの取得 イテラブルオブジェクトのパーツを返します。ユーザーはイテレーターを使用してこれらのパーツをローカルマシンに書き込むことができます。 > **注意:** イテラブルパーツを返すため、オブジェクト全体ではなく、単一のファイルに書き込んでください。個別のファイルに書き込む場合は、それらを1つに結合する必要があります。 > **情報:** `part_size`は**Mb**単位で指定してください。 ```python res = transfer_manager.get_iterable_object("sam/out/sample.txt", 20) file = open('file_path','wb') # オブジェクトをローカルマシンに保存する for chunk in res: file.write(chunk) ``` #### オブジェクトパーツダウンローダーの生成 ユーザーが大きなファイル(例:10 GBのファイル)をダウンロードする必要がある場合、`get_object()`メソッドの使用は実用的ではありません。代わりに、ユーザーはこのSDKメソッドを選択できます。`generate_part_downloaders()`メソッドをパラメータ`key(str)`と`part_size(Long)`で呼び出すことにより、ユーザーはTransfer Manager関数を取得できます。これらの関数は昇順で返され、それぞれがオブジェクトの特定のパーツをダウンロードします。パーツは指定されたパーツサイズに基づいて決定されます。 ```python res = transfer_manager.generate_part_downloaders("sam/out/sample.txt",20) file = open('file_path','wb') for part in res: file.write(part()) ``` > **情報:** 部分ダウンロードを有効にするには、ファイルをAPIまたはSDK経由でアップロードする必要があります。part_sizeは5 MBより大きく100 MB未満である必要があります。 ### オブジェクトダウンロード用の署名付きURLの生成 署名付きURLは、認証済みユーザーが非認証ユーザーに共有できるセキュアなURLです。このURLは、非認証ユーザーにオブジェクトへのアクセスのための一時的な認可を提供します。以下のコードスニペットで使用されているBucketの参照は、[コンポーネントインスタンス](https://docs.catalyst.zoho.com/ja/sdk/python/v1/cloud-scale/stratus/create-bucket-instance/)です。 > **情報:** このSDKメソッドを使用するには、**Admin**スコープで初期化する必要があります。この要件の詳細については、[こちらのセクション](https://docs.catalyst.zoho.com/ja/sdk/nodejs/v2/overview/#initialize-sdk-with-scopes)をご覧ください。 **使用するパラメータ**
| パラメータ名 | データ型 | 定義 |
|---|---|---|
| `key` | **String** | 必須パラメータです。オブジェクトの[パス](https://docs.catalyst.zoho.com/ja/cloud-scale/help/stratus/objects/introduction/#path)を含む完全な名前を保持します。 |
| `url_action` | **Request Method** | 必須パラメータです。ダウンロード(GET)アクション用の署名付きURLを生成するためのパラメータです。
|
| `expiry` | **String** | 任意パラメータです。URLの有効期間(秒単位)です。
|
| `active_from` | **String** | 任意パラメータです。URLが有効になる時刻を保持します。最大値は**7日間**です。デフォルトでは、URLは生成されるとすぐに有効になります。 |