お知らせ:

当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

オブジェクトのアップロード

このセクションに記載されているSDKメソッドを使用すると、バケットオブジェクトをアップロードできます。以下のコードスニペットで使用されているStratusリファレンスは、コンポーネントインスタンスです。

オブジェクトに対してバージョニングが有効になっていない場合、Stratusが同じオブジェクトに対して複数の書き込みリクエストを受信すると、オブジェクトは継続的に上書きされます。最新のアップロードのみがバケットに保存されます。

ただし、バージョニングが有効な場合、各アップロードはオブジェクトのバージョンとして扱われ、それぞれ一意のversionIdを持ってバケットに保存されます。

注意: パスまたはオブジェクトを作成する際に、スペースを含む以下の文字はサポートされていません:ダブルクォート、両方の山括弧、ハッシュタグ、バックスラッシュ、パイプ記号。

使用パラメータ

パラメータ名 データ型 定義
key String 必須パラメータです。オブジェクトのパスを含む完全な名前を保持します。
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のバケットにオブジェクトファイルをアップロードできます。

copy
// ファイルとしてオブジェクトをアップロード
const file = document.getElementById("uploadedFiles").files[0]
const putObject = await bucket.putObject("key", file);
const putObjectStart = putObject.start(); // リクエストを開始する
const putObjectAbort = putObject.abort(); // リクエストを中止する

文字列としてオブジェクトをアップロード

以下のSDKメソッドを使用すると、Stratusのバケットに文字列オブジェクトをアップロードできます。

copy
// 文字列としてオブジェクトをアップロード
const putObject = await bucket.putObject("key", "Content of the file");
const putObjectStart = putObject.start(); // リクエストを開始する
const putObjectAbort = putObject.abort(); // リクエストを中止する

オプション付きでオブジェクトをアップロード

以下のSDKメソッドを使用すると、Stratusのバケットに任意のオブジェクトをアップロードできます。このSDKメソッドでは、optionsパラメータを使用してtypeoverwrite、およびttlの指示を提供できます。

copy
// オプション付きでオブジェクトをアップロード
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は、アップロード操作と並行してログ記録、ロード/バッファ画面のレンダリングなどの追加機能を実行したい場合に最適です。

copy
// オブジェクトのアップロード中に関数を実行する
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のバケットに特定のオブジェクトをメタデータと共にアップロードできます。

copy
// メタデータ付きでオブジェクトをアップロード
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(); // リクエストを中止する

レスポンス例

copy
{
 	"status": 200,
 	"content": true | false,  //true: アップロード成功、false: アップロード失敗
 	"message": "OK"
}

マルチパートアップロード

アップロードするオブジェクトが大きすぎる場合、マルチパート操作を実行できます。マルチパート操作はオブジェクトを複数のパートに分割し、より高速なアップロードを実行します。このSDKセクションでは、Stratusのオブジェクトのマルチパートアップロードを実行するために使用できるすべてのSDKメソッドについて説明します。

マルチパートインスタンスの作成

マルチパート操作を実行するには、マルチパートオブジェクトインスタンスを取得する必要があります。このコンポーネントインスタンスは、Stratusのバケットに格納されたオブジェクトに対してマルチパート操作を実行するさまざまなコードスニペットで参照されます。以下のコードスニペットで使用されているBucketリファレンスは、コンポーネントインスタンスです。

copy
const multipart = bucket.getMultipartInstance("key");

マルチパートアップロードの開始

オプションなしでマルチパートアップロードを開始

以下のSDKメソッドを使用すると、StratusはuploadIdを返します。このIDにより、オブジェクトの複数のパートをアップロードできます。

copy
// アップロードを開始する
const initiateUpload = await multipart.initiateUpload();

オプション付きでマルチパートアップロードを開始

以下のSDKメソッドを使用すると、StratusはuploadIdを返します。このIDにより、オブジェクトの複数のパートをアップロードできます。さらに、このSDKメソッドではoptionsパラメータを使用してtypeの指示を提供できます。

使用パラメータ

