Tous les produits
Search
Centre de documentation

Object Storage Service:Upload objects using OSS SDK for Node.js

Dernière mise à jour :Sep 25, 2026

Cette rubrique explique comment charger des objets dans un compartiment doté de la gestion des versions activée dans Object Storage Service (OSS).

Chargement simple

Lorsque vous envoyez une requête pour charger un objet dans un compartiment avec gestion des versions activée, OSS génère un ID de version unique pour l'objet chargé et inclut cet ID dans la réponse en tant que valeur de l'en-tête x-oss-version-id. Si vous chargez un objet dans un compartiment dont la gestion des versions est suspendue, OSS attribue à l'objet un ID de version null. Si l'objet que vous chargez porte le même nom qu'un objet existant, l'objet existant est écrasé par l'objet chargé. Ainsi, chaque objet ne possède qu'une seule version, dont l'ID de version est null.

Le code suivant montre comment effectuer un chargement simple :

const OSS = require('ali-oss');

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 you have configured environment variables OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET. 
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // Specify the name of the bucket. 
  bucket: 'yourbucketname'
});

async function put() {
  const result = await client.put('fileName', path.normalize('D:\\localpath\\examplefile.txt'));
  console.log(result.res.headers['x-oss-version-id']); // Display the version ID of the uploaded object. 
}
put();

Chargement par ajout

Dans un compartiment avec gestion des versions activée, l'opération AppendObject ne peut être effectuée que sur la version actuelle d'un objet pouvant faire l'objet d'un ajout.

Remarque
  • Lorsque vous exécutez l'opération AppendObject sur la version actuelle d'un objet pouvant faire l'objet d'un ajout, OSS ne génère pas de version précédente pour cet objet.

  • Lorsque vous exécutez l'opération PutObject ou DeleteObject sur un objet dont la version actuelle est un objet pouvant faire l'objet d'un ajout, OSS stocke l'objet en tant que version précédente et empêche tout ajout ultérieur à cet objet.

  • L'opération AppendObject ne peut pas être exécutée sur un objet dont la version actuelle n'est pas un objet pouvant faire l'objet d'un ajout, tel qu'un objet normal ou un marqueur de suppression.

Le code suivant montre comment effectuer un chargement par ajout :

const OSS = require('ali-oss');

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 you have configured environment variables OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET. 
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // Specify the name of the bucket. 
  bucket: 'yourbucketname'
});

async function append() {
  await client.append('filename', path.normalize('D:\\localpath\\examplefile.txt'), {
    partSize: 100 * 1024
  });
}
append();

Chargement multipartie

Si vous appelez la méthode MultipartUpload pour finaliser une tâche de chargement multipartie pour un objet dans un compartiment avec gestion des versions activée, OSS génère un ID de version unique pour l'objet et renvoie cet ID dans le champ x-oss-version-id de l'en-tête de réponse.

Le code suivant montre comment effectuer un chargement multipartie :

const OSS = require('ali-oss');

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 you have configured environment variables OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET. 
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // Specify the name of the bucket. 
  bucket: 'yourbucketname'
});

async function multipartUpload() {
  const result = await client.multipartUpload('filename', path.normalize('D:\\localpath\\examplefile.txt'), {
    partSize: 100 * 1024
  });
  // Display the version ID of the uploaded object. 
  console.log(result.res.headers['x-oss-version-id']); 
}
multipartUpload();

Références

  • Pour plus d'informations sur l'opération API que vous pouvez appeler pour effectuer un chargement simple, consultez PutObject.

  • Pour plus d'informations sur l'opération API que vous pouvez appeler pour effectuer un chargement par ajout, consultez AppendObject.

  • Pour plus d'informations sur l'opération API que vous pouvez appeler pour effectuer un chargement multipartie, consultez CompleteMultipartUpload.