説明
NAVER CLOUD PLATFORM Object Storageからファイルをダウンロードする例です。Object Storage に保存されているファイルに「Public-Read」パーミッションがない場合、クレデンシャルプロセスが必要になる場合があるため、「Region/Bucket/ExecSec/SecretExecSec」情報が必要になります。
// NCPOSメソッドを設定する。
dx.setDownloadMode("NCPOS");
dx.setNCPOSDownloadConfig({
type: "NON-SECRET",
accessKeyId: "ABCD...1234",
secretAccessKey: "ABCD...1234",
region: "",
bucket: "abc-bucket"
});
Object Storage のバケットに格納されたオブジェクト(ファイル)には、以下のアドレス指定でアクセスできます。
https://{region}.object.ncloudstorage.com/{bucket-name}/{key}
https://{bucket-name}.{region}.object.ncloudstorage.com/{key}
したがって、オブジェクトをダウンロードするには、オブジェクトのアドレスを仮想ファイルのURLに設定する必要があります。
dx.addVirtualFile({ name: "bridge_509147.jpg", size: 509147, url: "https://kr.object.ncloudstorage.com/abc-bucket/bridge_509147.jpg" });
dx.addVirtualFile({ name: "beach_239826.jpg", size: 239826, url: "https://kr.object.ncloudstorage.com/abc-bucket/beach_239826.jpg" });
dx.addVirtualFile({ name: "cosmos (empty) 195779.jpg", size: 195779, url: "https://kr.object.ncloudstorage.com/abc-bucket/cosmos%20%28empty%29%20195779.jpg" });
オブジェクトストレージのバケットも、ダウンロード用に設定する必要がある。異なるソース間の通信にはCORSの設定が必要です。DEXTUploadX5はテイクオーバー機能を使用するので、Accet-Rangesレスポンスヘッダを追加する必要があります。
# NAVER CLOUD PLATFORM Object Storage CORS configuration
{
"CORSRules": [
{
"AllowedHeaders": ["*"],
"AllowedMethods": ["HEAD", "GET", "PUT", "POST"],
"AllowedOrigins": ["*"],
"ExposeHeaders": ["ETag", "Accept-Ranges"],
"MaxAgeSeconds": 3000
}
]
}
例
単一ファイルのダウンロード |
|
|
|
複数ファイルのダウンロード |
|
|
|
テストするには、スクリプトでACCESS_KEY、SECRET_KEY、REGION、BUCKET_NAMEを設定する必要がある。 |