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.
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 ressourcelaunch
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.
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
.
OCI_CLI_AUTH=instance_principal
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.
https_proxy=https://<add your proxy URL here>/
http_proxy=http://<add your proxy URL here>/
$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
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
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>
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>]
- 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).
oci iam compartment list --all --query "data[].[name, \"lifecycle-state\"]"
[
[
"ATestCompartment",
"ACTIVE"
],
[
"blocktest",
"ACTIVE"
],
[
"ZestyTest",
"ACTIVE"
]
]
<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\"}"
[
{
"LifecycleState": "ACTIVE",
"Name": "ATestCompartment"
},
{
"LifecycleState": "ACTIVE",
"Name": "blocktest"
},
{
"LifecycleState": "ACTIVE",
"Name": "ZestyTest"
}
]
Définition de conditions de recherche
blocktest
:oci iam compartment list --all --query "data[?name=='blocktest']"
[
{
"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"
}
]
oci iam compartment list --all --query "data[?\"time-created\"<'2019'&&\"defined-tags\".MySpecialTag!=null].[name, \"lifecycle-state\"]"
[
[
"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
etfile://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
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.
[
{
"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
}
}
}
]
{
"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"
}
-
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
-
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" ]
-
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" ]
- Enregistrez le fichier sous le nom "security-list.json".
-
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.
-
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
-
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" }
-
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" }
- Enregistrez le fichier et nommez-le "create-vcn.json"
-
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.
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