Tous les produits
Search
Centre de documentation

Object Storage Service:InitiateMultipartUpload

Dernière mise à jour :Aug 18, 2026

Appelez l'opération InitiateMultipartUpload pour initialiser un téléchargement en plusieurs parties avant de transférer les données par blocs vers OSS.

Notes

  • L'opération InitiateMultipartUpload renvoie un ID de téléchargement unique à l'échelle mondiale. Utilisez cet identifiant pour les opérations ultérieures, telles que l'annulation ou la consultation du téléchargement en plusieurs parties.

  • L'initialisation d'un téléchargement en plusieurs parties n'affecte pas un objet existant portant le même nom.

  • Pour calculer la signature d'authentification de l'opération InitiateMultipartUpload, ajoutez ?uploads à CanonicalizedResource.

  • L'initialisation d'un téléchargement en plusieurs parties nécessite l'autorisation oss:PutObject. Vous pouvez configurer cette autorisation dans Accorder des autorisations personnalisées à un utilisateur RAM.

Autorisations

Par défaut, un compte Alibaba Cloud dispose de toutes les autorisations. Les utilisateurs RAM ou les rôles RAM associés à un compte Alibaba Cloud ne disposent d'aucune autorisation par défaut. Le compte Alibaba Cloud ou l'administrateur du compte doit accorder les autorisations d'exploitation via des stratégies RAM ou une stratégie de compartiment.

API

Action

Description

InitiateMultipartUpload

oss:PutObject

Initialise les tâches de téléchargement en plusieurs parties.

oss:PutObjectTagging

Cette autorisation est requise lors de l'initialisation d'une tâche de téléchargement en plusieurs parties si vous spécifiez des tags d'objet via x-oss-tagging.

kms:GenerateDataKey

Ces deux autorisations sont requises lors du téléchargement d'un objet si ses métadonnées contiennent X-Oss-Server-Side-Encryption: KMS.

kms:Decrypt

Syntaxe de la requête

POST /ObjectName?uploads HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT date
Authorization: SignatureValue

En-têtes de requête

InitiateMultipartUpload prend en charge les en-têtes de requête HTTP standard (Cache-Control, Content-Disposition, Content-Encoding, Content-Type, Expires) ainsi que les en-têtes personnalisés préfixés par x-oss-meta-. Ces en-têtes suivent les mêmes règles que l'opération PutObject.

Nom

Type

Description

Cache-Control

Chaîne

Spécifie le comportement de mise en cache de la page web lors du téléchargement de l'objet, tel que défini dans la norme RFC 2616.

Valeur par défaut : none

Content-Disposition

Chaîne

Spécifie le nom de fichier de téléchargement pour l'objet, tel que défini dans la norme RFC 2616.

Valeur par défaut : none

Content-Encoding

Chaîne

Spécifie l'encodage du contenu de l'objet, tel que défini dans la norme RFC 2616.

Valeur par défaut : none

Expires

Chaîne

La date d'expiration, telle que définie dans la norme RFC 2616.

Valeur par défaut : none

x-oss-forbid-overwrite

Chaîne

Indique s'il faut écraser un objet existant portant le même nom. Si le versioning est activé ou suspendu pour le compartiment, le paramètre x-oss-forbid-overwrite est ignoré et l'objet existant est écrasé.

  • Si le paramètre x-oss-forbid-overwrite n'est pas spécifié ou s'il est défini sur false, l'objet existant est écrasé.

  • Si le paramètre x-oss-forbid-overwrite est défini sur true, l'objet existant ne peut pas être écrasé.

La définition du paramètre x-oss-forbid-overwrite réduit les performances en termes de QPS. Si vous utilisez x-oss-forbid-overwrite à haut volume (QPS > 1 000), contactez le support technique pour éviter toute interruption de service.

x-oss-server-side-encryption

Chaîne

La méthode de chiffrement côté serveur utilisée pour chiffrer chaque partie de l'objet.

Valeurs valides : AES256, KMS

Important

Pour utiliser l'algorithme de chiffrement KMS, activez d'abord le service Key Management Service (KMS).

S'il est spécifié, OSS chiffre chaque partie téléchargée avec la méthode indiquée et inclut cet en-tête dans les réponses de téléchargement et de transfert. La valeur de l'en-tête dans la réponse de téléchargement indique l'algorithme de chiffrement de l'objet.

x-oss-server-side-encryption-key-id

Chaîne

L'ID de la clé maître client (CMK) gérée par KMS.

Cet en-tête n'est valide que lorsque le paramètre x-oss-server-side-encryption est défini sur KMS.

x-oss-storage-class

Chaîne

La classe de stockage de l'objet.

S'il est spécifié, l'objet utilise cette classe de stockage indépendamment de la valeur par défaut du compartiment. Par exemple, si vous définissez le paramètre x-oss-storage-class sur Standard, l'objet est stocké en tant que Standard, même dans un compartiment IA.

