Ao fazer upload de um objeto, o Object Storage Service (OSS) pode iniciar um processo de callback para o servidor de aplicativos. Para configurar callbacks de upload, adicione os parâmetros de callback necessários à solicitação de upload enviada ao OSS.
O envio de callbackSNI pelo OSS depende da construção dos parâmetros de callback. Para mais informações, consulte Callback.
Observação de uso
Antes de configurar um callback de upload, familiarize-se com esse recurso. Para mais informações, consulte Callback de upload.
Exemplos
O código de exemplo a seguir demonstra 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 será 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 obter o código de exemplo completo sobre a configuração de callbacks de upload, visite o GitHub.
Para obter detalhes sobre a operação de API usada na configuração de callbacks de upload, consulte Callback.
Caso enfrente erros de callback de upload, veja as causas e soluções em Falha 203.
Saiba mais sobre as configurações de parâmetros e observações de uso do recurso de callback em Callback.