Utilisation de l'interface de ligne de commande

Cette rubrique décrit comment utiliser l'interface de ligne de commande pour accéder à Oracle Cloud Infrastructure et exécuter des tâches liées au service. Cette rubrique suppose que vous avez configuré l'interface de ligne de commande et que vous êtes prêt à l'utiliser.

Conseil

L'interface de ligne de commande comporte un mode interactif qui complète automatiquement les commandes et fournit des suggestions et des informations sur les paramètres. Pour plus d'informations, voir Utilisation du mode interactif.

La rubrique Introduction à l'interface de ligne de commande offre une présentation de bout en bout de l'utilisation de l'interface de ligne de commande pour lancer une instance.

Syntaxe de ligne de commande

La plupart des commandes doivent spécifier un service, suivi d'un type de ressource, puis d'une action. La syntaxe de ligne de commande de base se présente comme suit :

oci <service> <type> <action> <options>

Par exemple, cette syntaxe est appliquée de la manière suivante :

  • compute est le <service>
  • instance est le <type> de ressource
  • launch est l'<action>, et
  • le reste de la chaîne de commande se compose d'<options>.

La commande suivante de lancement d'une instance présente une construction de ligne de commande standard.

oci compute instance launch --availability-domain "EMIr:PHX-AD-1" -c ocid1.compartment.oc1..aaaaaaaal3gzijdlieqeyg35nz5zxil26astxxhqol2pgeyqdrggnx7jnhwa --shape "VM.Standard1.1"   --display-name "Instance 1 for sandbox" --image-id ocid1.image.oc1.phx.aaaaaaaaqutj4qjxihpl4mboabsa27mrpusygv6gurp47kat5z7vljmq3puq --subnet-id  ocid1.subnet.oc1.phx.aaaaaaaaypsr25bzjmjyn6xwgkcrgxd3dbhiha6lodzus3gafscirbhj5bpa

Dans l'exemple précédent, vous pouvez fournir un nom convivial pour l'instance à l'aide de l'option --display-name. Évitez d'entrer des informations confidentielles.

Exemples de base

Cette section fournit des exemples d'opérations de base à l'aide de l'interface de ligne de commande.

Note

Utilisation de variables d'environnement pour les OCID

Plusieurs exemples de l'interface de ligne de commande utilisent des variables d'environnement pour les OCID, notamment :

  • $T pour un OCID de location
  • $C pour un OCID de compartiment

Par exemple :

T=ocid1.tenancy.oc1..aaaaaaaaba3pv6wm2ytdrwrx32uzr4h25vkcr4jqae5f15p2b2qstifsfdsq
C=ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga

Pour obtenir un espace de noms, exécutez la commande suivante.

oci os ns get

Pour lister des compartiments, exécutez la commande suivante.

oci iam compartment list -c $T

Pour obtenir la liste des seaux, exécutez la commande suivante.

oci os bucket list -ns mynamespace --compartment-id $C

Pour lister les utilisateurs et limiter la sortie, exécutez la commande suivante.

oci iam user list --compartment-id $T --limit 5

Pour ajouter un utilisateur à un groupe, exécutez la commande suivante.

oci iam group add-user --user-id ocid1.user.oc1..aaabcaaaxkkhhtmghvqqq7rgvzwuj3drwmtlsgz6sbfo7y4uc5sprzli377q --group-id ocid1.group.oc1..aaabcaaa66plootq6uuwwxhfdw2lsdqtgeb6l4pjsv5eeuenxrauujj35b7b

Accès à l'aide sur les commandes

Vous pouvez obtenir de l'aide pour n'importe quelle commande à l'aide de --help, -h ou -?. Par exemple :

oci --help
oci os bucket -h
oci os bucket create -?

Consultation de toutes les rubriques d'aide de l'interface de ligne de commande

Vous pouvez consulter l'aide sur la ligne de commande.

Détermination de la version installée de l'interface de ligne de commande

Pour obtenir la version installée de l'interface de ligne de commande, exécutez la commande suivante.

oci --version

Authentification à l'aide des principaux d'instance

Les principaux d'instance sont une fonction du service GIA permettant aux instances d'être des intervenants autorisés (ou principaux) pour la réalisation d'actions sur les ressources du service. Chaque instance de calcul possède sa propre identité et s'authentifie à l'aide des certificats qui y sont ajoutés. Comme ces certificats sont créés automatiquement, affectés à des instances et modifiés, vous n'avez pas besoin de transmettre des données d'identification à vos hôtes ni de les modifier.

