オブジェクトがアップロードされると、object Storage Service (OSS) はアプリケーションサーバーのコールバックプロセスを開始できます。 アップロードコールバックを設定するには、必要なコールバックパラメーターをOSSに送信されるアップロードリクエストに追加するだけです。
説明
OSSがcallbackSNIを送信するかどうかは、callbackパラメーターの構成によって異なります。 詳細については、「コールバック」をご参照ください。
使用上の注意
アップロードコールバックを設定する前に、アップロードコールバック機能を理解してください。 詳細については、「アップロードコールバック」をご参照ください。
例
次のサンプルコードは、examplefile.txtという名前のローカルファイルをexamplebucketという名前のバケットにアップロードするときに、アップロードコールバックを設定する方法の例を示しています。 ローカルファイルがアップロードされた後、OSS内のオブジェクトの名前はexampleobject.txtです。
const OSS = require("ali-oss");
varpath = require("path");
const client = new OSS({
// Specify the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the region to oss-cn-hangzhou.
region: "yourregion",
// Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured.
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// Specify the name of the bucket.
bucket: "examplebucket",
});
const options = {
callback: {
// Specify the address of the callback server that receives the callback request. Example: http://oss-demo.aliyuncs.com:23450.
url: "http://oss-demo.aliyuncs.com:23450",
// (Optional) Specify the Host field included in the callback request header.
//host: 'yourCallbackHost',
// Specify the body of the callback request.
body: "bucket=${bucket}&object=${object}&var1=${x:var1}&var2=${x:var2}",
// Specify Content-Type in the callback request.
contentType: "application/x-www-form-urlencoded",
// Specifies whether OSS sends Server Name Indication (SNI) to the origin address specified by callbackUrl when a callback request is initiated from the client.
callbackSNI: true,
// Configure custom parameters for the callback request.
customValue: {
var1: "value1",
var2: "value2",
},
},
};
async function put() {
try {
// Specify the full paths of the object and the local file. Do not include the bucket name in the full path of the object.
// By default, if you do not specify the path of the local file, the file is uploaded from the local path of the project to which the sample program belongs.
let result = await client.put(
"exampleobject.txt",
path.normalize("/localpath/examplefile.txt"),
options
);
console.log(result);
} catch (e) {
console.log(e);
}
}
put();
関連ドキュメント
アップロードコールバックの設定に使用される完全なサンプルコードについては、GitHubをご覧ください。
アップロードコールバックを設定するために呼び出すことができるAPI操作の詳細については、「コールバック」をご参照ください。
コールバックエラーをアップロードする原因と解決策の詳細については、「HTTPステータスコード203」をご参照ください。
コールバック機能のパラメーター設定と使用上の注意事項の詳細については、「コールバック」をご参照ください。