オブジェクトがアップロードされると、Object Storage Service (OSS) はアプリケーションサーバーへのコールバックプロセスを開始できます。 アップロードコールバックを設定するには、OSS に送信されるアップロードリクエストに必要なコールバックパラメーターを追加するだけです。
説明
コールバック設定は、`callbackSNI` などの設定をサポートしています。 詳細については、「コールバック」をご参照ください。
注意事項
アップロードコールバックを設定する前に、この機能について理解していることを確認してください。 詳細については、「アップロードコールバック」をご参照ください。
サンプルコード
次のコードは、アップロードコールバックを使用して、ローカルファイル `examplefile.txt` を `examplebucket` バケット内の `exampleobject.txt` にアップロードする方法を示しています。
const OSS = require("ali-oss");
var path = require("path");
const client = new OSS({
// yourregion をバケットが配置されているリージョンに置き換えます。 たとえば、バケットが中国 (杭州) リージョンにある場合、リージョンを 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,
// バケット名を指定します。
bucket: "examplebucket",
});
const options = {
callback: {
// コールバックサーバーの URL を設定します。 例:http://oss-demo.aliyuncs.com:23450。
url: "http://oss-demo.aliyuncs.com:23450",
// (オプション) コールバックリクエストのヘッダーに Host 値を設定します。 これは、ご利用のサーバーで設定されている Host 値です。
//host: 'yourCallbackHost',
// コールバックのリクエストボディの値を設定します。
body: "bucket=${bucket}&object=${object}&var1=${x:var1}&var2=${x:var2}",
// コールバックリクエストの Content-Type を設定します。
contentType: "application/x-www-form-urlencoded",
// クライアントがコールバックリクエストを開始する際に、OSS が callbackUrl で指定されたオリジン URL にサーバー名表示 (SNI) を送信するかどうかを指定します。
callbackSNI: true,
// コールバックリクエストのカスタムパラメーターを設定します。
customValue: {
var1: "value1",
var2: "value2",
},
},
};
async function put() {
try {
// オブジェクトの完全なパスとローカルファイルの完全なパスを指定します。 オブジェクトの完全なパスにバケット名を含めることはできません。
// ローカルパスを指定しない場合、デフォルトではサンプルプログラムのプロジェクトに対応するローカルパスからファイルがアップロードされます。
let result = await client.put(
"exampleobject.txt",
path.normalize("/localpath/examplefile.txt"),
options
);
console.log(result);
} catch (e) {
console.log(e);
}
}
put();