Utilisation de l'interface de ligne de commande

Cette rubrique explique comment utiliser l'interface de ligne de commande pour accéder à Oracle Cloud Infrastructure et effectuer des tâches liées aux services. Cette rubrique part du principe 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 dispose d'un mode interactif qui fournit des informations et des suggestions sur les paramètres et l'exécution automatique des commandes. Pour plus d'informations, reportez-vous à la section Utilisation du mode interactif.

Pour poursuivre l'exploration, Introduction à l'interface de ligne de commande fournit une procédure détaillée permettant d'utiliser l'interface de ligne de commande pour lancer une instance.

Syntaxe de ligne de commande

La plupart des commandes doivent indiquer un service, suivi d'un type de ressource, puis d'une action. La syntaxe de ligne de commande de base est la suivante :

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

Par exemple, cette syntaxe est appliquée comme suit :

  • compute est le <service>
  • instance est le <type> de ressource
  • launch est l'<action>
  • Le reste de la chaîne de commande est composé d'<options>.

La commande ci-dessous permettant de lancer une instance présente une structure 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 le nom convivial de l'instance à l'aide de l'option --display-name. Evitez de saisir des informations confidentielles.

Exemples de base

Cette section fournit des exemples d'opération de base utilisant l'interface de ligne de commande.

Remarque

Utilisation de variables d'environnement pour les OCID

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

  • $T pour l'OCID de location
  • $C pour l'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 répertorier les compartiments, exécutez la commande suivante.

oci iam compartment list -c $T

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

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

Pour répertorier 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

Obtention d'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 -?

Affichage de l'aide relative à l'interface de ligne de commande

Vous pouvez afficher l'aide relative à la ligne de commande.

Identification 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 de principaux d'instance

Les principaux d'instance sont une fonctionnalité du service IAM et permettent aux instances d'être des acteurs autorisés (ou principaux) pouvant effectuer des actions sur les ressources du service. Chaque instance de calcul possède sa propre identité et est authentifiée à l'aide des certificats qui lui sont ajoutés. Ces certificats sont créés et affectés aux instances, et font également l'objet d'une rotation, le tout de façon automatique. Cela vous évite d'avoir à diffuser les informations d'identification aux hôtes et d'effectuer leur rotation.

Pour activer l'autorisation de 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 de principal d'instance en définissant la variable d'environnement OCI_CLI_AUTH.

Par exemple :
OCI_CLI_AUTH=instance_principal
Remarque

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, reportez-vous à Appel de services à partir d'une instance.

Utilisation d'un serveur proxy

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

Utilisation du paramètre --proxy sur la ligne de commande

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

Par exemple :

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

Ajout d'une entrée proxy au fichier de configuration de l'interface de ligne de commande

Pour plus d'informations, reportez-vous à Spécification d'un serveur proxy.

Utilisation de variables d'environnement

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

Par exemple, sur Linux :
https_proxy=https://<add your proxy URL here>/
http_proxy=http://<add your proxy URL here>/
Sur Windows, à l'aide de PowerShell :
$Env:http_proxy = "http://<add your proxy URL here>/"

Utilisation de dates et d'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 une précision à la 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 et précision à la minute

    Format: YYYY-MM-DDTHH:mmTZD, Example: 2017-09-15T12:35-08:00
  • Date uniquement (cette date sera considérée comme étant à minuit UTC de ce jour)

    Format: YYYY-MM-DD, Example: 2017-09-15
  • Secondes de la période

    Example: 1412195400
Remarque

