Si l'accès en temps réel aux objets de classe de stockage Archive est désactivé, vous devez les restaurer avant de pouvoir les lire. Les objets de classes de stockage Cold Archive et Deep Cold Archive ne prennent pas en charge l'accès en temps réel et doivent être restaurés avant toute lecture. Les opérations de lecture incluent GetObject (téléchargement), ProcessImage (traitement d'image), CopyObject (copie), UploadPartCopy (copie multipart), SelectObject (requête) et PostProcessTask (traitement des données via des requêtes POST). Cette rubrique explique comment restaurer les objets de classes de stockage Archive, Cold Archive et Deep Cold Archive avant d'effectuer une opération de lecture.
Prérequis
L'objet utilise la classe de stockage Archive, Cold Archive ou Deep Cold Archive. Pour plus d'informations, consultez Classes de stockage.
Vous disposez de l'autorisation
oss:RestoreObject. Attacher une stratégie personnalisée à un utilisateur RAM.
Remarques
L'opération RestoreObject s'applique uniquement aux objets de classes de stockage Archive, Cold Archive et Deep Cold Archive. Elle ne s'applique pas aux objets de classes de stockage Standard ou Infrequent Access (IA).
Il n'est pas nécessaire de restaurer un objet de classe de stockage Archive, Cold Archive ou Deep Cold Archive avant d'envoyer une requête qui ne lit pas les données de l'objet, telle que
DeleteObject,DeleteMultipleObjects,GetObjectMetaouHeadObject. Si vous restaurez un objet pour une opération qui ne le nécessite pas, des frais supplémentaires inutiles vous seront facturés.Lors du premier appel de l'opération RestoreObject pour un objet, une réponse 202 Accepted est renvoyée. Si l'objet est déjà dans l'état restauré, les appels suivants renvoient une réponse 200 OK.
Si la restauration d'un objet est toujours en cours, vous pouvez soumettre une autre demande de restauration uniquement pour augmenter la priorité de restauration. Toute autre demande renvoie une erreur 409.
Pour un bucket avec le versioning activé, différentes versions d'un objet peuvent avoir des classes de stockage différentes. Par défaut, l'appel de l'opération RestoreObject restaure la version actuelle de l'objet. Vous pouvez restaurer une version spécifique en spécifiant son versionId.
Processus de restauration
Le processus de restauration est identique pour les objets de différentes classes de stockage. Il se déroule comme suit.
Initialement, l'objet est dans l'état gelé (frozen).
Après la soumission d'une demande de restauration, l'objet passe à l'état de restauration (restoring).
Une fois la tâche côté serveur terminée, l'objet passe à l'état restauré (restored). Vous pouvez alors lire l'objet.
Si vous soumettez une autre demande de restauration alors que l'objet est dans l'état restauré, la durée de cet état est prolongée. La durée totale prolongée ne peut pas dépasser la durée maximale autorisée pour la classe de stockage.
À la fin de l'état restauré, l'objet revient à l'état gelé et sa classe de stockage d'origine reste inchangée.
Délai de restauration
Le tableau suivant indique le temps nécessaire pour restaurer les objets selon leur classe de stockage. Les délais réels peuvent varier.
Classe de stockage de l'objet | Description |
Archive | Généralement 1 minute. |
Cold Archive |
|
Deep Cold Archive |
|
Durée de l'état restauré
La durée pendant laquelle les objets peuvent rester dans l'état restauré varie selon la classe de stockage.
|
Classe de stockage de l'objet |
Description |
|
Archive |
1 à 7 jours. |
|
Cold Archive |
1 à 365 jours. |
|
Deep Cold Archive |
1 à 365 jours. |
Facturation
Des frais de récupération de données vous sont facturés lors de la restauration des objets de classes de stockage Archive, Cold Archive et Deep Cold Archive. Pour plus d'informations, consultez Frais de traitement des données.
Des frais de requête Put vous sont facturés lors de la restauration des objets de classe de stockage Archive. Pour plus d'informations, consultez Frais de requête.
Des frais de requête de récupération de données vous sont facturés lors de la restauration des objets de classes de stockage Cold Archive et Deep Cold Archive. Pour plus d'informations, consultez Frais de requête.
Les objets de classes de stockage Archive, Cold Archive et Deep Cold Archive sont facturés selon leurs classes de stockage respectives, tant pendant la restauration qu'après celle-ci. Pour plus d'informations, consultez Frais de stockage.
Lorsque vous restaurez un objet de classe de stockage Cold Archive ou Deep Cold Archive, une réplique de l'objet est créée dans la classe de stockage Standard pour permettre l'accès. Tant que l'objet est dans l'état restauré, le stockage temporaire de cette réplique vous est facturé au tarif de la classe de stockage Standard. Pour plus d'informations, consultez Frais de stockage temporaire.
Les objets de classe de stockage Archive peuvent rester dans l'état restauré jusqu'à 7 jours. Les objets de classes de stockage Cold Archive et Deep Cold Archive peuvent rester dans l'état restauré jusqu'à 365 jours. Aucun frais supplémentaire de récupération de données n'est encouru pendant cette période.
À la fin de l'état restauré, l'objet revient à l'état gelé. Si vous restaurez à nouveau l'objet, des frais de récupération de données vous seront facturés.
Syntaxe de la requête
POST /ObjectName?restore HTTP/1.1
Host: archive-bucket.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
En-têtes de requête
RestoreObject utilise uniquement les en-têtes de requête communs. Pour plus d'informations, consultez En-têtes de requête communs.
Paramètres de requête
|
Paramètre |
Type |
Obligatoire |
Exemple |
Description |
|
RestoreRequest |
Container |
Oui |
N/A |
Conteneur pour la requête RestoreObject. Nœuds enfants : Days et JobParameters |
|
Days |
Integer |
Oui |
2 |
Durée pendant laquelle l'objet reste dans l'état restauré.
Nœuds parents : RestoreRequest |
|
JobParameters |
Container |
Non |
N/A |
Conteneur pour la priorité de restauration. Valide uniquement pour les objets Cold Archive ou Deep Cold Archive. La valeur par défaut est Standard si non spécifié. Nœuds parents : RestoreRequest Nœud enfant : Tier |
|
Tier |
String |
Non |
Standard |
Priorité de restauration pour les objets Cold Archive ou Deep Cold Archive. Valeurs valides :
Nœuds parents : JobParameters |
En-têtes de réponse
|
En-tête |
Type |
Exemple |
Description |
|
x-oss-object-restore-priority |
String |
Standard |
Priorité de restauration. Renvoyé uniquement pour les objets Cold Archive ou Deep Cold Archive restaurés. |
|
x-oss-version-id |
String |
CAEQNRiBgMClj7qD0BYiIDQ5Y2QyMjc3NGZkODRlMTU5M2VkY2U3MWRiNGRh**** |
ID de version de l'objet. Renvoyé uniquement lorsqu'un ID de version est spécifié dans la requête. |
Les réponses RestoreObject incluent les en-têtes de réponse communs. Pour plus d'informations, consultez En-têtes de réponse communs.
Exemples
-
Restaurer un objet Archive gelé (première requête)
Exemple de requête
POST /oss.jpg?restore HTTP/1.1 Host: oss-archive-example.oss-cn-hangzhou.aliyuncs.com Date: Sat, 15 Apr 2017 07:45:28 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eExemple de réponse réussie
HTTP/1.1 202 Accepted Date: Sat, 15 Apr 2017 07:45:28 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSS x-oss-request-id: 5374A2880232A65C23002D74 -
Restaurer un objet Archive en cours de restauration
Exemple de requête
POST /oss.jpg?restore HTTP/1.1 Host: oss-archive-example.oss-cn-hangzhou.aliyuncs.com Date: Sat, 15 Apr 2017 07:45:29 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eExemple de réponse réussie
HTTP/1.1 409 Conflict Date: Sat, 15 Apr 2017 07:45:29 GMT Content-Length: 556 Connection: keep-alive Server: AliyunOSS x-oss-request-id: 5374A2880232A65C23002D74 <?xml version="1.0" encoding="UTF-8"?> <Error> <Code>RestoreAlreadyInProgress</Code> <Message>The restore operation is in progress.</Message> <RequestId>58EAF141461FB42C2B000008</RequestId> <HostId>10.101.XX.XX</HostId> </Error> -
Restaurer un objet Archive déjà dans l'état restauré
Exemple de requête
POST /oss.jpg?restore HTTP/1.1 Host: oss-archive-example.oss-cn-hangzhou.aliyuncs.com Date: Sat, 15 Apr 2017 07:45:29 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e <RestoreRequest> <Days>2</Days> </RestoreRequest>Exemple de réponse réussie
HTTP/1.1 200 Ok Date: Sat, 15 Apr 2017 07:45:30 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSS x-oss-request-id: 5374A2880232A65C23002D74 -
Restaurer un objet Cold Archive ou Deep Cold Archive déjà dans l'état restauré
Exemple de requête
POST /coldarchiveobject?restore HTTP/1.1 Host: cold-archive-bucket.oss-cn-hangzhou.aliyuncs.com User-Agent: aliyun-sdk-go/v2.1.0 (Darwin/17.5.0/x86_64;go1.11.8)/ossutil-v1.6.12 Content-Length: 99 Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e Content-Type: text/plain; charset=utf-8 Date: Tue, 21 Apr 2020 11:09:19 GMT Accept-Encoding: gzip <RestoreRequest> <Days>2</Days> <JobParameters> <Tier>Standard</Tier> </JobParameters> </RestoreRequest>Exemple de réponse réussie
HTTP/1.1 200 OK Server: AliyunOSS Date: Tue, 21 Apr 2020 11:09:19 GMT Content-Length: 0 Connection: keep-alive x-oss-request-id: 5E9ED45F093E2F3930318EA0 x-oss-object-restore-priority: Standard x-oss-server-time: 10 -
Restaurer une version spécifique d'un objet
Exemple de requête
POST /oss.jpg?restore&versionId=CAEQNRiBgMClj7qD0BYiIDQ5Y2QyMjc3NGZkODRlMTU5M2VkY2U3MWRiNGRh**** HTTP/1.1 Host: oss-archive-example.oss-cn-hangzhou.aliyuncs.com Date: Tue, 09 Apr 2019 06:50:48 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eExemple de réponse réussie
HTTP/1.1 202 Accepted Date: Tue, 09 Apr 2019 06:50:48 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSS x-oss-version-id: CAEQNRiBgMClj7qD0BYiIDQ5Y2QyMjc3NGZkODRlMTU5M2VkY2U3MWRiNGRh**** x-oss-request-id: 5CAC40C8B7AEADE017000653
SDK OSS
Appelez RestoreObject avec les SDK OSS pour les langages suivants :
ossutil
Pour plus d'informations sur la commande ossutil correspondant à l'opération RestoreObject, consultez restore-object.
Codes d'erreur
|
Code d'erreur |
Code d'état HTTP |
Description |
|
OperationNotSupported |
400 |
La classe de stockage de l'objet n'est pas Archive, Cold Archive ou Deep Cold Archive. |
|
NoSuchKey |
404 |
L'objet spécifié n'existe pas. |
|
RestoreAlreadyInProgress |
409 |
Une restauration est déjà en cours. N'appelez pas RestoreObject de manière répétée. |
Références
Pour plus d'informations sur le délai de restauration et le nombre de jours pendant lesquels un objet reste dans l'état restauré, consultez Restaurer des objets.
Pour plus d'informations sur l'utilisation d'ossutil pour restaurer un objet, consultez Restaurer des fichiers.
Pour plus d'informations sur la conservation permanente d'un objet dans l'état restauré, consultez Comment conserver un objet OSS restauré de manière permanente ?