Client是OSS Node.js的用戶端,用於管理儲存空間和檔案等OSS資源。使用Node.js SDK發起OSS請求時,您需要初始化一個Client執行個體,並根據需要修改預設配置項。
注意事項
初始化OSSClient前,您需要配置訪問憑證,本文以從環境變數讀取存取憑證為例,詳情請參見配置訪問憑證(Node.js SDK)。
關於OSS支援的Region與Endpoint的對應關係,請參見地區和Endpoint。
關於建立RAM使用者的AccessKey,請參見建立AccessKey。
前置條件
在配置用戶端前,您需要先使用RAM使用者AccessKey完成配置環境變數。
使用RAM使用者AccessKey配置環境變數。
Linux
在命令列介面執行以下命令來將環境變數設定追加到
~/.bashrc檔案中。echo "export OSS_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bashrc echo "export OSS_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bashrc執行以下命令使變更生效。
source ~/.bashrc執行以下命令檢查環境變數是否生效。
echo $OSS_ACCESS_KEY_ID echo $OSS_ACCESS_KEY_SECRET
macOS
在終端中執行以下命令,查看預設Shell類型。
echo $SHELL根據預設Shell類型進行操作。
Zsh
執行以下命令來將環境變數設定追加到
~/.zshrc檔案中。echo "export OSS_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.zshrc echo "export OSS_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.zshrc執行以下命令使變更生效。
source ~/.zshrc執行以下命令檢查環境變數是否生效。
echo $OSS_ACCESS_KEY_ID echo $OSS_ACCESS_KEY_SECRET
Bash
執行以下命令來將環境變數設定追加到
~/.bash_profile檔案中。echo "export OSS_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bash_profile echo "export OSS_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bash_profile執行以下命令使變更生效。
source ~/.bash_profile執行以下命令檢查環境變數是否生效。
echo $OSS_ACCESS_KEY_ID echo $OSS_ACCESS_KEY_SECRET
Windows
CMD
在CMD中運行以下命令。
setx OSS_ACCESS_KEY_ID "YOUR_ACCESS_KEY_ID" setx OSS_ACCESS_KEY_SECRET "YOUR_ACCESS_KEY_SECRET"運行以下命令,檢查環境變數是否生效。
echo %OSS_ACCESS_KEY_ID% echo %OSS_ACCESS_KEY_SECRET%
PowerShell
在PowerShell中運行以下命令。
[Environment]::SetEnvironmentVariable("OSS_ACCESS_KEY_ID", "YOUR_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User) [Environment]::SetEnvironmentVariable("OSS_ACCESS_KEY_SECRET", "YOUR_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)運行以下命令,檢查環境變數是否生效。
[Environment]::GetEnvironmentVariable("OSS_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User) [Environment]::GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)
參考上述方式修改系統內容變數後,請重啟或重新整理您的編譯運行環境,包括IDE、命令列介面、其他傳統型應用程式及後台服務,以確保最新的系統內容變數成功載入。
預設配置樣本
以下程式碼範例示範了如何使用V4簽名和V1簽名配置OSSClient。
V1簽名(不推薦)
常見情境配置樣本
如果您有配置其它網域名稱的需求,請參考以下程式碼範例。請注意,以下程式碼範例預設使用V4簽名以及RAM使用者的AK資訊。
內網網域名稱配置樣本
當您的應用部署在阿里雲的ECS執行個體上,並且需要頻繁訪問同地區的OSS資源時,使用內網網域名稱可以降低流量成本並提高訪問速度。
以下是使用OSS內網網域名稱配置OSSClient的範例程式碼。
const OSS = require('ali-oss');
const client = new OSS({
// 從環境變數中擷取訪問憑證。運行本程式碼範例之前,請確保已設定環境變數OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
// yourRegion填寫Bucket所在地區。以華東1(杭州)為例,Region填寫為oss-cn-hangzhou。
region: 'oss-cn-hangzhou',
//使用V4簽名
authorizationV4: true,
// yourBucketName填寫Bucket名稱。
bucket: 'yourBucketName',
// yourEndpoint填寫Bucket所在地區對應的內網Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou-internal.aliyuncs.com。
endpoint: 'yourEndpoint',
});自訂網域名配置樣本
以下是使用自訂網域名配置OSSClient的範例程式碼。
您需要先將自訂網域名綁定至Bucket預設網域名稱,否則將引發報錯!關於綁定自訂網域名的詳細操作,請參見通過自訂網域名訪問OSS。
const OSS = require('ali-oss');
const client = new OSS({
// 從環境變數中擷取訪問憑證。運行本程式碼範例之前,請確保已設定環境變數OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
// yourRegion填寫Bucket所在地區。以華東1(杭州)為例,Region填寫為oss-cn-hangzhou。
region: 'oss-cn-hangzhou',
// 使用V4簽名
authorizationV4: true,
// yourBucketName填寫Bucket名稱。
bucket: 'yourBucketName',
// yourEndpoint請填寫您的自訂網域名。例如https://static.example.com。
endpoint: 'yourEndpoint',
// 設定true開啟CNAME選項。
cname: true,
});傳輸加速網域名稱配置樣本
以下是使用傳輸加速網域名稱配置OSSClient的範例程式碼。
const OSS = require('ali-oss');
const client = new OSS({
// 從環境變數中擷取訪問憑證。運行本程式碼範例之前,請確保已設定環境變數OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
// yourRegion填寫Bucket所在地區。以華東1(杭州)為例,Region填寫為oss-cn-hangzhou。
region: 'oss-cn-hangzhou',
//使用V4簽名
authorizationV4: true,
// yourBucketName填寫Bucket名稱。
bucket: 'yourBucketName',
// yourEndpoint請填寫傳輸加速網域名稱。例如'oss-accelerate.aliyuncs.com'
endpoint: 'oss-accelerate.aliyuncs.com',
});相關文檔
關於OSSClient的更多配置選項,請參見官網樣本。

