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.

Tipp

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.

Hinweis

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.

Beispiel:
OCI_CLI_AUTH=instance_principal
Hinweis

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.

Beispiel unter Linux:
https_proxy=https://<add your proxy URL here>/
http_proxy=http://<add your proxy URL here>/
Unter Windows mit PowerShell:
$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
Hinweis

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

Wenn Sie unter Windows komplexe Eingaben als JSON-Zeichenfolge an die CLI übergeben möchten, müssen Sie den gesamten Block in doppelte Anführungszeichen setzen. Innerhalb des Blocks muss jedem doppelten Anführungszeichen für die Schlüssel- und Wertzeichenfolgen ein umgekehrter Schrägstrich (\) als Escapezeichen vorangestellt werden.

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>
Hinweis

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>]
Hinweis

  • 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).
So geben Sie beispielsweise nur den Namen des Compartments und den Lebenszyklusstatus zurück:
oci iam compartment list --all --query "data[].[name, \"lifecycle-state\"]"
Dadurch wird eine Ausgabe erzeugt, die in etwa wie folgt aussieht:
[ 
  [
    "ATestCompartment",
    "ACTIVE"
  ],
  
  [
    "blocktest",
    "ACTIVE"
  ],
  [
    "ZestyTest",
    "ACTIVE"
  ]
]
Sie können Informationen auch als Objekte mit benutzerdefinierten Feldnamen abrufen:
<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\"}"
Dadurch wird eine Ausgabe erzeugt, die in etwa wie folgt aussieht:

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

Suchbedingungen angeben

Sie können eine Suchbedingung für die zurückgegebenen Informationen angeben. So geben Sie beispielsweise nur ein Compartment mit dem Namen blocktest zurück:
oci iam compartment list --all --query "data[?name=='blocktest']"
Dadurch werden Informationen ähnlich wie in diesem Beispiel zurückgegeben:
[
  {
    "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"
  }
]
Sie können mehrere Suchbedingungen angeben. Im folgenden Beispiel werden der Name und der Lebenszyklusstatus von Compartments abgerufen, die vor 2019 erstellt wurden und mit "MySpecialTag" getaggt sind:
oci iam compartment list --all --query "data[?\"time-created\"<'2019'&&\"defined-tags\".MySpecialTag!=null].[name, \"lifecycle-state\"]"
Dieser Befehl erzeugt eine Ausgabe, die in etwa wie folgt aussieht:
[
  [
    "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 und file://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
Hinweis

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.

Antwort vom Befehl

[
  {
    "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
      }
    }
  }
]
Antwort vom Befehl
{
  "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"
}
JSON-Datei als Eingabe für eine Sicherheitslistenoption verwenden
  1. 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
  2. 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"
    ]
  3. 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"
    ]
  4. Speichern Sie die Datei als "security-list.json".
  5. 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.

JSON-Datei als Eingabe zum Erstellen eines VCN verwenden
  1. 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
  2. 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"
    }
  3. 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"
    }
  4. Speichern Sie die Datei, und nennen Sie sie "create-vcn.json".
  5. 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.

Hinweis

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