Pour activer l'autorisation du principal d'instance à partir de l'interface de ligne de commande, vous pouvez définir l'option d'autorisation (--auth) pour une commande.

Par exemple :

 oci os ns get --auth instance_principal

Vous pouvez également activer l'autorisation du principal d'instance en définissant la variable d'environnement OCI_CLI_AUTH.

Par exemple :
OCI_CLI_AUTH=instance_principal
Note

La valeur définie pour le paramètre --auth est prioritaire sur la variable d'environnement.

Pour plus d'informations sur les principaux d'instance, voir Appel de services à partir d'une instance.

Utilisation d'un serveur mandataire

L'interface de ligne de commande utilise des demandes HTTP pour adresser des appels aux services Oracle Cloud Infrastructure. Si vous devez utiliser un serveur mandataire pour les demandes HTTP sortantes dans votre environnement, vous pouvez utiliser l'une des méthodes suivantes :

Utiliser le paramètre --proxy sur la ligne de commande

Vous pouvez spécifier un serveur mandataire sur la ligne de commande en incluant le paramètre --proxy lors de l'appel d'une commande de l'interface de ligne de commande.

Par exemple :

oci os ns get --proxy https://<add your proxy URL here>/

Ajouter une entrée de mandataire au fichier de configuration de l'interface de ligne de commande

Pour plus de détails, voir Définition d'un serveur mandataire.

utiliser des variables d'environnement

Définissez les variables d'environnement HTTP_PROXY et HTTPS_PROXY pour qu'elles pointent vers votre serveur mandataire.

Par exemple, sous Linux :
https_proxy=https://<add your proxy URL here>/
http_proxy=http://<add your proxy URL here>/
Sous Windows, avec PowerShell :
$Env:http_proxy = "http://<add your proxy URL here>/"

Utilisation des dates et des heures dans les commandes de l'interface de ligne de commande

L'interface de ligne de commande prend en charge les formats de date acceptés suivants.

  • UTC avec millisecondes

    Format: YYYY-MM-DDTHH:mm:ss.sssTZD, Example: 2017-09-15T20:30:00.123Z
  • UTC sans millisecondes

    Format: YYYY-MM-DDTHH:mm:ssTZD, Example: 2017-09-15T20:30:00Z
  • UTC avec précision de minute

    Format: YYYY-MM-DDTHH:mmTZD, Example: 2017-09-15T20:30Z
  • Fuseau horaire avec millisecondes

    Format: YYYY-MM-DDTHH:mm:ss.sssTZD, Example: 2017-09-15T12:30:00.456-08:00
  • Fuseau horaire sans millisecondes

    Format: YYYY-MM-DDTHH:mm:ssTZD, Example: 2017-09-15T12:30:00-08:00
  • Fuseau horaire avec décalage avec précision de minute

    Format: YYYY-MM-DDTHH:mmTZD, Example: 2017-09-15T12:35-08:00
  • Date seulement (cette date sera extraite à partir de minuit UTC du jour en question)

    Format: YYYY-MM-DD, Example: 2017-09-15
  • Secondes epoch

    Example: 1412195400
Note

Dans nos formats de date et d'heure, T peut être remplacé par une espace. Par exemple, "2017-09-15 20:30:00.123Z" et 2017-09-15T20:30:00.123Z sont acceptables. (Notez que si vous n'incluez pas la valeur T, vous devez encadrer la valeur par des guillemets.) Nous prenons également en charge les fuseaux horaires avec et sans deux-points. +10:00 et +1000 sont acceptables.

Gestion des entrée et sortie de l'interface de ligne de commande

L'interface de ligne de commande fournit plusieurs options pour la gestion de l'entrée et de la sortie de la commande.

Entrée complexe réussie

Une entrée complexe, par exemple des tableaux et des objets ayant plus d'une valeur, est transmise au format JSON et peut être fournie en tant que chaîne à la ligne de commande et/ou en tant que fichier.

MacOS, Linux ou Unix

La commande suivante montre comment transmettre deux valeurs pour l'objet --metadata.