Dans nos formats de date et d'heure, l'élément T peut être remplacé par un espace. Par exemple, "2017-09-15 20:30:00.123Z" et 2017-09-15T20:30:00.123Z sont acceptables. (Si vous n'incluez pas T, vous devez mettre la valeur entre guillemets.) Nous prenons également en charge les fuseaux horaires avec et sans le signe deux-points. Les formats +10:00 et +1000 sont acceptés.

Gestion des entrées et des sorties de l'interface de ligne de commande

L'interface de ligne de commande propose plusieurs options de gestion des entrées et des sorties de commande.

Transmission d'une entrée complexe

Les entrées complexes, comme les tableaux et les objets avec plusieurs valeurs, sont transmises au format JSON et peuvent être fournies en tant que chaînes sur la ligne de commande, en tant que fichiers, ou en tant que chaînes de ligne de commande et que fichiers.

MacOS, Linux ou Unix

La commande suivante indique 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 mettre le bloc entier entre guillemets. Dans le bloc, chaque guillemet pour les chaînes de clé et de valeur doit faire l'objet d'un échappement avec une barre oblique inverse (\).

La commande suivante indique 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>
Remarque

Erreurs JSON

Le message d'erreur "Le paramètre '<PARAMETER NAME>' doit être au format JSON." indique que la valeur transmise pour le paramètre portant le nom "PARAMETER NAME" n'était pas dans un format JSON valide. Cette erreur est généralement due au fait que la chaîne JSON n'a pas fait l'objet d'un échappement correct.

Pour plus d'informations sur l'utilisation des chaînes JSON, reportez-vous à Options JSON avancées.

Formatage de la sortie sous forme de table

Par défaut, toutes les réponses à une commande sont renvoyées au format JSON. Par exemple, une réponse telle que la suivante est renvoyée lorsque vous exécutez la commande permettant d'obtenir la liste des 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 un problème, facilement résolu en formatant la réponse sous forme de table. Pour obtenir une réponse à une commande sous forme de table, exécutez la commande suivante.

oci iam region list --output table

L'exemple de liste de régions suivant est renvoyé 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 de requêtes

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

Le filtrage est très utile lorsque vous traitez de grandes quantités de sorties. Par exemple, la commande suivante renvoie la liste de tous les compartiments :

oci iam compartment list --all

Cette commande renvoie de nombreuses informations. Certains des champs renvoyés sont 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 des champs, transmis sous forme de tableau dont le contenu est délimité par des virgules :

<nom du tableau>[].[<nom du champ>]
Remarque

  • 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 inexistants sont indiqués, la requête inclura null dans la sortie.
  • Si les noms de champ contiennent des caractères spéciaux ou des espaces, encapsulez le nom de champ entre guillemets échappés (\" pour bash ou \`" pour PowerShell).
Par exemple, pour renvoyer uniquement le nom du compartiment et l'état de cycle de vie, utilisez la commande suivante :
oci iam compartment list --all --query "data[].[name, \"lifecycle-state\"]"
Cette commande renvoie une sortie semblable à la suivante :
[ 
  [
    "ATestCompartment",
    "ACTIVE"
  ],
  
  [
    "blocktest",
    "ACTIVE"
  ],
  [
    "ZestyTest",
    "ACTIVE"
  ]
]
Vous pouvez également extraire des informations sous forme d'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\"}"
Cette commande renvoie une sortie semblable à la suivante :

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

Spécification de conditions de recherche

Vous pouvez spécifier une condition de recherche pour les informations renvoyées. Par exemple, pour renvoyer uniquement un compartiment nommé blocktest, utilisez la commande suivante :
oci iam compartment list --all --query "data[?name=='blocktest']"
Elle renvoie des informations semblables aux suivantes :
[
  {
    "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 spécifier plusieurs conditions de recherche. L'exemple suivant extrait le nom et le statut de cycle de vie des compartiments créés avant 2019 avec la balise MySpecialTag :
oci iam compartment list --all --query "data[?\"time-created\"<'2019'&&\"defined-tags\".MySpecialTag!=null].[name, \"lifecycle-state\"]"
Cette commande renvoie une sortie semblable à la suivante :
[
  [
    "blocktest",
    "ACTIVE"
  ]
]

Pour plus d'informations sur le langage de requête JMESPath pour JSON, reportez-vous à JMESPath.

Options JSON avancées

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

  • Pour une option de commande, utilisez --generate-param-json-input et spécifiez l'option de commande pour laquelle obtenir le fichier JSON. Pour générer le fichier JSON en vue de créer ou de mettre à jour 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 entière, utilisez --generate-full-command-json-input. Pour générer le fichier JSON en vue de lancer une instance, exécutez la commande suivante.

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

Ordre de priorité pour l'entrée JSON

L'interface de ligne de commande prend en charge la combinaison d'arguments sur la ligne de commande avec l'entrée de fichier. Toutefois, si les mêmes valeurs sont fournies dans un fichier et sur la ligne de commande, celle-ci est prioritaire.

Utilisation d'un fichier JSON pour les entrées complexes

Vous pouvez transmettre les entrées complexes d'un fichier en le référençant à partir de la ligne de commande. Pour les utilisateurs Windows, cela signifie que le texte JSON n'a plus besoin de faire l'objet d'un échappement. Indiquez le chemin du fichier à l'aide du préfixe file://.

Types de chemin

En prenant pour exemple testfile.json, les types de chemin suivants sont pris en charge.

  • Chemins relatifs d'un 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 de fichier complets sous Windows, par exemple : file://C:\path\to\testfile.json
Remarque

Extensions de chemin de fichier

Les extensions de chemin de fichier, comme "~/", "./" et "../", sont prises en charge. Sous Windows, l'expression "~/" mène vers votre répertoire utilisateur, qui est stocké dans la variable d'environnement %USERPROFILE%. L'utilisation de variables d'environnement dans les chemins est également prise en charge.

Emplacements de fichier

Les emplacements de fichier suivants sont pris en charge.

  • Répertoire de base.

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

    oci os bucket create -ns mynamespace --name mybucket --compartment-id ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga --metadata file://testfile.json
  • 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
  • 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 un fichier JSON généré pour une option de commande et pour une commande complète. Le fichier JSON est enregistré dans un fichier, modifié, puis utilisé comme entrée de ligne de commande.

Utilisation de l'entrée de fichier pour une option de commande

L'exemple complet montre comment générer le fichier JSON pour une option d'ID de liste de sécurité utilisée afin de créer un sous-réseau. Le fichier 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"
}
Utilisation d'un fichier JSON en tant qu'entrée pour une option de liste de sécurité
  1. Afin de générer le fichier JSON pour 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é renvoyé au cours de l'étape 1. Il n'est pas nécessaire que le contenu fasse l'objet d'un échappement ou qu'il apparaisse sur une seule ligne. Il doit simplement contenir un fichier JSON valide.

    [
      "string",
      "string"
    ]
  3. Modifiez le fichier et remplacez les valeurs "string" par des valeurs, comme indiqué dans l'exemple ci-dessous.

    [
      "ocid1.securitylist.oc1.phx.aaaaaaaaw7c62ybv4676muq5tdrwup3v2maiquhbkbh4sf75tjcf5dm6kvlq",
      "ocid1.securitylist.oc1.phx.aaaaaaaa7snx4jh5drwo2h33rwcdqev6elir55hnrhi2yfndjfons5rcqk4q"
    ]
  4. Enregistrez le fichier sous "security-list.json".
  5. Pour créer le sous-réseau en utilisant le fichier "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

Utilisation de l'entrée de fichier pour une commande complète

Cet exemple complet montre comment générer le fichier JSON afin de créer un réseau cloud virtuel. Le fichier JSON est enregistré dans un fichier, modifié, puis utilisé comme entrée de ligne de commande.

Utilisation d'un fichier JSON en tant qu'entrée pour créer un réseau cloud virtuel
  1. Pour générer le fichier JSON nécessaire à la création d'un réseau cloud virtuel, 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é renvoyé au cours de l'étape 1. Il n'est pas nécessaire que le contenu fasse l'objet d'un échappement ou qu'il apparaisse sur une seule ligne. Il doit simplement contenir un fichier JSON valide.

    {
      "cidrBlock": "string",
      "compartmentId": "string",
      "displayName": "string",
      "dnsLabel": "string"
    }
  3. Modifiez le fichier et remplacez les valeurs "string" par des valeurs, comme indiqué dans l'exemple ci-dessous.

    {
      "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 réseau cloud virtuel 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 indiquent comment utiliser l'interface de ligne de commande pour effectuer des tâches complexes dans Oracle Cloud Infrastructure.

Utilisation d'Object Storage

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

Téléchargement vers le serveur et en local de fichiers

Les objets peuvent être téléchargés vers le serveur à partir d'un fichier ou de la ligne de commande (STDIN), ainsi que téléchargés en local dans un fichier ou la ligne de commande (STDOUT).

Pour télécharger un objet vers le serveur, utilisez la commande suivante :

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

Pour télécharger le contenu d'un objet vers le serveur à partir de la ligne de commande (STDIN), utilisez la commande suivante :

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

Pour télécharger un objet en local, utilisez la commande suivante :

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

Pour imprimer le contenu d'un objet dans la ligne de commande (STDOUT), utilisez la commande suivante :

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

Opérations en masse dans Object Storage

L'interface de ligne de commande prend en charge les opérations en masse suivantes dans Object Storage :

  • Téléchargement des fichiers d'un répertoire et de tous ses sous-répertoires vers un bucket

    # 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 donné, dans un bucket

    # 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 donné, dans un bucket

    # 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 d'effectuer les actions suivantes :

  • Ecraser ou ignorer des fichiers/objets avec --overwrite ou --no-overwrite. (Remarque : si vous ne transmettez aucune de ces options, vous êtes invité à confirmer l'opération chaque fois qu'un élément doit être écrasé.)
  • Limiter les opérations de suppression, de téléchargement vers le serveur ou de téléchargement en local avec --prefix et/ou --delimiter.
  • Prévisualiser une suppression en masse avec --dry-run.

Pour obtenir plus d'informations sur les commandes des 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 multipart dans Object Storage

Les opérations multipart pour Object Storage incluent les téléchargements d'objets vers le serveur et en local.

Téléchargements multipart vers le serveur

Les fichiers volumineux peuvent être téléchargés vers Object Storage en plusieurs parties pour accélérer le processus. Par défaut, les fichiers dépassant 128 Mio sont téléchargés vers le serveur à l'aide d'opérations multipart. Vous pouvez remplacer ce paramètre 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 téléchargement multipart automatique vers le serveur si la taille de l'objet est supérieure à 128 Mio. L'objet est téléchargé vers le serveur en une seule partie, quelle que soit sa taille.
  • --part-size en Mio, à utiliser dans une opération multipart. La taille par défaut d'une partie est de 128 Mio et la taille indiquée doit être supérieure à 10 Mio. Si la taille de l'objet est supérieure à --part-size, il est téléchargé vers le serveur en plusieurs parties.
  • --parallel-upload-count, pour indiquer le nombre d'opérations parallèles à effectuer. Vous pouvez utiliser cette valeur pour équilibrer les ressources et le temps de téléchargement vers le serveur. Une valeur plus élevée peut optimiser le temps, mais utilise davantage de ressources système et de bande passante réseau. La valeur par défaut est 10.

La commande --resume-put permet de reprendre un téléchargement de fichiers volumineux vers le serveur dans le cas où celui-ci a été interrompu.

Remarque

Téléchargements multipart vers le serveur à partir de STDIN

Les objets téléchargés à partir de STDIN sont téléchargés vers le serveur en plusieurs parties. Si la taille du contenu de l'objet est inférieure à 10 Mio, le téléchargement vers le serveur ne comporte qu'une partie et l'API MultipartUpload est utilisée pour l'opération. Si vous indiquez --no-multipart lors du téléchargement vers le serveur à partir de STDIN, une erreur est générée.

L'exemple ci-dessous présente la commande pour un téléchargement multipart vers le serveur si la taille de l'objet est supérieure à 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 téléchargements multipart vers le serveur, reportez-vous à Utilisation des téléchargements multipart vers le serveur.

Téléchargements multipart en local

Les fichiers volumineux peuvent être téléchargés en local à partir d'Object Storage en plusieurs parties pour accélérer le processus.

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

  • --multipart-download-threshold vous permet de spécifier la taille en Mio à partir de laquelle un objet doit être téléchargé en local en plusieurs parties. Cette taille doit être d'au moins 128 Mio.
  • --part-size, en Mio, à utiliser pour une partie téléchargée en local. Ainsi, vous pouvez utiliser plus (petite taille) ou moins (grande taille) de parties selon vos besoins. Par exemple, en fonction de la puissance de calcul et de la bande passante réseau. La taille minimale par défaut d'une partie est de 120 Mio.
  • --parallel-download-count vous permet de spécifier le nombre de parties téléchargées en local en même temps. Une valeur plus élevée peut optimiser le temps, mais utilise davantage de ressources système et de bande passante réseau. La valeur par défaut est 10.

L'exemple suivant présente la commande permettant de télécharger en local tout objet dont la taille est supérieure à 500 Mio. L'objet est téléchargé en local avec des 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