La commande set-props permet de configurer les propriétés d'un objet, notamment les permissions d'accès, les classes de stockage, les métadonnées et les tags.
Précautions
La commande set-props appelle différentes opérations API selon la propriété de l'objet que vous modifiez. Assurez-vous de disposer des permissions requises. Par exemple, l'appel de l'opération API PutObjectAcl nécessite la permission oss:PutObjectAcl. Les opérations API spécifiques appelées sont les suivantes :
Pour modifier uniquement la liste de contrôle d'accès (ACL) de l'objet : la commande appelle l'opération API
PutObjectAcl.Pour modifier uniquement les tags de l'objet : la commande appelle l'opération API
PutObjectTagging. Si l'instruction de modification des tags implique une mise à jour des tags existants, comme un ajout incrémentiel, le système appelle d'abord l'opération APIGetObjectTaggingpour récupérer les tags d'origine.Pour modifier la classe de stockage ou les métadonnées de l'objet : cette opération réécrit l'objet. La commande appelle l'opération API
CopyObjectou utilise le flux de copie multipartite (InitiateMultipartUpload->UploadPartCopy->CompleteMultipartUpload).-
Pour modifier plusieurs propriétés simultanément : la commande sélectionne la combinaison d'opérations API la plus efficace. Par exemple :
Pour modifier à la fois les permissions et les tags de l'objet : la commande appelle
PutObjectAcletPutObjectTagging.Pour modifier à la fois les permissions et la classe de stockage de l'objet : la commande appelle directement l'opération API
CopyObjectou les opérations API de copie multipartite (InitiateMultipartUpload->UploadPartCopy->CompleteMultipartUpload) afin de mettre à jour les permissions et la classe de stockage en même temps.
La modification de la classe de stockage d'un objet entraîne des frais de requête PUT :
Pour les objets dont la taille ne dépasse pas le seuil spécifié par
--bigfile-threshold, ossutil appelleCopyObject. La requête est facturée en fonction de la classe de stockage de l'objet source.Pour les objets dépassant ce seuil, ossutil utilise la copie multipartite. Chaque partie appelle
UploadPartCopy. La requête est facturée en fonction de la classe de stockage de l'objet de destination.La conversion d'un grand nombre d'objets vers Deep Cold Archive peut entraîner des frais élevés pour les requêtes PUT. Augmentez la valeur de
--bigfile-thresholdou de--part-sizepour réduire le nombre de requêtesUploadPartCopy. Lors de la modification de la classe de stockage d'un objet,CopyObjectprend en charge les objets d'une taille maximale de 1 Go.
Pour les règles de facturation, consultez Frais de requête. Pour la facturation et les conseils d'utilisation de Deep Cold Archive, reportez-vous aux Meilleures pratiques pour l'utilisation de Deep Cold Archive.
Format de la commande
ossutil set-props oss://bucket[/prefix] [flags]
|
Paramètre |
Type |
Description |
|
--acl |
string |
Liste de contrôle d'accès (ACL) de l'objet. Valeurs valides :
|
|
--bigfile-threshold |
SizeSuffix |
Seuil de taille d'objet pour le téléchargement, l'upload ou la copie multipartite. Les objets dépassant ce seuil utilisent la copie multipartite. Valeur par défaut : 100 MiB. Suffixes pris en charge : B, K, M, G, T et P. |
|
--cache-control |
string |
Spécifie le comportement de mise en cache de la page web lors du téléchargement de l'objet. |
|
--content-disposition |
string |
Indique comment l'objet doit être affiché. |
|
--content-encoding |
string |
Définit le format d'encodage de l'objet. |
|
--content-type |
string |
Type de contenu de l'objet. |
|
-d, --dirs |
/ |
Renvoie les fichiers et sous-répertoires du répertoire courant sans afficher récursivement tous les fichiers de tous les sous-répertoires. |
|
--encoding-type |
string |
Type d'encodage du nom de l'objet d'entrée ou du nom de fichier. Valeur valide : url. |
|
--end-with |
string |
Trie les objets par ordre alphabétique et renvoie ceux qui précèdent ou correspondent à la valeur spécifiée. |
|
--exclude |
stringArray |
Règles permettant d'exclure des chemins ou des noms de fichiers. |
|
--exclude-from |
stringArray |
Lit les règles d'exclusion depuis un fichier de règles. |
|
--expires |
string |
Spécifie la date d'expiration absolue du contenu mis en cache. |
|
--files-from |
stringArray |
Lit une liste de noms de fichiers sources depuis un fichier. Les lignes vides ou commentées sont ignorées. |
|
--files-from-raw |
stringArray |
Lit une liste de noms de fichiers sources depuis un fichier. |
|
--filter |
stringArray |
Règles permettant de filtrer des chemins ou des noms de fichiers. |
|
--filter-from |
stringArray |
Lit les règles de filtrage depuis un fichier de règles. |
|
-f, --force |
/ |
Force l'exécution de l'opération sans demander de confirmation. |
|
--include |
stringArray |
Règles permettant d'inclure des chemins ou des noms de fichiers. |
|
--include-from |
stringArray |
Lit les règles d'inclusion depuis un fichier de règles. |
|
-j, --job |
int |
Nombre de tâches simultanées. La valeur par défaut est 3. Important
Ce paramètre prend effet uniquement si vous spécifiez le paramètre |
|
--list-objects |
/ |
Utilise l'opération API ListObjects pour lister les objets. |
|
--max-size |
SizeSuffix |
Taille maximale d'un fichier à transférer. L'unité par défaut est l'octet. Vous pouvez utiliser un suffixe : B, K, M, G, T ou P. 1 K (Kio) = 1024 B. |
|
--metadata |
strings |
Spécifie les métadonnées utilisateur de l'objet au format clé=valeur. Exemple : --metadata test=value,test1=value1. |
|
--metadata-directive |
string |
Instruction pour modifier les métadonnées. Valeurs valides :
|
|
--metadata-exclude |
stringArray |
Règles permettant d'exclure des métadonnées d'objet. |
|
--metadata-filter |
stringArray |
Règles permettant de filtrer les métadonnées d'objet. |
|
--metadata-filter-from |
stringArray |
Lit les règles de filtrage des métadonnées d'objet depuis un fichier de règles. |
|
--metadata-include |
stringArray |
Règles permettant d'inclure des métadonnées d'objet. |
|
--min-age |
Duration |
Définit les propriétés uniquement pour les fichiers modifiés avant l'intervalle de temps spécifié. L'unité par défaut est la seconde. Vous pouvez utiliser un suffixe d'unité, par exemple 1h pour 1 heure. Remarque
|
|
--max-age |
Duration |
Définit les propriétés uniquement pour les fichiers modifiés dans l'intervalle de temps spécifié. L'unité par défaut est la seconde. Vous pouvez utiliser un suffixe d'unité, par exemple 1h pour 1 heure. Remarque
|
|
--min-mtime |
Time |
Définit les propriétés uniquement pour les fichiers modifiés après l'heure spécifiée. L'heure doit être au format UTC. Par exemple, 2006-01-02T15:04:05. Remarque
|
|
--max-mtime |
Time |
Définit les propriétés uniquement pour les fichiers modifiés avant l'heure spécifiée. L'heure doit être au format UTC. Par exemple, 2006-01-02T15:04:05. |
|
--min-size |
SizeSuffix |
Taille minimale d'un fichier à transférer. L'unité par défaut est l'octet. Vous pouvez utiliser un suffixe : B, K, M, G, T ou P. 1 K (Kio) = 1024 B. |
|
--no-progress |
/ |
Masque la barre de progression. |
|
--page-size |
int |
Nombre maximal d'objets à lister sur chaque page lors du traitement par lots. La valeur par défaut est 1000. Cette valeur peut varier de 1 à 1000. |
|
--parallel |
int |
Nombre de tâches simultanées pour les opérations sur un seul fichier. |
|
--part-size |
SizeSuffix |
Taille de la partie. Par défaut, ossutil calcule la taille de la partie en fonction de la taille de l'objet. Des parties plus volumineuses réduisent le nombre de requêtes |
|
-r, --recursive |
/ |
Effectue l'opération de manière récursive. Lorsque vous spécifiez cette option, la commande s'applique à tous les objets correspondants dans le bucket. Sinon, elle s'applique uniquement à l'objet indiqué par le chemin. |
|
--request-payer |
string |
Mode de paiement de la requête. Définissez ce paramètre si vous utilisez le mode de facturation au demandeur. Valeur valide : requester. |
|
--start-after |
string |
Trie les objets par ordre alphabétique et renvoie ceux qui suivent la valeur spécifiée. |
|
--storage-class |
string |
Classe de stockage de l'objet. Valeurs valides :
|
|
--tagging |
strings |
Spécifie les tags de l'objet au format clé=valeur. Exemple : --tagging tag1=value1,tag2=value2. |
|
--tagging-directive |
string |
Instruction pour modifier les tags. Valeurs valides :
|
|
--version-id |
string |
ID de version de l'objet. |
|
--list-format |
string |
Format du fichier de liste. Valeurs valides : plain, inventory. |
|
--list-manifest-from |
string |
Lit la description du format du fichier de liste depuis un fichier. Ce paramètre est obligatoire lorsque le format du fichier de liste est |
Pour plus d'informations, consultez Options de ligne de commande.
Exemples
-
Définir les permissions d'accès d'un objet sur privé.
ossutil set-props oss://examplebucket/exampleobject.txt --acl private -
Définir la classe de stockage d'un objet sur Archive Storage.
ossutil set-props oss://examplebucket/exampleobject.txt --storage-class Archive -
Convertir des objets vers Deep Cold Archive par lots et estimer les frais de requête PUT.
Pour les objets d'une taille inférieure ou égale à 1 Go, augmentez le seuil multipartite pour utiliser
CopyObject. L'exemple suivant définit le seuil sur 1 Go :ossutil set-props oss://examplebucket/exampledir/ --storage-class DeepColdArchive --bigfile-threshold 1G -rLes objets de plus de 1 Go nécessitent une copie multipartite. Augmentez la taille des parties pour réduire le nombre de requêtes
UploadPartCopy. L'exemple suivant définit la taille de la partie sur 1 Gio :ossutil set-props oss://examplebucket/exampledir/ --storage-class DeepColdArchive --part-size 1G -rEstimez le nombre de requêtes
UploadPartCopyà l'aide des formules suivantes :Parts per object = ceil(object size / part size) UploadPartCopy requests = number of objects × parts per objectPar exemple, la conversion de 1 000 objets de 10 Gio chacun avec
--part-size 1Ggénère 10 requêtesUploadPartCopypar objet, soit 10 000 requêtes au total.UploadPartCopyest facturé en fonction de la classe de stockage de l'objet de destination. Par conséquent, estimez cette partie des frais selon les règles de facturation des requêtes PUT pour Deep Cold Archive. La copie multipartite appelle égalementInitiateMultipartUploadetCompleteMultipartUpload. Le listage des objets et les nouvelles tentatives peuvent aussi engendrer des frais de requête. -
Pour les objets portant l'extension .txt, remplacez le content-type par text/plain.
ossutil set-props oss://bucket/prefix --content-type text/plain --include "*.txt" --metadata-directive update -r -
Définir les tags d'un objet.
ossutil set-props oss://examplebucket/exampleobject.txt --tagging tag1=value1 --tagging-directive update -
Définir les propriétés d'un objet à partir d'un fichier de liste.
RemarqueChaque ligne du fichier de liste représente un objet et utilise le format de chemin OSS
oss://{bucket}/{key}. Par exemple, le fichier list.txt contient les éléments suivants :oss://examplebucket/key1 oss://examplebucket/key2ossutil set-props list://list.txt -
Définir les propriétés d'un objet à partir d'un fichier manifeste.
RemarqueAprès l'exécution d'une tâche d'inventaire, un fichier
csv.gzet un fichiermanifest.jsonsont générés dans les résultats de l'inventaire. Vous devez utiliser ces deux fichiers pour définir les propriétés de l'objet à partir d'un fichier manifeste.ossutil set-props list://ca8007fc-4123-493e-9a01-dd1511fbac54.csv.gz --list-format inventory --list-manifest-from manifest.json