---
title: "オブジェクトのアップロード"
url: https://docs.catalyst.zoho.com/ja/sdk/web/v4/cloud-scale/stratus/upload-object/
description: "このページでは、バケットにオブジェクトをアップロードするためのWeb SDKメソッドについて説明します。"
last_updated: 2026-02-23T12:39:41Z
service: Cloud Scale
type: general
related_links:
- name: "Stratus Component Help Documentation"
url: /ja/cloud-scale/help/stratus/introduction
- name: "Upload Object Help Documentation"
url: /ja/cloud-scale/help/stratus/objects/upload-object/
- name: "Java SDK"
url: /ja/sdk/java/v1/cloud-scale/stratus/upload-object/
- name: "Node.js SDK"
url: /ja/sdk/nodejs/v2/cloud-scale/stratus/upload-object/
- name: "Python SDK"
url: /ja/sdk/python/v1/cloud-scale/stratus/upload-object/
- name: "iOS SDK"
url: /ja/sdk/ios/v2/cloud-scale/stratus/upload-object/
- name: "Android SDK"
url: /ja/sdk/android/v2/cloud-scale/stratus/upload-object/
- name: "Flutter SDK"
url: /ja/sdk/flutter/v2/cloud-scale/stratus/upload-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/buckets/name-bucket/)に[オブジェクトをアップロード](https://docs.catalyst.zoho.com/ja/cloud-scale/help/stratus/objects/upload-object/)できます。以下のコードスニペットで使用されているStratusリファレンスは、[コンポーネントインスタンス](https://docs.catalyst.zoho.com/ja/sdk/web/v4/cloud-scale/stratus/initialize-stratus-instance/)です。
オブジェクトに対して[バージョニング](https://docs.catalyst.zoho.com/ja/cloud-scale/help/stratus/stratus-config/general-settings/#versioning)が有効になっていない場合、Stratusが同じオブジェクトに対して複数の書き込みリクエストを受信すると、オブジェクトは継続的に上書きされます。最新のアップロードのみがバケットに保存されます。
ただし、バージョニングが有効な場合、各アップロードはオブジェクトのバージョンとして扱われ、それぞれ一意の`versionId`を持ってバケットに保存されます。
> **注意:** パスまたはオブジェクトを作成する際に、スペースを含む以下の文字はサポートされていません:ダブルクォート、両方の山括弧、ハッシュタグ、バックスラッシュ、パイプ記号。
**使用パラメータ**
| パラメータ名 |
データ型 |
定義 |
| `key` |
**String** |
**必須**パラメータです。オブジェクトの[パス](https://docs.catalyst.zoho.com/ja/cloud-scale/help/stratus/objects/introduction/#path)を含む完全な名前を保持します。 |
| `File` |
**File | String** |
**必須**パラメータです。アップロードするオブジェクトです。 |
| `options`
| **JSON Object** |
- `overwrite`: オプションの**String**パラメータです。
- バケットの*バージョニング*が有効になっていない場合、リソースを上書きするにはこのオプションを使用する必要があります。
- デフォルト値: `false`
- `ttl`: オプションの**String | Number**パラメータです。
- オブジェクトの**Time-to-Live**(ttl)を秒単位で設定できます。
- 値は**60秒**以上である必要があります。
- `type`: オプションの**String**パラメータです。
- このパラメータを使用して、オブジェクトの`content-type`を上書きできます。
- このパラメータを渡さない場合、デフォルトで`type`の値は`application/octet-stream`になります。
- `meta`: オプションの**JSON Object**パラメータです。バケットにアップロードされるオブジェクトのメタ情報を追加するために使用されます。デフォルト値は空のJSONオブジェクトです。
|
| `processCallback` |
**Function** |
ファイルダウンロード中のコールバック関数です。 |
### ファイルとしてオブジェクトをアップロード
以下のSDKメソッドを使用すると、Stratusのバケットにオブジェクトファイルをアップロードできます。
```javascript
// ファイルとしてオブジェクトをアップロード
const file = document.getElementById("uploadedFiles").files[0]
const putObject = await bucket.putObject("key", file);
const putObjectStart = putObject.start(); // リクエストを開始する
const putObjectAbort = putObject.abort(); // リクエストを中止する
```
### 文字列としてオブジェクトをアップロード
以下のSDKメソッドを使用すると、Stratusのバケットに文字列オブジェクトをアップロードできます。
```javascript
// 文字列としてオブジェクトをアップロード
const putObject = await bucket.putObject("key", "Content of the file");
const putObjectStart = putObject.start(); // リクエストを開始する
const putObjectAbort = putObject.abort(); // リクエストを中止する
```
### オプション付きでオブジェクトをアップロード
以下のSDKメソッドを使用すると、Stratusのバケットに任意のオブジェクトをアップロードできます。このSDKメソッドでは、`options`パラメータを使用して`type`、`overwrite`、および`ttl`の指示を提供できます。
```javascript
// オプション付きでオブジェクトをアップロード
const options = {
"overwrite": true, //既存のオブジェクトを上書きする
"ttl": 300, //300秒後にオブジェクトがバケットから削除される
"type": "text/plain" // アップロードされるオブジェクトのファイルタイプ
}
const putObject = await bucket.putObject("key", "Content of the file", options);
const putObjectStart = putObject.start(); // リクエストを開始する
const putObjectAbort = putObject.abort(); // リクエストを中止する
```
### プロセスコールバック付きでオブジェクトをアップロード
以下のSDKスニペットを使用すると、プロセスコールバックオプション付きでStratusのバケットに特定のオブジェクトをアップロードできます。このSDKは、アップロード操作と並行してログ記録、ロード/バッファ画面のレンダリングなどの追加機能を実行したい場合に最適です。
```javascript
// オブジェクトのアップロード中に関数を実行する
const processCallback = () => {
// オブジェクトのアップロード中に実行する関数
console.log("Uploading Object");
}
const options = {
"overwrite": true,
"ttl": 300,
"type": "text/plain"
}
const putObject = await bucket.putObject("key", "Content of the file", options, processCallback);
const putObjectStart = putObject.start(); // リクエストを開始する
const putObjectAbort = putObject.abort(); // リクエストを中止する
```
### メタデータ付きでオブジェクトをアップロード
以下のSDKスニペットを使用すると、Stratusのバケットに特定のオブジェクトを[メタデータ](https://docs.catalyst.zoho.com/ja/cloud-scale/help/stratus/objects/introduction/#metadata)と共にアップロードできます。
```javascript
// メタデータ付きでオブジェクトをアップロード
const options = {
"overwrite": true,
"ttl": 300,
"type": "text/plain" // アップロードするオブジェクトのファイルタイプ
"meta": {
"object_meta_key" : "object_meta_value"
}
}
const putObject = await bucket.putObject("key", "Content of the file", options);
const putObjectStart = putObject.start(); // リクエストを開始する
const putObjectAbort = putObject.abort(); // リクエストを中止する
```
**レスポンス例**
```json
{
"status": 200,
"content": true | false, //true: アップロード成功、false: アップロード失敗
"message": "OK"
}
```
### マルチパートアップロード
アップロードするオブジェクトが大きすぎる場合、マルチパート操作を実行できます。マルチパート操作はオブジェクトを複数のパートに分割し、より高速なアップロードを実行します。このSDKセクションでは、Stratusのオブジェクトのマルチパートアップロードを実行するために使用できるすべてのSDKメソッドについて説明します。
#### マルチパートインスタンスの作成
マルチパート操作を実行するには、マルチパートオブジェクトインスタンスを取得する必要があります。このコンポーネントインスタンスは、Stratusのバケットに格納されたオブジェクトに対してマルチパート操作を実行するさまざまなコードスニペットで参照されます。以下のコードスニペットで使用されているBucketリファレンスは、[コンポーネントインスタンス](https://docs.catalyst.zoho.com/ja/sdk/web/v4/cloud-scale/stratus/initialize-stratus-instance/#initialize-bucket-instance)です。
```javascript
const multipart = bucket.getMultipartInstance("key");
```
#### マルチパートアップロードの開始
**オプションなしでマルチパートアップロードを開始**
以下のSDKメソッドを使用すると、Stratusは`uploadId`を返します。このIDにより、オブジェクトの複数のパートをアップロードできます。
```javascript
// アップロードを開始する
const initiateUpload = await multipart.initiateUpload();
```
**オプション付きでマルチパートアップロードを開始**
以下のSDKメソッドを使用すると、Stratusは`uploadId`を返します。このIDにより、オブジェクトの複数のパートをアップロードできます。さらに、このSDKメソッドでは`options`パラメータを使用して`type`の指示を提供できます。
**使用パラメータ**
| パラメータ名 |
データ型 |
定義 |
| `type` |
**String** |
- このパラメータは`options` **JSON Object**パラメータ内のキーです。
- このパラメータを使用して、オブジェクトの`content-type`を上書きできます。
- このパラメータを渡さない場合、デフォルトで`type`の値は`application/octet-stream`になります。
|
```javascript
// オプション付きでアップロードを開始する
const options = {
type: "application/json"
}
const initiateUpload = await multipart.initiateUpload(options);
```
**レスポンス例**
```json
{
"status": 200,
"content": {
"bucket": "llm-development",
"key": "a/cv",
"upload_id": "01hyj639a9zfbg8j7q86nsrj6r"
},
"message": "OK"
}
```
#### オブジェクトのパートをアップロード
以下のSDKメソッドでは、オブジェクトの個々のパートのアップロードを実行します。各パートには**1から1000**の範囲の個別の`part`番号があります。これはパートの順序を表しますが、これらのパートは必ずしも順番にアップロードされるわけではありません。すべてのパートのアップロードが完了すると、これらのパートは順番に結合されます。
**使用パラメータ**
| パラメータ名 |
データ型 |
定義 |
| `file` |
**File** |
アップロードするオブジェクトです。 |
| `part` |
**Number** |
アップロードされるパートの順序番号を含みます。 |
```javascript
const partNumber = 1;
const file = document.getElementById("uploadedFiles").files[0]
const uploadPart = await multipart.uploadPart(file, partNumber)
const uploadPartStart = uploadPart.start(); // リクエストを開始する
const uploadPartAbort = uploadPart.abort(); // リクエストを中止する
```
**レスポンス例**
```json
{
"status": 200,
"content": true | false, //true: アップロード成功、false: アップロード失敗
"message": "OK"
}
```
#### マルチパートアップロードの完了
以下のメソッドを使用すると、すべてのパートが正常にアップロードされた後にマルチパートプロセスを終了できます。
```javascript
const completeUpload = await multipart.completeUpload()
```
**使用パラメータ**
| パラメータ名 |
データ型 |
定義 |
| `options` |
**JSON Object** |
`meta`: オプションの**JSON Object**パラメータです。バケットにアップロードされるオブジェクトのメタ情報を追加するために使用されます。デフォルト値は空のJSONオブジェクトです。 |
**レスポンス例**
```json
{
"status": 200,
"content": true | false, //true: アップロード成功、false: アップロード失敗
"message": "OK"
}
```
#### アップロードサマリーの取得
以下のSDKメソッドを使用すると、アップロードされたすべてのパートの操作サマリーを取得できます。サマリーを表示するには、`getUploadSummary()`メソッドを使用します。
```javascript
const getUploadSummary = await multipart.getUploadSummary();
```
**レスポンス例**
```json
{
"bucket": "zcstratus12345-development",
"key": "sasm.txt",
"upload_id": "01hyfyeazrrstmt7k5fa7ej726",
"status": "PENDING",
"parts": [
{
"part_number": 1,
"size": 0,
"uploaded_at": 1716374678999
},
{
"part_number": 2,
"size": 2797094,
"uploaded_at": 1716374678576
},
{
"part_number": 4,
"size": 0,
"uploaded_at": 1716374679136
}
]
}
```
### すべてのマルチパート機能をラップしたオブジェクトのアップロード
以下のSDKメソッドはラッパーとして機能し、マルチパートアップロード操作全体を複数のステップを使用せずに実行します。このメソッドを使用すると、オブジェクトは複数のパートに分割され、複数のパートでバケットにアップロードされ、すべてのパートがアップロードされた後に結合されます。
ただし、以下のメソッドは次の条件でのみ使用することを推奨します:
* オブジェクトの`max_part_size`はファイル全体のサイズにすることができます。ただし、より高速なアップロードを確保するために、`max_part_size`は**100MB**以下にすることをお勧めします。
* オブジェクトの`min_part_size`は**5MB**以上である必要があります。
* オブジェクト全体のサイズは**10GB**以下である必要があります。
> **注意:** **10GBを超える**オブジェクトの場合は、マルチパートアップロード操作を正常に実行するために**個別のSDKメソッド**を使用することを推奨します。
**使用パラメータ**
| パラメータ名 |
データ型 |
定義 |
| `file` |
**File** |
アップロードするオブジェクトです。 |
| `partSize` |
**Number** |
アップロードされるオブジェクトの各パートのサイズを含みます。 |
| `options` |
**JSON Object** |
`type`: このJSONオブジェクト内のキーとなるパラメータです。
- **String**パラメータです。
このパラメータを使用して、オブジェクトの`content-type`を上書きできます。
- このパラメータを渡さない場合、デフォルトでファイルの型が使用されます。ファイル自体に型がない場合、デフォルトで`type`の値は`application/octet-stream`になります。
- `meta`: オプションの**JSON Object**パラメータです。バケットにアップロードされるオブジェクトのメタ情報を追加するために使用されます。デフォルト値は空のJSONオブジェクトです。
|
**オプションなしですべてのマルチパート機能をラップしたオブジェクトのアップロード**
```javascript
// オブジェクトをアップロード
const partSize = 10; // MB単位
const file = document.getElementById("uploadedFiles").files[0]
const uploadObject = await multipart.uploadObject(file, partSize);
```
**オプション付きですべてのマルチパート機能をラップしたオブジェクトのアップロード**
```javascript
// オプション付きでオブジェクトをアップロード
const partSize = 10; // MB単位
const file = document.getElementById("uploadedFiles").files[0]
const options = {
type: "application/json" // 上書きするオブジェクトのコンテンツタイプ
}
const uploadObject = await multipart.uploadObject(file, partSize, options);
```
**レスポンス例**
```json
{
"status": 200,
"content": true | false, //true: アップロード成功、false: アップロード失敗
"message": "OK"
}
```