すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:コールバックのアップロード

最終更新日:Nov 04, 2024

オブジェクトがアップロードされると、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」をご参照ください。

  • コールバック機能のパラメーター設定と使用上の注意事項の詳細については、「コールバック」をご参照ください。