oci os bucket create -ns mynamespace --name mybucket --metadata '{"key1":"value1","key2":"value2"}' --compartment-id ocid1.compartment.oc1..<example>

Windows

Sous Windows, pour transmettre une entrée complexe à l'interface de ligne de commande en tant que chaîne JSON, vous devez encadrer le bloc entier entre guillemets doubles. Dans le bloc, chaque guillemet double pour les chaînes de clé et de valeur doit être précédé d'une barre oblique (\).

La commande suivante montre comment transmettre deux valeurs pour l'objet --metadata sous Windows.

oci os bucket create -ns mynamespace --name mybucket --metadata "{\"key1\":\"value1\",\"key2\":\"value2\"}" --compartment-id ocid1.compartment.oc1..<example>
Note

Erreurs JSON

Le message d'erreur "Paramètre '<NOM DU PARAMÈTRE>' doit être dans le format JSON." indique que la valeur transmise pour le paramètre avec le nom "NOM DU PARAMÈTRE" n'est pas valide pour JSON. En général, cette erreur est due à un caractère d'échappement incorrect dans la chaîne JSON.

Pour plus d'informations sur l'utilisation des chaînes JSON, voir Options JSON avancées

Formater la sortie sous forme de table

Par défaut, toutes les réponses d'une commande sont retournées dans le format JSON. Par exemple, une réponse similaire à la suivante est retournée lorsque vous émettez la commande pour obtenir une liste de régions.

{
  "data": [
    {
      "key": "FRA",
      "name": "eu-frankfurt-1"
    },
    {
      "key": "IAD",
      "name": "us-ashburn-1"
    },
    {
      "key": "ICN",
      "name": "ap-seoul-1"
    },
    {
      "key": "PHX",
      "name": "us-phoenix-1"
    },
    {
      "key": "LHR",
      "name": "uk-london-1"
    },
    {
      "key": "NRT",
      "name": "ap-tokyo-1"
    },			
    {
      "key": "YYZ",
      "name": "ca-toronto-1"
    }				
  ]
}

Dans certains cas, la lisibilité peut devenir problématique, ce qui est facile à résoudre en formatant une réponse en tant que table. Pour obtenir une réponse à une commande formatée en tant que table, exécutez la commande suivante.

oci iam region list --output table

L'exemple de liste de régions suivant est retourné dans une table à deux colonnes.


+-----+----------------+
| key | name           |
+-----+----------------+
| FRA | eu-frankfurt-1 |
| IAD | us-ashburn-1   |
| ICN | ap-seoul-1     |
| PHX | us-phoenix-1   |
| NRT | ap-tokyo-1     |				
| LHR | uk-london-1    |
| YYZ | ca-toronto-1   |  
+-----+----------------+

Utilisation d'interrogations

Vous pouvez filtrer la sortie à l'aide de l'option --query pour JSON. Cette option utilise le langage d'interrogation JMESPath pour JSON.

Le filtrage s'avère très utile pour traiter de grandes quantités de sortie. Par exemple, la commande suivante retourne une liste de tous les compartiments :

oci iam compartment list --all

Cette commande retourne une quantité importante d'informations. Parmi les champs retournés figurent compartment-id, name, lifecycle-state et defined-tags.

Sélection des champs à afficher

Vous pouvez sélectionner uniquement les champs voulus en spécifiant le nom du tableau et le nom d'un ou plusieurs champs, transmis sous forme de tableau délimité par des virgules :

<name of the array>[].[<the name of the field>]
Note

  • Les noms de champ sont sensibles à la casse. Indiquez le nom du champ exactement tel qu'il est spécifié dans l'objet JSON.
  • Si des noms de champ non existants sont spécifiés, l'interrogation inclut null dans la sortie.
  • Si les noms de champ contiennent des caractères spéciaux ou des espaces, encadrez-les de guillemets doubles avec échappement (\" pour bash ou \`" pour PowerShell).
Par exemple, pour retourner uniquement le nom du compartiment et l'état du cycle de vie :
oci iam compartment list --all --query "data[].[name, \"lifecycle-state\"]"
Cela retournera une sortie similaire à la suivante :
[ 
  [
    "ATestCompartment",
    "ACTIVE"
  ],
  
  [
    "blocktest",
    "ACTIVE"
  ],
  [
    "ZestyTest",
    "ACTIVE"
  ]
]
Vous pouvez également extraire des informations en tant qu'objets avec des noms de champ personnalisés :
<name of the array>[].{<your custom name>:<the name of the field>}
Par exemple :
oci iam compartment list --all --query "data[].{Name:name, \"LifecycleState\":\"lifecycle-state\"}"
Cela retournera une sortie similaire à la suivante :

