PLACER l'objet - Copier
Vous pouvez utiliser la demande S3 PUT Object - copie pour créer une copie d'un objet déjà stocké dans S3. Une opération PUT Object - Copy est la même que l'exécution d'un GET puis D'un PUT.
Résoudre les conflits
Les demandes contradictoires des clients, telles que deux clients qui écrivent sur la même clé, sont résolues sur une base de « derniers-victoires ». La chronologie de l'évaluation « derniers-victoires » repose sur la date à laquelle le système StorageGRID termine une demande donnée et non sur la date à laquelle les clients S3 commencent une opération.
Taille de l'objet
La taille maximale recommandée pour une opération d'objet PUT unique est de 5 Gio (5,368,709,120 octets). Si vos objets sont supérieurs à 5 Gio, utilisez le téléchargement partitionné.
Dans StorageGRID 11.6, la taille maximale supportée pour une opération put Object est de 5 Tio (5,497,558,138,880 octets). Cependant, l'alerte S3 PUT Object size trop importante est déclenchée si vous tentez de télécharger un objet supérieur à 5 Gio. |
Caractères UTF-8 dans les métadonnées utilisateur
Si une requête inclut (non échappé) les valeurs UTF-8 dans le nom de clé ou la valeur des métadonnées définies par l'utilisateur, le comportement StorageGRID n'est pas défini.
StorageGRID n'analyse ni n'interprète pas les caractères UTF-8 qui se sont échappé dans le nom de clé ou la valeur des métadonnées définies par l'utilisateur. Les caractères UTF-8 échappés sont traités comme des caractères ASCII :
-
Les requêtes réussissent si les métadonnées définies par l'utilisateur incluent des caractères UTF-8 échappés.
-
StorageGRID ne renvoie pas le
x-amz-missing-meta
en-tête si la valeur interprétée du nom ou de la valeur de la clé comprend des caractères non imprimables.
En-têtes de demande pris en charge
Les en-têtes de requête suivants sont pris en charge :
-
Content-Type
-
x-amz-copy-source
-
x-amz-copy-source-if-match
-
x-amz-copy-source-if-none-match
-
x-amz-copy-source-if-unmodified-since
-
x-amz-copy-source-if-modified-since
-
x-amz-meta-
, suivi d'une paire nom-valeur contenant des métadonnées définies par l'utilisateur -
x-amz-metadata-directive
: La valeur par défaut estCOPY
, qui permet de copier l'objet et les métadonnées associées.Vous pouvez spécifier
REPLACE
pour remplacer les métadonnées existantes lors de la copie de l'objet ou pour la mise à jour des métadonnées de l'objet. -
x-amz-storage-class
-
x-amz-tagging-directive
: La valeur par défaut estCOPY
, qui vous permet de copier l'objet et toutes les balises.Vous pouvez spécifier
REPLACE
pour remplacer les balises existantes lors de la copie de l'objet ou pour mettre à jour les balises. -
En-têtes de demande de verrouillage d'objet S3 :
-
x-amz-object-lock-mode
-
x-amz-object-lock-retain-until-date
-
x-amz-object-lock-legal-hold
Si une demande est effectuée sans ces en-têtes, les paramètres de rétention par défaut du compartiment sont utilisés pour calculer la version de l'objet conserver jusqu'à la date.
-
-
En-têtes de demande SSE :
-
x-amz-copy-source-server-side-encryption-customer-algorithm
-
x-amz-copy-source-server-side-encryption-customer-key
-
x-amz-copy-source-server-side-encryption-customer-key-MD5
-
x-amz-server-side-encryption
-
x-amz-server-side-encryption-customer-key-MD5
-
x-amz-server-side-encryption-customer-key
-
x-amz-server-side-encryption-customer-algorithm
-
En-têtes de requête non pris en charge
Les en-têtes de requête suivants ne sont pas pris en charge :
-
Cache-Control
-
Content-Disposition
-
Content-Encoding
-
Content-Language
-
Expires
-
x-amz-website-redirect-location
Options de classe de stockage
Le x-amz-storage-class
L'en-tête de demande est pris en charge et affecte le nombre de copies d'objet créé par StorageGRID si la règle ILM correspondante spécifie le comportement d'ingestion de la double validation ou de l'équilibrage.
-
STANDARD
(Valeur par défaut) Spécifie une opération d'ingestion à double validation lorsque la règle ILM utilise l'option de validation double, ou lorsque l'option équilibrée revient à créer des copies intermédiaires.
-
REDUCED_REDUNDANCY
Spécifie une opération d'entrée de validation unique lorsque la règle ILM utilise l'option Double allocation ou lorsque l'option équilibrée revient à créer des copies intermédiaires.
Si vous ingez un objet dans un compartiment avec l'option de verrouillage objet S3 activée, la REDUCED_REDUNDANCY
l'option est ignorée. Si vous ingez un objet dans un compartiment conforme d'ancienne génération, leREDUCED_REDUNDANCY
option renvoie une erreur. StorageGRID procède toujours à une récupération à double engagement afin de satisfaire les exigences de conformité.
Utilisation de x-amz-copy-source dans PUT Object - Copy
Si le godet source et la clé, spécifiés dans le x-amz-copy-source
en-tête diffèrent du compartiment de destination et de la clé, une copie des données de l'objet source est écrite sur la destination.
Si la source et la destination correspondent, et le x-amz-metadata-directive
l'en-tête est spécifié comme REPLACE
, les métadonnées de l'objet sont mises à jour avec les valeurs de métadonnées fournies dans la demande. Dans ce cas, StorageGRID ne réingère pas l'objet. Ceci a deux conséquences importantes :
-
Vous ne pouvez pas utiliser METTRE l'objet - Copier pour crypter un objet existant en place ou pour modifier le chiffrement d'un objet existant. Si vous fournissez le
x-amz-server-side-encryption
en-tête ou lex-amz-server-side-encryption-customer-algorithm
En-tête, StorageGRID rejette la demande et renvoie la requêteXNotImplemented
. -
L'option de comportement d'ingestion spécifiée dans la règle ILM correspondante n'est pas utilisée. Tout changement au placement d'objet déclenché par la mise à jour est apporté lors de l'évaluation de ILM par des processus ILM en arrière-plan normaux.
Cela signifie que si la règle ILM utilise l'option stricte pour le comportement d'ingestion, aucune action n'est effectuée si les placements d'objet requis ne peuvent pas être effectués (par exemple, car un nouvel emplacement requis n'est pas disponible). L'objet mis à jour conserve son emplacement actuel jusqu'à ce que le placement requis soit possible.
Demander des en-têtes pour le cryptage côté serveur
Si vous utilisez le chiffrement côté serveur, les en-têtes de requête que vous fournissez dépendent du chiffrement de l'objet source et de l'intention de chiffrer l'objet cible.
-
Si l'objet source est chiffré à l'aide d'une clé fournie par le client (SSE-C), vous devez inclure les trois en-têtes suivants dans la demande PUT Object - Copy, afin que l'objet puisse être décrypté puis copié :
-
x-amz-copy-source-server-side-encryption-customer-algorithm
SpécifiezAES256
. -
x-amz-copy-source-server-side-encryption-customer-key
Spécifiez la clé de chiffrement que vous avez fournie lors de la création de l'objet source. -
x-amz-copy-source-server-side-encryption-customer-key-MD5
: Spécifiez le résumé MD5 que vous avez fourni lors de la création de l'objet source.
-
-
Si vous souhaitez chiffrer l'objet cible (la copie) avec une clé unique que vous fournissez et gérez, incluez les trois en-têtes suivants :
-
x-amz-server-side-encryption-customer-algorithm
: SpécifiezAES256
. -
x-amz-server-side-encryption-customer-key
: Spécifiez une nouvelle clé de cryptage pour l'objet cible. -
x-amz-server-side-encryption-customer-key-MD5
: Spécifiez le résumé MD5 de la nouvelle clé de chiffrement.
-
Attention : les clés de cryptage que vous fournissez ne sont jamais stockées. Si vous perdez une clé de chiffrement, vous perdez l'objet correspondant. Avant d'utiliser les clés fournies par le client pour sécuriser les données d'objet, consultez les considérations de la section « utilisation du cryptage côté serveur ».
-
Si vous souhaitez chiffrer l'objet cible (la copie) avec une clé unique gérée par StorageGRID (SSE), incluez cet en-tête dans la demande PUT Object - Copy :
-
x-amz-server-side-encryption
-
Remarque : le server-side-encryption
la valeur de l'objet ne peut pas être mise à jour. Faites plutôt une copie avec un nouveau server-side-encryption
valeur à l'aide de x-amz-metadata-directive
: REPLACE
.
Gestion des versions
Si le compartiment source est multiversion, vous pouvez utiliser le x-amz-copy-source
en-tête pour copier la dernière version d'un objet. Pour copier une version spécifique d'un objet, vous devez spécifier explicitement la version à copier à l'aide de l' versionId
sous-ressource. Si le compartiment de destination est multiversion, la version générée est renvoyée dans le x-amz-version-id
en-tête de réponse. Si le contrôle de version est suspendu pour le compartiment cible, alors x-amz-version-id
renvoie une valeur « nulle ».