預設情況下,在受版本控制的儲存空間(Bucket)中調用GetObject介面僅返迴文件(Object)的目前的版本。
背景資訊
對某個Bucket執行GetObject操作時,分以下三種情況:
如果該Bucket中Object的目前的版本是刪除標記(Delete Marker),則返回404 Not Found。
如果在查詢參數中指定Object的versionId,則返回指定的Object版本。當versionId指定為“null”時,則返回versionId為“null”的Object版本。
通過指定versionId的方式來擷取刪除標記時,則返回405 Method Not Allowed。
範例程式碼
以下代碼用於下載檔案:
const OSS = require('ali-oss');
const client = new OSS({
// yourregion填寫Bucket所在地區。以華東1(杭州)為例,Region填寫為oss-cn-hangzhou。
region: 'yourregion',
// 從環境變數中擷取訪問憑證。運行本程式碼範例之前,請確保已設定環境變數OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// yourbucketname填寫儲存空間名稱。
bucket: 'yourbucketname'
});
async function get() {
// 檔案名稱。
const result = await client.get('filename', {
// 查看下載檔案的版本ID。
versionId: 'versionid',
});
console.log(result.content);
}
get();
相關文檔
關於下載檔案的API介面說明,請參見GetObject。