[
  {
    "LifecycleState": "ACTIVE",
    "Name": "ATestCompartment"
  },
  {
    "LifecycleState": "ACTIVE",
    "Name": "blocktest"
  },
  {
    "LifecycleState": "ACTIVE",
    "Name": "ZestyTest"
  }
]

Définition de conditions de recherche

Vous pouvez spécifier une condition de recherche pour les informations retournées. Par exemple, pour retourner uniquement un compartiment nommé blocktest :
oci iam compartment list --all --query "data[?name=='blocktest']"
Les informations suivantes sont retournées :
[
  {
    "compartment-id": "ocid1.tenancy.oc1..<example_value>",
    "defined-tags": {
      "MySpecialTag": {
        "Phonebook": "software-development-kit"
      }
    },
    "description": "Compartment used by integration tests. 10000",
    "freeform-tags": {},
    "id": "ocid1.compartment.oc1..<example>",
    "inactive-status": null,
    "is-accessible": null,
    "lifecycle-state": "ACTIVE",
    "name": "blocktest",
    "time-created": "2018-06-19T17:08:46.059000+00:00"
  }
]
Vous pouvez préciser plusieurs conditions de recherche. L'exemple suivant extrait le nom et le statut du cycle de vie des compartiments créés avant 2019 qui ont le marqueur MySpecialTag :
oci iam compartment list --all --query "data[?\"time-created\"<'2019'&&\"defined-tags\".MySpecialTag!=null].[name, \"lifecycle-state\"]"
Cette commande retourne une sortie semblable à la suivante :
[
  [
    "blocktest",
    "ACTIVE"
  ]
]

Pour plus d'informations sur le langage d'interrogation JMESPath pour JSON, voir JMESPath.

Options JSON avancées

Vous pouvez obtenir le format JSON correct pour des commandes et options de commande.

  • Pour une option de commande, utilisez --generate-param-json-input et spécifiez l'option de commande pour laquelle vous voulez obtenir le format JSON. Pour générer le JSON de création ou de mise à jour d'une règle de sécurité, exécutez la commande suivante.

    oci network security-list create --generate-param-json-input ingress-security-rules
  • Pour une commande complète, utilisez --generate-full-command-json-input. Pour générer le JSON pour lancer une instance, exécutez la commande suivante.

    oci compute instance launch --generate-full-command-json-input

Ordre de priorité de l'entrée JSON

L'interface de ligne de commande prend en charge la combinaison d'arguments sur la ligne de commande avec entrée de fichier. Cependant, si les mêmes valeurs sont fournies dans un fichier et dans la ligne de commande, la ligne de commande a la priorité.

Utilisation d'un fichier JSON pour une entrée complexe

Vous pouvez transmettre une entrée complexe à partir d'un fichier en le référençant depuis la ligne de commande. Pour les utilisateurs Windows, cela supprime le critère d'échappement obligatoire du texte JSON. Vous indiquez un chemin pour le fichier à l'aide du préfixe file://.

Types de chemin

À l'aide de testfile.json comme exemple, les types de chemin suivants sont pris en charge.

  • Chemins relatifs provenant du même répertoire, par exemple : file://testfile.json et file://relative/path/to/testfile.json
  • Chemins absolus sous Linux, MacOS ou Unix, par exemple : file:///absolute/path/to/testfile.json
  • Chemins complets de fichier sous Windows, par exemple : file://C:\path\to\testfile.json
Note

Développements de chemin de fichier

Les développements de chemin de fichier, tels que "~/", "./" et "../", sont pris en charge. Sous Windows, l'expression "~/" se développe vers votre répertoire d'utilisateur, qui est stocké dans la variable d'environnement %USERPROFILE%. L'utilisation des variables d'environnement dans les chemins est aussi prise en charge.

Emplacements de fichier

