オブジェクトのダウンロード
このSDKメソッドは、バケットからオブジェクトをダウンロードするために使用できます。レスポンスはblob形式になります。以下のコードスニペットで使用されているStratusリファレンスは、コンポーネントインスタンスです。
バケットのバージョニングステータスに関する想定レスポンス:
- versionId を渡さない場合、リクエストで指定したキーとともに最新のオブジェクトが返されます。
- バケットでバージョニングが有効にされた後、無効にされた場合。デフォルトでは、プリンシパルの最初のオブジェクトが返されます。このオブジェクトの最新バージョンをダウンロードするには、versionId パラメータに「topVersion」の値を渡す必要があります。
- 特定のバージョンを取得するには、versionId クエリパラメータに有効なバージョンを値として使用します。
使用パラメータ
| パラメータ名 | データ型 | 定義 |
|---|---|---|
| key | String | オブジェクトの名前を保持します。 |
| options | JSON Object |
|
| processCallback | Function | ファイルダウンロード中のコールバックファンクションです。 |
オブジェクト名を使用したオブジェクトのダウンロード
以下のSDKスニペットを使用すると、key を使用してStratusのバケットからオブジェクトをダウンロードできます。
const getObject = await bucket.getObject("key");
const getObjectStart = getObject.start(); // リクエストを開始する
const getObjectAbort = getObject.abort(); // リクエストを中止する
特定バージョンのオブジェクトのダウンロード
以下のSDKスニペットを使用すると、key と versionId を使用してStratusのバケットから特定バージョンのオブジェクトをダウンロードできます。
const options = {
'versionId': 'djkshr8374yiuhf48', // オブジェクトの特定バージョンをダウンロードする
}
const getObject = await bucket.getObject("key", options);
const getObjectStart = getObject.start(); // リクエストを開始する
const getObjectAbort = getObject.abort(); // リクエストを中止する
プロセスコールバック付きオブジェクトのダウンロード
以下のSDKスニペットを使用すると、プロセスコールバックオプションを使用してStratusのバケットから特定のオブジェクトをダウンロードできます。このSDKは、ダウンロード操作とともにロギング、ロード/バッファ画面のレンダリングなどの追加ファンクションを実行したい場合に最適です。
// オブジェクトのダウンロード中のプロセスコールバック
const processCallback = () => {
// オブジェクトの取得中に実行する関数
console.log("Downloading Object");
}
const options = {
'versionId': 'djkshr8374yiuhf48'
}
const getObject = await bucket.getObject("key", options, processCallback);
const getObjectStart = getObject.start(); // リクエストを開始する
const getObjectAbort = getObject.abort(); // リクエストを中止する
レスポンス例
{
"status": 200,
"content": {Blob Data},
"message": "OK"
}
想定される例外
- 404: オブジェクトまたはBucketが見つかりません
- 416: リクエストされた範囲が満たせません
オブジェクトの特定部分のダウンロード
このセクションでは、Stratusからローカルシステムにオブジェクトの必要なバイト範囲をダウンロードできるSDKメソッドについて説明します。以下のコードスニペットで使用されているStratusリファレンスは、コンポーネントインスタンスです。
このメソッドは、オブジェクトの開始バイトと終了バイトの範囲を使用して、オブジェクトを複数のバイト範囲に分割する方式で機能します。
const processCallback = () => {
// オブジェクトの取得中に実行する関数
console.log("Downloading Object");
}
const options = {
'range': '0-2000' // オブジェクトのバイト単位の開始・終了範囲
}
const getObject = await stratus.getObject("key", options, processCallback);
const getObjectStart = getObject.start(); // リクエストを開始する
const getObjectAbort = getObject.abort(); // リクエストを中止する
レスポンス例
{
"status": 206,
"content": {Blob Data},
"message": "PARTIAL_CONTENT"
}
署名付きURLを使用したオブジェクトのダウンロード
非同期ファンクションの使用
// 署名付きURLを使用したオブジェクトのダウンロード
// 非同期ファンクションの使用
const processCallback = () => {
// オブジェクトの取得中に実行する関数
console.log("Downloading Object");
}
const options = {
'range': '0-2000' // オブジェクトのバイト単位の開始・終了範囲,
'signed': true, // 署名付きURLを使用してバケットからオブジェクトを取得することを宣言する
'signedUrlFn' : async (functionData) => {
console.log("Data : " + functionData);
// ファンクションロジック
return {
"signed_url": "" //署名付きURL
}
}
}
const getObject = await stratus.getObject("key", options, processCallback);
const getObjectStart = getObject.start(); // リクエストを開始する
const getObjectAbort = getObject.abort(); // リクエストを中止する
Promiseの使用
// Promiseの使用
const processCallback = () => {
// オブジェクトの取得中に実行する関数
console.log("Downloading Object");
}
const options = {
'range': '0-2000' // オブジェクトのバイト単位の開始・終了範囲,
'signed': true, // 署名付きURLを使用してバケットからオブジェクトを取得することを宣言する
'signedUrlFn' : (functionData) => {
return new Promise((resolve, reject) => {
console.log("Data : " + functionData);
// ファンクションロジック
resolve({
"signed_url" : ""
})
})
}
}
const getObject = await stratus.getObject("key", options, processCallback);
const getObjectStart = getObject.start(); // リクエストを開始する
const getObjectAbort = getObject.abort(); // リクエストを中止する
オプション付きSignedURLの使用
以下のSDKメソッドを使用すると、署名付きURLを使用してオブジェクトをダウンロードし、署名付きURLの有効期限を設定できます。
// 署名付きURLと有効期限を使用したオブジェクトのダウンロード
const processCallback = () => {
// オブジェクトの取得中に実行する関数
console.log("Downloading Object");
}
const options = {
'range': '0-2000' // オブジェクトのバイト単位の開始・終了範囲,
'signed': true, // 署名付きURLを使用してバケットからオブジェクトを取得することを宣言する
'signedUrlFn' : async (functionData) => {
console.log("Data : " + functionData);
// ファンクションロジック
return {
"signed_url": "" // 署名付きURL
}
},
"expiryInSeconds" : 3000 // 秒単位
}
const getObject = await stratus.getObject("key", options, processCallback);
const getObjectStart = getObject.start(); // リクエストを開始する
const getObjectAbort = getObject.abort(); // リクエストを中止する
キャッシュURLを使用したキャッシュオブジェクトのダウンロード
以下のSDKメソッドを使用すると、キャッシュURLを使用してキャッシュオブジェクトをダウンロードできます。
// キャッシュURL
const processCallback = () => {
// オブジェクトの取得中に実行する関数
console.log("Downloading Object");
}
const options = {
'range': '0-2000' // オブジェクトのバイト単位の開始・終了範囲,
'cached': true, // キャッシュURLを使用してバケットからオブジェクトを取得することを宣言する
}
const getObject = await stratus.getObject("key", options, processCallback);
const getObjectStart = getObject.start(); // リクエストを開始する
const getObjectAbort = getObject.abort(); // リクエストを中止する
最終更新日 2026-02-23 18:09:41 +0530 IST
Yes
No
Send your feedback to us