Valeurs valides :

  • Standard

  • IA (Infrequent Access)

  • Archive (Stockage d'archive)

  • ColdArchive : Archive froide

  • DeepColdArchive : Archive froide profonde

    Important

    Si vous souhaitez télécharger un grand nombre d'objets, la spécification directe de la classe de stockage Deep Cold Archive pour les objets à télécharger entraîne des frais de requête PUT élevés. Nous vous recommandons de spécifier d'abord la classe de stockage Standard pour les objets lors de leur téléchargement, puis d'utiliser des règles de cycle de vie pour les convertir en classe de stockage Deep Cold Archive afin de réduire les frais de requête PUT.

Classes de stockage.

x-oss-tagging

Chaîne

Le tag d'objet. Vous pouvez spécifier plusieurs tags. Exemple : TagA=A&TagB=B

Remarque

Les clés et les valeurs des tags doivent être encodées en URL. Si un tag ne contient pas de signe égal (=), la valeur est une chaîne vide.

Paramètres de requête

Spécifiez le paramètre encoding-type pour encoder le nom de l'objet dans la réponse.

Nom

Type

Description

encoding-type

Chaîne

La méthode d'encodage du nom de l'objet dans la réponse. Les noms d'objets sont encodés en UTF-8, mais XML 1.0 ne prend pas en charge certains caractères de contrôle (valeurs ASCII de 0 à 10). Utilisez ce paramètre pour encoder les noms d'objets contenant de tels caractères.

Valeur par défaut : none

Valeur valide : url

Éléments de réponse

OSS renvoie une réponse XML contenant les éléments suivants :

Nom

Type

Description

InitiateMultipartUploadResult

Conteneur

Le conteneur pour les résultats de l'opération InitiateMultipartUpload.

Nœuds enfants : Bucket, Key, UploadId et EncodingType

Nœud parent : Aucun

Bucket

Chaîne

Le nom du compartiment pour l'événement de téléchargement en plusieurs parties.

Nœud parent : InitiateMultipartUploadResult

Key

Chaîne

Le nom de l'objet pour l'événement de téléchargement en plusieurs parties.

Nœud parent : InitiateMultipartUploadResult

UploadId

Chaîne

L'ID unique pour l'événement de téléchargement en plusieurs parties. Utilisez cet ID dans les appels ultérieurs aux opérations UploadPart et CompleteMultipartUpload.

Nœud parent : InitiateMultipartUploadResult

EncodingType

Chaîne

Le type d'encodage du nom de l'objet dans la réponse. Présent uniquement lorsque le paramètre encoding-type est spécifié dans la requête.

Nœud parent : InitiateMultipartUploadResult

Cette opération renvoie également les en-têtes de réponse communs.

Exemples

  • Exemple de requête

    POST /multipart.data?uploads HTTP/1.1 
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com 
    Date: Wed, 22 Feb 2012 08:32:21 GMT 
    x-oss-storage-class: Archive
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
  • Exemple de réponse

    HTTP/1.1 200 OK
    Content-Length: 230
    Server: AliyunOSS
    Connection: keep-alive
    x-oss-request-id: 42c25703-7503-fbd8-670a-bda01eae****
    Date: Wed, 22 Feb 2012 08:32:21 GMT
    Content-Type: application/xml
    
    <?xml version="1.0" encoding="UTF-8"?>
    <InitiateMultipartUploadResult xmlns="http://doc.oss-cn-hangzhou.aliyuncs.com">
        <Bucket>oss-example</Bucket>
        <Key>multipart.data</Key>
        <UploadId>0004B9894A22E5B1888A1E29F823****</UploadId>
    </InitiateMultipartUploadResult>

SDK

SDK pour cette opération :

Outil de ligne de commande ossutil

Commande ossutil correspondante : initiate-multipart-upload.

Codes d'erreur

Code d'erreur

Code d'état HTTP

Description

InvalidEncryptionAlgorithmError

400

Une méthode de chiffrement côté serveur autre que AES256, KMS est spécifiée.

InvalidArgument

400

L'en-tête de requête x-oss-server-side-encryption est ajouté lors du téléchargement de chaque partie.

InvalidArgument

400

La classe de stockage spécifiée n'est pas valide.

KmsServiceNotEnabled

403

L'algorithme de chiffrement KMS est utilisé, mais KMS n'est pas activé dans la console.

FileAlreadyExists

409

Les causes possibles de cette erreur sont les suivantes :

  • La requête inclut l'en-tête x-oss-forbid-overwrite=true pour empêcher l'écrasement d'un objet portant le même nom, mais un objet portant le même nom existe déjà dans le compartiment.

  • La fonctionnalité d'espace de noms hiérarchique est activée pour le compartiment et l'objet spécifié pour l'événement de téléchargement en plusieurs parties est un répertoire.