Les emplacements de fichier suivants sont pris en charge.

  • Votre répertoire de base.

    oci os bucket create -ns mynamespace --name mybucket --compartment-id ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga --metadata file://~/testfile.json
  • Le répertoire courant.

    oci os bucket create -ns mynamespace --name mybucket --compartment-id ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga --metadata file://testfile.json
  • Le répertoire /tmp (Linux, Unix ou MacOS).

    oci os bucket create -ns mynamespace --name mybucket --compartment-id ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga --metadata file:///tmp/testfile.json
  • Le répertoire C:\temp (Windows).

    oci os bucket create -ns mynamespace --name mybucket --compartment-id ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga --metadata file://C:\temp\testfile.json

Exemples d'utilisation d'un fichier JSON en tant qu'entrée

Les exemples de cette section utilisent du code JSON généré pour une option de commande et une commande complète. Le JSON est enregistré dans un fichier, modifié, puis utilisé comme entrée de ligne de commande.

Utiliser une entrée de fichier pour une option de commande

Cet exemple de bout en bout montre comment générer le JSON pour une option d'ID liste de sécurité utilisée pour créer un sous-réseau. Le JSON est enregistré dans un fichier, modifié, puis utilisé comme entrée de ligne de commande.

Réponse de la commande

[
  {
    "icmpOptions": {
      "code": 0,
      "type": 0
      },
    "isStateless": true,
    "protocol": "string",
    "source": "string",
    "tcpOptions": {
    "destinationPortRange": {
      "max": 0,
      "min": 0
      },
    "sourcePortRange": {
      "max": 0,
      "min": 0
      }
    },
    "udpOptions": {
    "destinationPortRange": {
      "max": 0,
      "min": 0
      },
    "sourcePortRange": {
      "max": 0,
      "min": 0
      }
    }
    },
    {
    "icmpOptions": {
      "code": 0,
      "type": 0
      },
    "isStateless": true,
    "protocol": "string",
    "source": "string",
    "tcpOptions": {
    "destinationPortRange": {
      "max": 0,
      "min": 0
      },
    "sourcePortRange": {
      "max": 0,
      "min": 0
      }
    },
    "udpOptions": {
    "destinationPortRange": {
      "max": 0,
      "min": 0
      },
    "sourcePortRange": {
      "max": 0,
      "min": 0
      }
    }
  }
]
Réponse de la commande
{
  "assignPublicIp": true,
  "availabilityDomain": "string",
  "compartmentId": "string",
  "displayName": "string",
  "extendedMetadata": {
  "string1": {
    "string1": "string",
    "string2": "string"
   },
  "string2": {
    "string1": "string",
    "string2": "string"
   }
  },
  "hostnameLabel": "string",
  "imageId": "string",
  "metadata": {
    "string1": "string",
    "string2": "string"
    },
  "privateIp": "string",
  "shape": "string",
  "skipSourceDestCheck": true,
  "subnetId": "string",
  "vnicDisplayName": "string"
}
Utiliser un fichier JSON en tant qu'entrée pour une option de liste de sécurité
  1. Pour générer le JSON de l'option security-list-ids, exécutez la commande suivante.

    oci network subnet create --generate-param-json-input security-list-ids
  2. Créez un fichier et ajoutez le contenu suivant, qui a été retourné à l'étape 1. Ce contenu n'a pas besoin de caractère d'échappement ou d'être sur une seule ligne, il ne doit contenir que du code JSON valide.

    [
      "string",
      "string"
    ]
  3. Modifiez le fichier et remplacez les valeurs de "chaîne" par celles qui figurent dans l'exemple suivant.

    [
      "ocid1.securitylist.oc1.phx.aaaaaaaaw7c62ybv4676muq5tdrwup3v2maiquhbkbh4sf75tjcf5dm6kvlq",
      "ocid1.securitylist.oc1.phx.aaaaaaaa7snx4jh5drwo2h33rwcdqev6elir55hnrhi2yfndjfons5rcqk4q"
    ]
  4. Enregistrez le fichier sous le nom "security-list.json".
  5. Pour créer le sous-réseau en utilisant "security-list.json" comme entrée, exécutez la commande suivante.

    oci network subnet create --vcn-id ocid1.vcn.oc1.phx.aaaaaaaa6wmuahgxejkv7ukyruqdrwlmrumtl6vyisxxxavagiqw2eeet2sa -c ocid1.compartment.oc1..aaaaaaaal3gzijdliedxxhqol2rggndrwyg35nz5zxil26astpgeyq7jnhwa  --availability-domain "EMIr:PHX-AD-1" --display-name TESTSUB --dns-label "testinstances" --cidr-block "10.0.0.0/16" --security-list-ids file://security-list.json

