オブジェクトのアップロード
このセクションに記載されているSDKメソッドを使用すると、バケットにオブジェクトをアップロードできます。以下のコードスニペットで使用されているStratusリファレンスは、コンポーネントインスタンスです。
オブジェクトに対してバージョニングが有効になっていない場合、Stratusが同じオブジェクトに対して複数の書き込みリクエストを受信すると、オブジェクトは継続的に上書きされます。最新のアップロードのみがバケットに保存されます。
ただし、バージョニングが有効な場合、各アップロードはオブジェクトのバージョンとして扱われ、それぞれ一意のversionIdを持ってバケットに保存されます。
使用パラメータ
| パラメータ名 | データ型 | 定義 |
|---|---|---|
| key | String | 必須パラメータです。オブジェクトのパスを含む完全な名前を保持します。 |
| File | File | String | 必須パラメータです。アップロードするオブジェクトです。 |
| options | JSON Object |
|
| processCallback | Function | ファイルダウンロード中のコールバック関数です。 |
ファイルとしてオブジェクトをアップロード
以下のSDKメソッドを使用すると、Stratusのバケットにオブジェクトファイルをアップロードできます。
// ファイルとしてオブジェクトをアップロード
const file = document.getElementById("uploadedFiles").files[0]
const putObject = await bucket.putObject("key", file);
const putObjectStart = putObject.start(); // リクエストを開始する
const putObjectAbort = putObject.abort(); // リクエストを中止する
文字列としてオブジェクトをアップロード
以下のSDKメソッドを使用すると、Stratusのバケットに文字列オブジェクトをアップロードできます。
// 文字列としてオブジェクトをアップロード
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の指示を提供できます。
// オプション付きでオブジェクトをアップロード
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は、アップロード操作と並行してログ記録、ロード/バッファ画面のレンダリングなどの追加機能を実行したい場合に最適です。
// オブジェクトのアップロード中に関数を実行する
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のバケットに特定のオブジェクトをメタデータと共にアップロードできます。
// メタデータ付きでオブジェクトをアップロード
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(); // リクエストを中止する
レスポンス例
{
"status": 200,
"content": true | false, //true: アップロード成功、false: アップロード失敗
"message": "OK"
}
マルチパートアップロード
アップロードするオブジェクトが大きすぎる場合、マルチパート操作を実行できます。マルチパート操作はオブジェクトを複数のパートに分割し、より高速なアップロードを実行します。このSDKセクションでは、Stratusのオブジェクトのマルチパートアップロードを実行するために使用できるすべてのSDKメソッドについて説明します。
マルチパートインスタンスの作成
マルチパート操作を実行するには、マルチパートオブジェクトインスタンスを取得する必要があります。このコンポーネントインスタンスは、Stratusのバケットに格納されたオブジェクトに対してマルチパート操作を実行するさまざまなコードスニペットで参照されます。以下のコードスニペットで使用されているBucketリファレンスは、コンポーネントインスタンスです。
const multipart = bucket.getMultipartInstance("key");
マルチパートアップロードの開始
オプションなしでマルチパートアップロードを開始
以下のSDKメソッドを使用すると、StratusはuploadIdを返します。このIDにより、オブジェクトの複数のパートをアップロードできます。
// アップロードを開始する
const initiateUpload = await multipart.initiateUpload();
オプション付きでマルチパートアップロードを開始
以下のSDKメソッドを使用すると、StratusはuploadIdを返します。このIDにより、オブジェクトの複数のパートをアップロードできます。さらに、このSDKメソッドではoptionsパラメータを使用してtypeの指示を提供できます。
使用パラメータ
| パラメータ名 | データ型 | 定義 |
|---|---|---|
| type | String |
|
// オプション付きでアップロードを開始する
const options = {
type: "application/json"
}
const initiateUpload = await multipart.initiateUpload(options);
レスポンス例
{
"status": 200,
"content": {
"bucket": "llm-development",
"key": "a/cv",
"upload_id": "01hyj639a9zfbg8j7q86nsrj6r"
},
"message": "OK"
}
オブジェクトのパートをアップロード
以下のSDKメソッドでは、オブジェクトの個々のパートのアップロードを実行します。各パートには1から1000の範囲の個別のpart番号があります。これはパートの順序を表しますが、これらのパートは必ずしも順番にアップロードされるわけではありません。すべてのパートのアップロードが完了すると、これらのパートは順番に結合されます。
使用パラメータ
| パラメータ名 | データ型 | 定義 |
|---|---|---|
| file | File | アップロードするオブジェクトです。 |
| part | Number | アップロードされるパートの順序番号を含みます。 |
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(); // リクエストを中止する
レスポンス例
{
"status": 200,
"content": true | false, //true: アップロード成功、false: アップロード失敗
"message": "OK"
}
マルチパートアップロードの完了
以下のメソッドを使用すると、すべてのパートが正常にアップロードされた後にマルチパートプロセスを終了できます。
const completeUpload = await multipart.completeUpload()
使用パラメータ
| パラメータ名 | データ型 | 定義 |
|---|---|---|
| options | JSON Object | meta: オプションのJSON Objectパラメータです。バケットにアップロードされるオブジェクトのメタ情報を追加するために使用されます。デフォルト値は空のJSONオブジェクトです。 |
レスポンス例
{
"status": 200,
"content": true | false, //true: アップロード成功、false: アップロード失敗
"message": "OK"
}
アップロードサマリーの取得
以下のSDKメソッドを使用すると、アップロードされたすべてのパートの操作サマリーを取得できます。サマリーを表示するには、getUploadSummary()メソッドを使用します。
const getUploadSummary = await multipart.getUploadSummary();
レスポンス例
{
"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以下である必要があります。
使用パラメータ
| パラメータ名 | データ型 | 定義 |
|---|---|---|
| file | File | アップロードするオブジェクトです。 |
| partSize | Number | アップロードされるオブジェクトの各パートのサイズを含みます。 |
| options | JSON Object |
type: このJSONオブジェクト内のキーとなるパラメータです。
|
オプションなしですべてのマルチパート機能をラップしたオブジェクトのアップロード
// オブジェクトをアップロード
const partSize = 10; // MB単位
const file = document.getElementById("uploadedFiles").files[0]
const uploadObject = await multipart.uploadObject(file, partSize);
オプション付きですべてのマルチパート機能をラップしたオブジェクトのアップロード
// オプション付きでオブジェクトをアップロード
const partSize = 10; // MB単位
const file = document.getElementById("uploadedFiles").files[0]
const options = {
type: "application/json" // 上書きするオブジェクトのコンテンツタイプ
}
const uploadObject = await multipart.uploadObject(file, partSize, options);
レスポンス例
{
"status": 200,
"content": true | false, //true: アップロード成功、false: アップロード失敗
"message": "OK"
}
最終更新日 2026-02-23 18:09:41 +0530 IST
Yes
No
Send your feedback to us