オブジェクトがアップロードされると、object Storage Service (OSS) はアプリケーションサーバーのコールバックプロセスを開始できます。 アップロードコールバックを設定するには、必要なコールバックパラメーターをOSSに送信されるアップロードリクエストに追加するだけです。
使用上の注意
アップロードコールバックを設定する前に、アップロードコールバック機能を理解してください。 詳細については、「アップロードコールバック」をご参照ください。
例
次のサンプルコードは、examplefile.txtという名前のローカルファイルをexamplebucketという名前のバケットにアップロードするときに、アップロードコールバックを設定する方法の例を示しています。 ローカルファイルがアップロードされた後、OSS内のオブジェクトの名前はexampleobject.txtです。
const OSS = require('ali-OSS ');
varpath=require('path');
const client = new OSS({
// バケットが配置されているリージョンを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、リージョンを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、
// バケットの名前を指定します。
bucket: 'examplebucket'
});
const options = {
callback: {
// コールバック要求を受信するコールバックサーバーのアドレスを指定します。 例: http://oss-demo.aliyuncs.com:23450。
url: 'http:// oss-demo.aliyuncs.com:23450 '、
// (オプション) コールバックリクエストヘッダーに含まれるHostフィールドを指定します。
// host: 'yourCallbackHost' 、
// コールバック要求の本文を指定します。
body: 'bucket =${ bucket}&object =${ object}&var1 =${ x:var1}&var2 =${ x:var2}'、
// コールバック要求でContent-Typeを指定します。
contentType: 'application/x-www-form-urlencodd' 、
// コールバック要求のカスタムパラメータを設定します。
customValue: {
var1: 'value1' 、
var2: 'value2'
}
}
}
async関数put () {
try {
// オブジェクトとローカルファイルのフルパスを指定します。 オブジェクトのフルパスにバケット名を含めないでください。
// デフォルトでは、ローカルファイルのパスを指定しないと、サンプルプログラムが属するプロジェクトのローカルパスからファイルがアップロードされます。
let result = await client.put('exampleobject.txt '、path.normalize('/localpath/examplefile.txt ') 、オプション);
console.log (結果);
} catch (e) {
console.log(e);
}
}
put();
参考資料
アップロードコールバックの設定に使用される完全なサンプルコードについては、GitHubをご覧ください。
アップロードコールバックを設定するために呼び出すことができるAPI操作の詳細については、「コールバック」をご参照ください。
コールバックエラーをアップロードする原因と解決策の詳細については、「HTTPステータスコード203」をご参照ください。