Utiliser l'entrée de fichier pour toute la commande

Cet exemple de bout en bout montre comment générer le JSON pour créer un réseau en nuage virtuel (VCN). Le JSON est enregistré dans un fichier, modifié, puis utilisé comme entrée de ligne de commande.

Utiliser un fichier JSON en tant qu'entrée pour créer un VCN
  1. Pour générer le JSON nécessaire pour créer un VCN, exécutez la commande suivante.

    oci network vcn create --generate-full-command-json-input
  2. Créez un fichier et ajoutez le contenu suivant, qui a été retourné à l'étape 1. Ce contenu n'a pas besoin de caractère d'échappement ou d'être sur une seule ligne, il ne doit contenir que du code JSON valide.

    {
      "cidrBlock": "string",
      "compartmentId": "string",
      "displayName": "string",
      "dnsLabel": "string"
    }
  3. Modifiez le fichier et remplacez les valeurs de "chaîne" par celles qui figurent dans l'exemple suivant.

    {
      "cidrBlock": "10.0.0.0/16",
      "compartmentId": "ocid1.compartment.oc1..aaaaaaaal3gzijdliedxxhqol2rggndrwyg35nz5zxil26astpgeyq7jnhwa",
      "displayName": "TestVCN",
      "dnsLabel": "testdns"
    }
  4. Enregistrez le fichier et nommez-le "create-vcn.json"
  5. Pour créer le VCN en utilisant "create-vcn.json" en tant qu'entrée, exécutez la commande suivante.
    oci network vcn create --from-json file://create-vcn.json 

Exemples avancés

Les exemples suivants vous permettent d'utiliser l'interface de ligne de commande pour effectuer des tâches complexes dans Oracle Cloud Infrastructure.

Utilisation du service de stockage d'objets

Vous pouvez utiliser l'interface de ligne de commande pour plusieurs opérations d'objet avec le service Stockage d'objets.

Chargement et téléchargement de fichiers

Les objets peuvent être chargés à partir d'un fichier ou de la ligne de commande (STDIN) et peuvent être téléchargés dans un fichier ou vers la ligne de commande (STDOUT).

Charger un objet :

oci os object put -ns mynamespace -bn mybucket --name myfile.txt --file /Users/me/myfile.txt --metadata '{"key1":"value1","key2":"value2"}'

Charger le contenu de l'objet à partir de la ligne de commande (STDIN) :

oci os object put -ns mynamespace -bn mybucket --name myfile.txt --file <--'object content'

Télécharger un objet :

oci os object get -ns mynamespace -bn mybucket --name myfile.txt --file /Users/me/myfile.txt

Imprimer le contenu de l'objet dans la ligne de commande (STDOUT) :

oci os object get -ns mynamespace -bn mybucket --name myfile.txt --file -

Opérations en masse dans le stockage d'objets

L'interface de ligne de commande prend en charge les opérations en masse suivantes dans le stockage d'objets :

  • Chargement des fichiers dans un répertoire et tous ses sous-répertoires vers un seau

    # Upload all the files in a directory.
    oci os object bulk-upload -ns mynamespace -bn mybucket --src-dir path/to/upload/directory
  • Téléchargement de tous les objets ou de tous les objets correspondant à un préfixe spécifié dans un seau

    # Download all the objects.
    oci os object bulk-download -ns mynamespace -bn mybucket --download-dir path/to/download/directory
    						
    # Download all the objects that match the specified prefix.
    oci os object bulk-download -ns mynamespace -bn mybucket --download-dir path/to/download/directory --prefix myprefix
  • Suppression de tous les objets ou de tous les objets correspondant à un préfixe spécifié dans un seau

    # Delete all the objects.
    oci os object bulk-delete -ns mynamespace -bn mybucket
    			
    # Delete objects that match the specified prefix.
    oci os object bulk-delete -ns mynamespace -bn mybucket --prefix myprefix

