Ao enviar um objeto, o Object Storage Service (OSS) pode iniciar um processo de callback para o servidor de aplicações. Para configurar callbacks de upload, basta adicionar os parâmetros de callback necessários à solicitação de upload enviada ao OSS.
O envio do callbackSNI pelo OSS depende da construção dos parâmetros de callback. Para obter mais informações, consulte Callback.
Nota de uso
Antes de configurar um callback de upload, familiarize-se com o recurso de callback de upload. Para obter mais informações, consulte Upload callback.
Exemplos
O código de exemplo a seguir mostra como configurar callbacks de upload ao enviar um arquivo local chamado examplefile.txt para um bucket chamado examplebucket. Após o upload do arquivo local, o nome do objeto no OSS é exampleobject.txt.
const OSS = require("ali-oss");
var path = 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();
Referências
Para acessar o código de exemplo completo usado para configurar callbacks de upload, visite o GitHub.
Para obter mais informações sobre a operação de API usada para configurar callbacks de upload, consulte Callback.
Para conhecer as causas e as soluções para erros de callback de upload, consulte Fault 203.
Para entender as configurações de parâmetros do recurso de callback e as notas de uso, consulte Callback.