CLI verwenden
In diesem Thema wird beschrieben, wie Sie mit der CLI auf Oracle Cloud Infrastructure zugreifen und servicebezogene Aufgaben ausführen. In diesem Thema wird davon ausgegangen, dass Sie die CLI konfiguriert haben und diese verwenden können.
Die CLI verfügt über einen interaktiven Modus, der Befehle automatisch abschließt sowie Informationen und Vorschläge zu Parametern bereitstellt. Weitere Informationen finden Sie unter Interaktiven Modus verwenden.
Weitere Informationen, u.a. eine End-to-End-Anleitung zum Starten einer Instanz mithilfe der Befehlszeilenschnittstelle (CLI), finden Sie unter Erste Schritte mit der Befehlszeilenschnittstelle.
Befehlszeilensyntax
Die meisten Befehle müssen einen Service gefolgt von einer Ressourcenart und einer Aktion angeben. Die Basisbefehlszeilensyntax lautet:
oci <service> <type> <action> <options>
Diese Syntax wird beispielsweise wie folgt angewendet:
compute
ist der <service>,instance
ist der <type> der Ressource,launch
ist die <action>, und- die übrige Befehlszeichenfolge besteht aus <options>.
Der folgende Befehl zum Starten einer Instanz zeigt ein typisches Befehlszeilenkonstrukt.
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
Im vorherigen Beispiel können Sie mit der Option --display-name
einen benutzerfreundlichen Namen für die Instanz angeben. Vermeiden Sie die Eingabe von vertraulichen Informationen.
Allgemeine Beispiele
Dieser Abschnitt enthält Beispiele für grundlegende Vorgänge mit der CLI.
Umgebungsvariablen für OCIDs verwenden
Verschiedene CLI-Beispiele verwenden Umgebungsvariablen für OCIDs, z.B.:
- $T für eine Mandanten-OCID
- $C für eine Compartment-OCID
Beispiel:
T=ocid1.tenancy.oc1..aaaaaaaaba3pv6wm2ytdrwrx32uzr4h25vkcr4jqae5f15p2b2qstifsfdsq
C=ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga
Um einen Namespace abzurufen, führen Sie den folgenden Befehl aus.
oci os ns get
Um Compartments aufzulisten, führen Sie den folgenden Befehl aus.
oci iam compartment list -c $T
Um eine Liste der Buckets abzurufen, führen Sie den folgenden Befehl aus.
oci os bucket list -ns mynamespace --compartment-id $C
Um Benutzer aufzulisten und die Ausgabe zu begrenzen, führen Sie den folgenden Befehl aus.
oci iam user list --compartment-id $T --limit 5
Um einen Benutzer zu einer Gruppe hinzuzufügen, führen Sie den folgenden Befehl aus.
oci iam group add-user --user-id ocid1.user.oc1..aaabcaaaxkkhhtmghvqqq7rgvzwuj3drwmtlsgz6sbfo7y4uc5sprzli377q --group-id ocid1.group.oc1..aaabcaaa66plootq6uuwwxhfdw2lsdqtgeb6l4pjsv5eeuenxrauujj35b7b
Hilfe zu Befehlen abrufen
Sie können die Hilfe zu jedem Befehl über --help
, -h
oder -?
abrufen. Beispiel:
oci --help
oci os bucket -h
oci os bucket create -?
Gesamte CLI-Hilfe anzeigen
Sie können die Befehlszeilenhilfe anzeigen.
Installierte Version der CLI bestimmen
Um die installierte Version der CLI abzurufen, führen Sie den folgenden Befehl aus.
oci --version
Mit Instanz-Principals authentifizieren
Instanz-Principals ist ein IAM-Servicefeature, mit dem Instanzen als autorisierte Akteure (oder Principals) Aktionen an Serviceressourcen ausführen können. Jede Compute-Instanz hat eine eigene Identität und authentifiziert die Zertifikate, die ihr hinzugefügt werden. Diese Zertifikate werden automatisch erstellt, Instanzen zugewiesen und rotiert, sodass Sie keine Zugangsdaten an die Hosts verteilen und sie rotieren müssen.
Um die Autorisierung des Instanz-Principals über die CLI zu aktivieren, können Sie die Autorisierungsoption (--auth
) für einen Befehl festlegen.
Beispiel:
oci os ns get --auth instance_principal
Sie können die Instanz-Principal-Autorisierung auch aktivieren, indem Sie die Umgebungsvariable OCI_CLI_AUTH
festlegen.
OCI_CLI_AUTH=instance_principal
Der für den Parameter
--auth
festgelegte Wert hat Vorrang vor der Umgebungsvariablen.Weitere Informationen zu Instanz-Principals finden Sie unter Services von einer Instanz aufrufen.
Proxyserver verwenden
Die CLI verwendet HTTP-Anforderungen, um Aufrufe an Oracle Cloud Infrastructure-Services auszuführen. Wenn Sie einen Proxyserver für ausgehende HTTP-Anforderungen in Ihrer Umgebung verwenden müssen, können Sie eine der folgenden Methoden verwenden:
Parameter --proxy in der Befehlszeile verwenden
Sie können einen Proxyserver in der Befehlszeile angeben, indem Sie den Parameter --proxy
beim Aufrufen eines CLI-Befehls aufnehmen.
Beispiel:
oci os ns get --proxy https://<add your proxy URL here>/
Proxyeintrag zur CLI-Konfigurationsdatei hinzufügen
Weitere Informationen finden Sie unter Proxyserver angeben.
Umgebungsvariablen verwenden
Legen Sie die Umgebungsvariablen HTTP_PROXY
und HTTPS_PROXY
so fest, dass sie auf den Proxyserver verweisen.
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>/"
Datumsangaben und Uhrzeiten in CLI-Befehlen verwenden
Die CLI unterstützt die folgenden akzeptierten Datumsformate.
-
UTC mit Millisekunden
Format: YYYY-MM-DDTHH:mm:ss.sssTZD, Example: 2017-09-15T20:30:00.123Z
-
UTC ohne Millisekunden
Format: YYYY-MM-DDTHH:mm:ssTZD, Example: 2017-09-15T20:30:00Z
-
UTC mit Minutenangabe
Format: YYYY-MM-DDTHH:mmTZD, Example: 2017-09-15T20:30Z
-
Zeitzone mit Millisekunden
Format: YYYY-MM-DDTHH:mm:ss.sssTZD, Example: 2017-09-15T12:30:00.456-08:00
-
Zeitzone ohne Millisekunden
Format: YYYY-MM-DDTHH:mm:ssTZD, Example: 2017-09-15T12:30:00-08:00
-
Zeitzone mit Offset mit Minutenangabe
Format: YYYY-MM-DDTHH:mmTZD, Example: 2017-09-15T12:35-08:00
-
Nur Datum (Dieses Datum wird als Mitternacht UTC dieses Tages verwendet)
Format: YYYY-MM-DD, Example: 2017-09-15
-
Epoch-Sekunden
Example: 1412195400
In unseren Datums- und Uhrzeitformaten kann
T
durch ein Leerzeichen ersetzt werden. Beispiel: Sowohl "2017-09-15 20:30:00.123Z"
als auch 2017-09-15T20:30:00.123Z
sind zulässig. (Hinweis: Wenn Sie T
nicht verwenden, müssen Sie den Wert in Anführungszeichen setzen.) Wir unterstützen außerdem Zeitzonen mit und ohne Doppelpunkt. Sowohl +10:00
als auch +1000
sind zulässig.CLI-Eingabe und -Ausgabe verwalten
Die CLI bietet mehrere Optionen zur Verwaltung von Befehlseingaben und -ausgaben.
Komplexe Eingabe übergeben
Komplexe Eingaben, wie Arrays und Objekte mit mehr als einem Wert, werden im JSON-Format übergeben und können als Zeichenfolge in der Befehlszeile, als Datei oder als Befehlszeilenzeichenfolge und als Datei angegeben werden.
MacOS, Linux oder Unix
Der folgende Befehl zeigt, wie zwei Werte für das Objekt --metadata
übergeben werden.
oci os bucket create -ns mynamespace --name mybucket --metadata '{"key1":"value1","key2":"value2"}' --compartment-id ocid1.compartment.oc1..<example>
Windows
Der folgende Befehl zeigt, wie zwei Werte für das --metadata
-Objekt unter Windows übergeben werden.
oci os bucket create -ns mynamespace --name mybucket --metadata "{\"key1\":\"value1\",\"key2\":\"value2\"}" --compartment-id ocid1.compartment.oc1..<example>
JSON-Fehler
Die Fehlermeldung "Parameter '<PARAMETER NAME>' muss das JSON-Format aufweisen. " gibt an, dass der für den Parameter mit dem Namen "PARAMETER NAME" übergebene Wert kein gültiges JSON-Format hatte. Dieser Fehler ist im Allgemeinen auf fehlende Escapezeichen in der JSON-Zeichenfolge zurückzuführen.
Weitere Informationen zur Verwendung von JSON-Zeichenfolgen finden Sie unter Erweiterte JSON-Optionen.
Ausgabe als Tabelle formatieren
Standardmäßig werden alle Antworten auf einen Befehl im JSON-Format zurückgegeben. Beispiel: Eine Antwort wie die folgende wird zurückgegeben, wenn Sie mit dem Befehl eine Liste der Regionen abrufen.
{
"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"
}
]
}
In einigen Fällen kann die Lesbarkeit zu einem Problem werden, das sich einfach beheben lässt, indem eine Antwort als Tabelle formatiert wird. Um eine Antwort im Tabellenformat auf einen Befehl zu erhalten, führen Sie den folgenden Befehl aus.
oci iam region list --output table
Die folgende Beispielliste von Regionen wird als Tabelle mit zwei Spalten zurückgegeben.
+-----+----------------+
| 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 |
+-----+----------------+
Abfragen verwenden
Sie können die Ausgabe mit der --query
-Option für JSON filtern. Diese Option verwendet die Abfragesprache JMESPath für JSON.
Bei umfangreichen Ausgaben ist eine Filterung hilfreich. Der folgende Befehl gibt beispielsweise eine Liste aller Compartments zurück:
oci iam compartment list --all
Dieser Befehl liefert umfangreiche Informationen. Zurückgegeben werden unter anderem die Felder compartment-id, name, lifecycle-state und defined-tags.
Felder für die Anzeige auswählen
Sie können die gewünschten Felder zum Anzeigen auswählen, indem Sie den Namen des Arrays sowie die Namen eines oder mehrerer Felder in Form eines Arrays mit Kommas als Trennzeichen übergeben:
<name of the array>[].[<the name of the field>]
- Bei den Feldnamen muss die Groß-/Kleinschreibung beachtet werden. Geben Sie den Namen jedes Feldes genau so an, wie er im JSON-Objekt angegeben ist.
- Wenn nicht vorhandene Feldnamen angegeben wurden, enthält die Ausgabe der Abfrage den Wert
null
. - Wenn die Feldnamen Sonderzeichen oder Leerzeichen enthalten, setzen Sie den Feldnamen in maskierte doppelte Anführungszeichen (
\"
für bash bzw.\`"
für 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>}
Beispiel:oci iam compartment list --all --query "data[].{Name:name, \"LifecycleState\":\"lifecycle-state\"}"
[
{
"LifecycleState": "ACTIVE",
"Name": "ATestCompartment"
},
{
"LifecycleState": "ACTIVE",
"Name": "blocktest"
},
{
"LifecycleState": "ACTIVE",
"Name": "ZestyTest"
}
]
Suchbedingungen angeben
blocktest
zurück: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"
]
]
Weitere Informationen zur JMESPath-Abfragesprache für JSON finden Sie unter JMESPath.
Erweiterte JSON-Optionen
Sie können das korrekte JSON-Format für Befehlsoptionen und Befehle abrufen.
-
Verwenden Sie für eine Befehlsoption
--generate-param-json-input
, und geben Sie die Befehlsoption an, für die JSON abgerufen werden soll. Um JSON zum Erstellen oder Aktualisieren einer Sicherheitsregel zu generieren, führen Sie den folgenden Befehl aus.oci network security-list create --generate-param-json-input ingress-security-rules
-
Verwenden Sie für einen gesamten Befehl
--generate-full-command-json-input
. Um JSON zum Starten einer Instanz zu generieren, führen Sie den folgenden Befehl aus.oci compute instance launch --generate-full-command-json-input
Prioritätsfolge für JSON-Eingabe
Die CLI unterstützt die Kombination von Argumenten in der Befehlszeile mit Dateieingaben. Wenn jedoch dieselben Werte in einer Datei und in der Befehlszeile angegeben werden, hat die Befehlszeile Vorrang.
JSON-Datei für komplexe Eingaben verwenden
Sie können komplexe Eingaben aus einer Datei übergeben, indem Sie sie von der Befehlszeile referenzieren. Bei Windows-Benutzern sind daher im JSON-Text keine Escapezeichen erforderlich. Sie geben einen Pfad zur Datei mit dem Präfix file://
an.
Pfadtypen
Ausgehend von testfile.json
als Beispiel werden die folgenden Pfadtypen unterstützt.
- Relative Pfade aus demselben Verzeichnis, z.B.
file://testfile.json
undfile://relative/path/to/testfile.json
- Absolute Pfade unter Linux, MacOS oder Unix, z.B.
file:///absolute/path/to/testfile.json
- Vollständige Dateipfade unter Windows, z.B.
file://C:\path\to\testfile.json
Dateipfaderweiterungen
Dateipfaderweiterungen, wie z.B. "~/", "./" und "../", werden unterstützt. Unter Windows wird der "~/"-Ausdruck auf Ihr Benutzerverzeichnis erweitert, das in der Umgebungsvariablen %USERPROFILE% gespeichert ist. Die Verwendung von Umgebungsvariablen in Pfaden wird ebenfalls unterstützt.
Dateispeicherorte
Folgende Dateispeicherorte werden unterstützt.
-
Ihr Home-Verzeichnis.
oci os bucket create -ns mynamespace --name mybucket --compartment-id ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga --metadata file://~/testfile.json
-
Das aktuelle Verzeichnis.
oci os bucket create -ns mynamespace --name mybucket --compartment-id ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga --metadata file://testfile.json
-
Das /tmp-Verzeichnis (Linux, Unix oder MacOS).
oci os bucket create -ns mynamespace --name mybucket --compartment-id ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga --metadata file:///tmp/testfile.json
-
Das C:\temp-Verzeichnis (Windows).
oci os bucket create -ns mynamespace --name mybucket --compartment-id ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga --metadata file://C:\temp\testfile.json
Beispiele für die Verwendung einer JSON-Datei als Eingabe
Die Beispiele in diesem Abschnitt verwenden JSON, das für eine Befehlsoption und einen ganzen Befehl generiert wurde. Der JSON-Inhalt wird in einer Datei gespeichert, bearbeitet und dann als Befehlszeileneingabe verwendet.
Dateieingabe für eine Befehlsoption verwenden
In diesem End-to-End-Beispiel wird gezeigt, wie JSON für eine Sicherheitslisten-ID-Option generiert wird, mit der ein Subnetz erstellt wird. Der JSON-Inhalt wird in einer Datei gespeichert, bearbeitet und dann als Befehlszeileneingabe verwendet.
[
{
"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"
}
-
Um JSON für die Option
security-list-ids
zu generieren, führen Sie den folgenden Befehl aus.oci network subnet create --generate-param-json-input security-list-ids
-
Erstellen Sie eine Datei, und fügen Sie den folgenden Inhalt hinzu, der in Schritt 1 zurückgegeben wurde. Dieser Inhalt muss nicht mit Escapezeichen versehen werden oder in einer einzelnen Zeile enthalten sein, er muss lediglich eine gültige JSON enthalten.
[ "string", "string" ]
-
Bearbeiten Sie die Datei, und ersetzen Sie die Werte für "string", wie im folgenden Beispiel dargestellt.
[ "ocid1.securitylist.oc1.phx.aaaaaaaaw7c62ybv4676muq5tdrwup3v2maiquhbkbh4sf75tjcf5dm6kvlq", "ocid1.securitylist.oc1.phx.aaaaaaaa7snx4jh5drwo2h33rwcdqev6elir55hnrhi2yfndjfons5rcqk4q" ]
- Speichern Sie die Datei als "security-list.json".
-
Um das Subnetz mit "security-list.json" als Eingabe zu erstellen, führen Sie den folgenden Befehl aus.
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
Dateieingabe für einen ganzen Befehl verwenden
In diesem End-to-End-Beispiel wird dargestellt, wie JSON generiert wird, um ein virtuelles Cloud-Netzwerk (VCN) zu erstellen. Der JSON-Inhalt wird in einer Datei gespeichert, bearbeitet und dann als Befehlszeileneingabe verwendet.
-
Um die für das Erstellen eines VCN erforderliche JSON zu generieren, führen Sie den folgenden Befehl aus.
oci network vcn create --generate-full-command-json-input
-
Erstellen Sie eine Datei, und fügen Sie den folgenden Inhalt hinzu, der in Schritt 1 zurückgegeben wurde. Dieser Inhalt muss nicht mit Escapezeichen versehen werden oder in einer einzelnen Zeile enthalten sein, er muss lediglich eine gültige JSON enthalten.
{ "cidrBlock": "string", "compartmentId": "string", "displayName": "string", "dnsLabel": "string" }
-
Bearbeiten Sie die Datei, und ersetzen Sie die Werte für "string", wie im folgenden Beispiel dargestellt.
{ "cidrBlock": "10.0.0.0/16", "compartmentId": "ocid1.compartment.oc1..aaaaaaaal3gzijdliedxxhqol2rggndrwyg35nz5zxil26astpgeyq7jnhwa", "displayName": "TestVCN", "dnsLabel": "testdns" }
- Speichern Sie die Datei, und nennen Sie sie "create-vcn.json".
-
Um das VCN mithilfe von "create-vcn.json" als Eingabe zu erstellen, führen Sie den folgenden Befehl aus.
oci network vcn create --from-json file://create-vcn.json
Weiterführende Beispiele
Die folgenden Beispiele zeigen, wie Sie mit der CLI komplexe Aufgaben in Oracle Cloud Infrastructure ausführen können.
Mit Object Storage arbeiten
Sie können die CLI für verschiedene Objektvorgänge mit dem Object Storage-Service verwenden.
Dateien hoch- und herunterladen
Objekte können aus einer Datei oder der Befehlszeile (STDIN) hochgeladen und in eine Datei oder in die Befehlszeile (STDOUT) heruntergeladen werden.
Objekt hochladen:
oci os object put -ns mynamespace -bn mybucket --name myfile.txt --file /Users/me/myfile.txt --metadata '{"key1":"value1","key2":"value2"}'
Objektinhalt aus der Befehlszeile hochladen (STDIN):
oci os object put -ns mynamespace -bn mybucket --name myfile.txt --file <--'object content'
Objekt herunterladen:
oci os object get -ns mynamespace -bn mybucket --name myfile.txt --file /Users/me/myfile.txt
Objektinhalt in die Befehlszeile ausgeben (STDOUT):
oci os object get -ns mynamespace -bn mybucket --name myfile.txt --file -
Bulkvorgänge in Object Storage
Die CLI unterstützt die folgenden Bulkvorgänge in Object Storage:
-
Dateien in einem Verzeichnis und alle zugehörigen Unterverzeichnisse in einen Bucket hochladen
# Upload all the files in a directory. oci os object bulk-upload -ns mynamespace -bn mybucket --src-dir path/to/upload/directory
-
Alle Objekte oder alle Objekte, die einem bestimmten Präfix entsprechen, in einem Bucket herunterladen
# 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
-
Alle Objekte oder alle Objekte, die einem bestimmten Präfix entsprechen, in einem Bucket löschen
# 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
Bulkvorgänge unterstützen mehrere Optionen, mit denen Sie folgende Möglichkeiten haben:
- Dateien/Objekte mit
--overwrite
oder--no-overwrite
überschreiben oder überspringen. (Hinweis: Wenn Sie keine dieser Optionen übergeben, werden Sie jedes Mal zur Bestätigung aufgefordert, wenn ein zu überschreibendes Element vorhanden ist.) - Lösch-, Upload- oder Downloadvorgänge mit
--prefix
und/oder--delimiter
begrenzen - Bulklöschvorgang mit
--dry-run
in der Vorschau anzeigen
Um weitere Informationen zu den Befehlen für Bulkvorgänge zu erhalten, führen Sie die folgenden Hilfebefehle aus:
# bulk-upload
oci os object bulk-upload -h
# bulk-download
oci os object bulk-download -h
# bulk-delete
oci os object bulk-delete -h
Mehrteilige Vorgänge in Object Storage
Zu mehrteiligen Vorgängen für Object Storage gehören Objektuploads und -downloads.
Multipart-Uploads
Große Dateien können in mehreren Teilen in Object Storage hochgeladen werden, um den Upload zu beschleunigen. Standardmäßig werden Dateien mit mehr als 128 MiB in mehrteiligen Vorgängen hochgeladen. Sie können diese Standardeinstellung mit der Option --no-multipart
außer Kraft setzen.
Sie können die folgenden Optionen für den Befehl oci os object put
konfigurieren:
-
--no-multipart
setzt einen automatischen Multipart-Upload außer Kraft, wenn das Objekt größer als 128 MiB ist. Das Objekt wird unabhängig von der Größe im Ganzen hochgeladen. --part-size
in MiB zur Verwendung in mehrteiligen Vorgängen. Die standardmäßige Teilgröße ist 128 MiB, und eine Teilgröße, die Sie angeben, muss größer als 10 MiB sein. Wenn das Objekt größer als--part-size
ist, wird es in mehreren Teilen hochgeladen.--parallel-upload-count
, um die Anzahl der auszuführenden Parallelvorgänge anzugeben. Mit diesem Wert können Sie Ressourcen und Uploadzeiten ausgleichen. Ein höherer Wert kann die Zeiten verkürzen, aber mehr Systemressourcen und Netzwerkbandbreite belegen. Der Standardwert lautet 10.
Mit dem Befehl --resume-put
können Sie einen großen Dateiupload wiederaufnehmen, wenn der Upload unterbrochen wurde.
Multipart-Uploads aus STDIN
Aus STDIN hochgeladene Objekte werden in mehreren Teilen hochgeladen. Wenn der Objektinhalt kleiner als 10 MiB ist, besteht der Upload nur aus einem Teil, und die MultipartUpload-API wird für den Upload verwendet. Wenn Sie --no-multipart
beim Hochladen aus STDIN angeben, führt dies zu einem Fehler.
Das folgende Beispiel zeigt den Befehl für einen Multipart-Upload, wenn das Objekt größer als 200 MiB ist.
oci os object put -ns my-namespace -bn my-bucket --file path/to/large/file --part-size 200
Weitere Informationen zu mehrteiligen Uploads finden Sie unter Multipart-Uploads verwenden.
Mehrteilige Downloads
Um den Download zu beschleunigen, können große Dateien aus Object Storage in mehreren Teilen heruntergeladen werden.
Sie können die folgenden Optionen für den Befehl oci os object get
konfigurieren:
- Mit
--multipart-download-threshold
können Sie die Größe in MiB angeben, bei der ein Objekt in mehreren Teilen heruntergeladen werden soll. Diese Größe muss mindestens 128 MiB betragen. --part-size
in MiB für einen Downloadteil. Dadurch können Sie mehr (kleinere) oder weniger (größere) Teile verwenden, abhängig von Ihren Anforderungen. Beispiel: Rechenleistung und Netzwerkbandbreite. Die standardmäßige Mindestteilgröße beträgt 120 MiB.- Mit
--parallel-download-count
können Sie angeben, wie viele Teile gleichzeitig heruntergeladen werden. Ein höherer Wert kann die Zeiten verkürzen, aber mehr Systemressourcen und Netzwerkbandbreite belegen. Der Standardwert lautet 10.
Das folgende Beispiel zeigt den Befehl zum Herunterladen eines Objekts mit einer Größe von mehr als 500 MiB. Das Objekt wird in Teilen von jeweils 128 MiB heruntergeladen.
oci os object get -ns my-namespace -bn my-bucket --name my-large-object --multipart-download-threshold 500 --part-size 128