Les opérations en masse prennent en charge plusieurs options qui vous permettent de :

  • Remplacer ou ignorer des fichiers et des objets à l'aide de --overwrite ou --no-overwrite. (Note : Si vous ne transmettez aucune de ces options, vous êtes invité à confirmer l'opération chaque fois qu'il y a un élément à remplacer.)
  • Limiter les opérations de suppression, de chargement ou de téléchargement à l'aide de --prefix et/ou --delimiter
  • Prévisualiser une suppression en masse avec --dry-run

Pour obtenir plus d'informations sur les commandes d'opérations en masse, exécutez les commandes d'aide suivantes :

# bulk-upload
oci os object bulk-upload -h
				
# bulk-download
oci os object bulk-download -h
				
# bulk-delete
oci os object bulk-delete -h

Opérations en plusieurs parties dans le stockage d'objets

Les opérations en plusieurs parties pour le service Stockage d'objets comprennent les chargements et les téléchargements d'objets.

Chargements en plusieurs parties

Les fichiers volumineux peuvent être chargés dans le Stockage d'objets en plusieurs parties pour accélérer le chargement. Par défaut, les fichiers dont la taille est supérieure à 128 Mio sont chargés au moyen d'opérations en plusieurs parties. Vous pouvez remplacer cette valeur par défaut à l'aide de l'option --no-multipart.

Vous pouvez configurer les options suivantes pour la commande oci os object put :

  • --no-multipart remplace un chargement en plusieurs parties automatique si l'objet est supérieur à 128 Mio. L'objet est chargé en une seule partie, quelle que soit sa taille.
  • --part-size en Mio, à utiliser dans une opération en plusieurs parties. La taille par défaut de la partie est de 128 Mio et une taille de partie que vous spécifiez doit être supérieure à 10 Mio. Si l'objet est plus volumineux que la valeur de --part-size, il est chargé en plusieurs parties.
  • --parallel-upload-count, pour indiquer le nombre d'opérations parallèles à exécuter. Vous pouvez utiliser cette valeur pour équilibrer les ressources et les temps de chargement. Une valeur plus élevée peut améliorer le temps de chargement, mais consommer plus de ressources système et de bande passante de réseau. La valeur par défaut est de 10.

La commande --resume-put permet de reprendre un chargement de fichiers volumineux dans les cas où le chargement a été interrompu.

Note

Chargements en plusieurs parties à partir de STDIN

Les objets chargés à partir de STDIN sont chargés en plusieurs parties. Si le contenu de l'objet est inférieur à 10 Mio, le chargement se fait en une seule partie et l'API MultipartUpload est utilisée pour le chargement. Une erreur sera générée lors du chargement à partir de STDIN, si --no-multipart est spécifié.

L'exemple suivant présente la commande pour un chargement en plusieurs parties si l'objet est supérieur à 200 Mio.

oci os object put -ns my-namespace -bn my-bucket --file path/to/large/file --part-size 200

Pour plus d'informations sur les chargements en plusieurs parties, voir Utilisation de chargements en plusieurs parties.

Téléchargements en plusieurs parties

Des fichiers volumineux peuvent être téléchargés à partir du Stockage d'objets en plusieurs parties pour accélérer le téléchargement.

Vous pouvez configurer les options suivantes pour la commande oci os object get :

  • --multipart-download-threshold permet de spécifier la taille, en Mio, en fonction de laquelle un objet doit être téléchargé en plusieurs parties. Cette taille doit être d'au moins 128 Mio.
  • --part-size, en Mio, à utiliser pour une partie de téléchargement. Vous bénéficiez ainsi de la flexibilité nécessaire pour utiliser plus de (taille plus petite) ou moins de (taille plus grande) parties, selon vos besoins. Par exemple, la puissance de calcul et la bande passante de réseau. La taille minimale de la partie par défaut est 120 Mio.
  • --parallel-download-count permet de spécifier le nombre de parties qui sont téléchargées en même temps. Une valeur plus élevée peut améliorer le temps de chargement, mais consommer plus de ressources système et de bande passante de réseau. La valeur par défaut est de 10.

L'exemple suivant présente la commande de téléchargement d'un objet dont la taille est supérieure à 500 Mio. L'objet est téléchargé en parties de 128 Mio.

oci os object get -ns my-namespace -bn my-bucket --name my-large-object --multipart-download-threshold 500 --part-size 128