パラメータ名 データ型 定義
type String
  • このパラメータはoptions JSON Objectパラメータ内のキーです。
  • このパラメータを使用して、オブジェクトのcontent-typeを上書きできます。
  • このパラメータを渡さない場合、デフォルトでtypeの値はapplication/octet-streamになります。
copy
// オプション付きでアップロードを開始する
const options = {
	type: "application/json"
}
const initiateUpload = await multipart.initiateUpload(options);

レスポンス例

copy
{
  "status": 200,
  "content": {
 	 "bucket": "llm-development",
 	 "key": "a/cv",
 	 "upload_id": "01hyj639a9zfbg8j7q86nsrj6r"
 },
  "message": "OK"
}

オブジェクトのパートをアップロード

以下のSDKメソッドでは、オブジェクトの個々のパートのアップロードを実行します。各パートには1から1000の範囲の個別のpart番号があります。これはパートの順序を表しますが、これらのパートは必ずしも順番にアップロードされるわけではありません。すべてのパートのアップロードが完了すると、これらのパートは順番に結合されます。

使用パラメータ

パラメータ名 データ型 定義
file File アップロードするオブジェクトです。
part Number アップロードされるパートの順序番号を含みます。
copy
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(); // リクエストを中止する

レスポンス例

copy
{
 	"status": 200,
 	"content": true | false,  //true: アップロード成功、false: アップロード失敗
 	"message": "OK"
}

マルチパートアップロードの完了

以下のメソッドを使用すると、すべてのパートが正常にアップロードされた後にマルチパートプロセスを終了できます。

copy
const completeUpload = await multipart.completeUpload()

使用パラメータ

パラメータ名 データ型 定義
options JSON Object meta: オプションのJSON Objectパラメータです。バケットにアップロードされるオブジェクトのメタ情報を追加するために使用されます。デフォルト値は空のJSONオブジェクトです。

レスポンス例

copy
{
 	"status": 200,
 	"content": true | false,  //true: アップロード成功、false: アップロード失敗
 	"message": "OK"
}

アップロードサマリーの取得

以下のSDKメソッドを使用すると、アップロードされたすべてのパートの操作サマリーを取得できます。サマリーを表示するには、getUploadSummary()メソッドを使用します。

copy
const getUploadSummary = await multipart.getUploadSummary();

レスポンス例

copy
{
 "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_size100MB以下にすることをお勧めします。
  • オブジェクトのmin_part_size5MB以上である必要があります。
  • オブジェクト全体のサイズは10GB以下である必要があります。
注意: 10GBを超えるオブジェクトの場合は、マルチパートアップロード操作を正常に実行するために個別のSDKメソッドを使用することを推奨します。

使用パラメータ

パラメータ名 データ型 定義
file File アップロードするオブジェクトです。
partSize Number アップロードされるオブジェクトの各パートのサイズを含みます。
options JSON Object type: このJSONオブジェクト内のキーとなるパラメータです。
  • Stringパラメータです。
  • このパラメータを使用して、オブジェクトのcontent-typeを上書きできます。
  • このパラメータを渡さない場合、デフォルトでファイルの型が使用されます。ファイル自体に型がない場合、デフォルトでtypeの値はapplication/octet-streamになります。
  • meta: オプションのJSON Objectパラメータです。バケットにアップロードされるオブジェクトのメタ情報を追加するために使用されます。デフォルト値は空のJSONオブジェクトです。

オプションなしですべてのマルチパート機能をラップしたオブジェクトのアップロード

copy
// オブジェクトをアップロード
const partSize = 10; // MB単位
const file = document.getElementById("uploadedFiles").files[0]
const uploadObject = await multipart.uploadObject(file, partSize);

オプション付きですべてのマルチパート機能をラップしたオブジェクトのアップロード

copy
// オプション付きでオブジェクトをアップロード
const partSize = 10; // MB単位
const file = document.getElementById("uploadedFiles").files[0]
const options = {
	type: "application/json" // 上書きするオブジェクトのコンテンツタイプ
}
const uploadObject = await multipart.uploadObject(file, partSize, options);

レスポンス例

copy
{
 	"status": 200,
 	"content": true | false,  //true: アップロード成功、false: アップロード失敗
 	"message": "OK"
}

最終更新日 2026-02-23 18:09:41 +0530 IST