Oracle Cloud Infrastructureドキュメント

CLIの使用

このトピックでは、CLIを使用してOracle Cloud Infrastructureにアクセスし、サービス関連のタスクを実行する方法について説明します。 このトピックは、「CLIを構成しました」を持っていて、それを使用する準備ができていることを前提としています。

ヒント

「コマンド・ライン・インタフェースの開始」は、CLIを使用してインスタンスを起動するエンド・ツー・エンドのウォークスルーを提供します。

CLIセッションの起動

MacOS、LinuxおよびUnix

CLIセッションを開始するには、次のコマンドを実行します。

  1. ターミナルを開きます。
  2. 作業ディレクトリを変更します。

    cd myvirtualspaces/virtualenvs/cli-testing/bin
  3. アクティブ化バッチ・ファイルを実行します。

    source activate

CLIの使用を停止するには、端末で次のコマンドを実行します。

deactivate

Windows

CLIセッションを開始するには、次のコマンドを実行します。

  1. 「管理者として実行」オプションを使用してコマンド・プロンプトを開きます。
  2. 作業ディレクトリを変更します。

    cd myvirtualspaces/virtualenvs/cli-testing/Scripts
  3. アクティブ化バッチ・ファイルを実行します。

    activate

CLIの使用を停止するには、コマンド・ラインから次のコマンドを実行します。

deactivate

警告

機密情報を漏洩する可能性のあるリソース名、説明、またはその他の値を提供するときは、機密情報を入力しないでください。

コマンドライン構文

ほとんどのコマンドでは、サービスを指定し、その後にリソース・タイプを指定し、次にアクションを指定する必要があります。 基本的なコマンド・ラインの構文は次のとおりです:

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

たとえば、この構文は次のように適用されます:

  • computeは<service>です
  • instanceはリソース<type>です。
  • launchは<action>であり、
  • 残りのコマンド文字列は<options>で構成されています。

インスタンスを起動する次のコマンドは、典型的なコマンド・ライン構造を示しています。

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
警告

前の例では、--display-nameオプションを使用して、インスタンスにわかりやすい名前を付けることができます。 リソース名や説明を提供するときは機密情報を入力しないでください。

基本的な例

このセクションでは、CLIを使用した基本操作の例を示します。

ノート

OCIDの環境変数の使用

CLIの例のいくつかは、次のようなOCIDに環境変数を使用しています:

  • テナンシOCIDの$T
  • コンパートメントOCIDの$C

次に例を示します。

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

ネームスペースを取得するには、次のコマンドを実行します。

oci os ns get

コンパートメントをリストするには、次のコマンドを実行します。

oci iam compartment list -c $T

バケットのリストを取得するには、次のコマンドを実行します。

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

ユーザーをリストし、出力を制限するには、次のコマンドを実行します。

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

ユーザーをグループに追加するには、次のコマンドを実行します。

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

コマンドのヘルプの入手

--help-h、または-?を使用して、任意のコマンドのヘルプを表示できます。 次に例を示します。

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

すべてのCLIヘルプの表示

「コマンド・ライン・ヘルプ」を見ることができます。

CLIのインストールされたバージョンの確認

インストールされているCLIのバージョンを取得するには、次のコマンドを実行します。

oci --version

CLIコマンドで日時を使用

CLIは、以下の受け入れ可能な日付形式をサポートしています。

  • ミリ秒付きのUTC

    Format: YYYY-MM-DDTHH:mm:ss.sssTZD, Example: 2017-09-15T20:30:00.123Z
  • ミリ秒なしのUTC

    Format: YYYY-MM-DDTHH:mm:ssTZD, Example: 2017-09-15T20:30:00Z
  • 分精度のUTC

    Format: YYYY-MM-DDTHH:mmTZD, Example: 2017-09-15T20:30Z
  • ミリ秒付きのタイムゾーン

    Format: YYYY-MM-DDTHH:mm:ss.sssTZD, Example: 2017-09-15T12:30:00.456-08:00
  • ミリ秒なしのタイムゾーン

    Format: YYYY-MM-DDTHH:mm:ssTZD, Example: 2017-09-15T12:30:00-08:00
  • 分精度付きのオフセット付きのタイムゾーン

    Format: YYYY-MM-DDTHH:mmTZD, Example: 2017-09-15T12:35-08:00
  • 日付のみ(この日付はその日の午前0時とします)

    Format: YYYY-MM-DD, Example: 2017-09-15
  • エポック秒

    Example: 1412195400

ノート

日時書式では、Tをスペースに置換できます。
たとえば、"2017-09-15 20:30:00.123Z"2017-09-15T20:30:00.123Zの両方が受け入れられます。 Tを含めない場合は、値を引用符で囲む必要があります。 また、コロンを使用しない場合も、タイムゾーンをサポートしています。 +10:00+1000の両方が受け入れられます。

CLIの入力と出力の管理

CLIには、コマンドの入力と出力を管理するためのいくつかのオプションがあります。

複雑な入力を渡す

複数の値を持つ配列やオブジェクトなどの複雑な入力は、JSON形式で渡され、コマンド・ライン、ファイル、コマンド・ライン文字列、およびファイルとして文字列として提供されます。

MacOS、LinuxまたはUnix

次のコマンドは、--metadataオブジェクトの2つの値を渡す方法を示しています。

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

Windows

Windowsでは、複雑な入力をJSON文字列としてCLIに渡すには、ブロック全体を二重引用符で囲む必要があります。 ブロック内では、キーおよび値の文字列の二重引用符はそれぞれバックスラッシュ(\))文字でエスケープする必要があります。

次のコマンドは、Windowsで--metadataオブジェクトの2つの値を渡す方法を示しています。

oci os bucket create -ns mynamespace --name mybucket --metadata "{\"key1\":\"value1\",\"key2\":\"value2\"}" --compartment-id ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga
ノート

JSONエラー

エラー・メッセージ"パラメータ'<PARAMETER NAME>'はJSON形式である必要があります。名前がPARAMETER NAMEのパラメータに渡した値が有効なJSONではないことを示します。 このエラーは通常、JSON文字列が正しくエスケープされていないために発生します。

JSON文字列の使用の詳細については、「高度なJSONオプション」を参照してください。

表形式の出力

デフォルトでは、コマンドに対するすべてのレスポンスはJSON形式で返されます。 たとえば、リージョンのリストを取得するコマンドを発行すると、次のレスポンスが戻されます。

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

場合によっては、可読性が問題になることがあります。これは、レスポンスを表としてフォーマットすることで簡単に解決できます。 表形式のコマンドにレスポンスするには、次のコマンドを実行します。

oci iam region list --output table

次のリージョンのリストは、2つの列の表として戻されます。


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

フィルタ出力

JSONのJMESPath問合せオプションを使用して出力をフィルタリングできます。 フィルタリングは大量の出力を処理する場合に非常に便利です。 たとえば、出力テーブル・オプションを指定して次のコマンドを実行すると、イメージの一覧が表示されます。

oci compute image list -c ocid1.compartment.oc1..aaaaaaaapxgklgmujxjzx2ypptfjrcieq7rrob2u2zbesh3wlafsgthhqtea --output table

イメージ情報は表形式で返されますが、端末の幅をオーバーフローさせるようなデータが返されます。 さらに、返されるすべての情報は必要ない場合もあります。


| base-image-id | compartment-id | create-image-allowed | display-name                                            | id | lifecycle-state | operating-system | operating-system-version | time-created                     |
+---------------+----------------+----------------------+---------------------------------------------------------+----------------------------------------------------------------------------------+-----------------+------------------+--------------------------+----------------------------------+| None          | None           | True                 | Windows-Server-2012-R2-Standard-Edition-VM-2017.07.25-0 | ocid
1.image.oc1.phx.aaaaaaaab2xgy6bijtudhsgsbgns6zwfqnkdb2bp4l4qap7e4mehv6bv3qca | AVAILABLE       | Windows          | Serv
er 2012 R2 Standard  | 2017-07-25T23:59:59.311000+00:00 |
| None          | None           | True                 | Windows-Server-2012-R2-Standard-Edition-VM-2017.04.03-0 | ocid
1.image.oc1.phx.aaaaaaaa53cliasgvqmutflwqkafbro2y4ywjebci5szc4eus5byy2e2b7ua | AVAILABLE       | Windows          | Serv
er 2012 R2 Standard  | 2017-04-03T19:42:22.938000+00:00 |
| None          | None           | True                 | Windows-Server-2012-R2-Standard-Edition-BM-2017.07.25-0 | ocid
1.image.oc1.phx.aaaaaaaadcegaay43eux6uap55fhp6lqaqh37xgocscktwm2yr7ql4pcykxq | AVAILABLE       | Windows          | Serv
er 2012 R2 Standard  | 2017-07-25T20:55:37.937000+00:00 |
| None          | None           | True                 | Windows-Server-2012-R2-Standard-Edition-BM-2017.04.13-0 | ocid1.image.oc1.phx.aaaaaaaa7xgecq2kt7tikqfrmshu6gwukoc3lcnf2iqtwmjyarlprp6j6lna | AVAILABLE       | Windows          | Serv
er 2012 R2 Standard  | 2017-04-13T17:36:50.840000+00:00 |
| None          | None           | True                 | Windows-Server-2008-R2-Standard-Edition-VM-2017.08.03-0 | ocid
1.image.oc1.phx.aaaaaaaaejmyrf52wf2blf7jd7y2dcrjvg6dyulfyp7d3r3oarc5ayka5liq | AVAILABLE       | Windows          | Serv
er 2008 R2 Standard  | 2017-07-27T18:19:06.976000+00:00 |
| None          | None           | True                 | Oracle-Linux-7.4-2017.09.29-0                           | ocid
1.image.oc1.phx.aaaaaaaa3g2xpzlbrrdknqcjtzv2tvxcofjc55vdcmpxdlbohmtt7encpana | AVAILABLE       | Oracle Linux     | 7.4
| 2017-10-05T22:36:17.246000+00:00 |
| None          | None           | True                 | Oracle-Linux-7.4-2017.08.25-1                           | ocid
1.image.oc1.phx.aaaaaaaajan2cd2g65tphpaiegiz4lbs422rdc73okcu7dt2uya6p5szywsa | AVAILABLE       | Oracle Linux     | 7.4
| 2017-09-11T23:12:18.644000+00:00 |
| None          | None           | True                 | Oracle-Linux-7.4-2017.08.25-0                           | ocid
1.image.oc1.phx.aaaaaaaabifl2bmaygtu4riw3vcuowl5cqwdzdqzwndqneoybcfcn2pgyc6a | AVAILABLE       | Oracle Linux     | 7.4| 2017-08-25T01:21:37.176000+00:00 |

--queryオプションと--output tableを組み合わせて、コマンドから必要な情報を取得することによって、返されるデータ量を制限することができます。

表形式で返されたフィルタリングされたイメージ情報を取得するには、次のコマンドを実行します。

oci compute image list -c ocid1.compartment.oc1..aaaaaaaapxgklgmujxjzx2ypptfjrcieq7rrob2u2zbesh3wlafsgthhqtea --output table --query "data [*].{ImageName:\"display-name\", OCID:id}"

前のコマンドは、次のイメージ情報を2列の表として返します。


+---------------------------------------------------------+----------------------------------------------------------------------------------+
| ImageName                                               | OCID                                                                             |
+---------------------------------------------------------+----------------------------------------------------------------------------------+
| Windows-Server-2012-R2-Standard-Edition-VM-2017.07.25-0 | ocid1.image.oc1.phx.aaaaaaaab2xgy6bijtudhsgsbgns6zwfqnkdb2bp4l4qap7e4mehv6bv3qca |
| Windows-Server-2012-R2-Standard-Edition-VM-2017.04.03-0 | ocid1.image.oc1.phx.aaaaaaaa53cliasgvqmutflwqkafbro2y4ywjebci5szc4eus5byy2e2b7ua |
| Windows-Server-2012-R2-Standard-Edition-BM-2017.07.25-0 | ocid1.image.oc1.phx.aaaaaaaadcegaay43eux6uap55fhp6lqaqh37xgocscktwm2yr7ql4pcykxq |
| Windows-Server-2012-R2-Standard-Edition-BM-2017.04.13-0 | ocid1.image.oc1.phx.aaaaaaaa7xgecq2kt7tikqfrmshu6gwukoc3lcnf2iqtwmjyarlprp6j6lna |
| Windows-Server-2008-R2-Standard-Edition-VM-2017.08.03-0 | ocid1.image.oc1.phx.aaaaaaaaejmyrf52wf2blf7jd7y2dcrjvg6dyulfyp7d3r3oarc5ayka5liq |
| Oracle-Linux-7.4-2017.09.29-0                           | ocid1.image.oc1.phx.aaaaaaaa3g2xpzlbrrdknqcjtzv2tvxcofjc55vdcmpxdlbohmtt7encpana |
| Oracle-Linux-7.4-2017.08.25-1                           | ocid1.image.oc1.phx.aaaaaaaajan2cd2g65tphpaiegiz4lbs422rdc73okcu7dt2uya6p5szywsa |
| Oracle-Linux-7.4-2017.08.25-0                           | ocid1.image.oc1.phx.aaaaaaaabifl2bmaygtu4riw3vcuowl5cqwdzdqzwndqneoybcfcn2pgyc6a |
| Oracle-Linux-7.3-2017.07.17-1                           | ocid1.image.oc1.phx.aaaaaaaa7jvfm572d4ehcgh3ijapvhrt52voel33ispumnygi3kl7mph55ha |
| Oracle-Linux-7.3-2017.07.17-0                           | ocid1.image.oc1.phx.aaaaaaaa5yu6pw3riqtuhxzov7fdngi4tsteganmao54nq3pyxu3hxcuzmoa |
| Oracle-Linux-6.9-2017.09.29-0                           | ocid1.image.oc1.phx.aaaaaaaa2d243dmn6mj53zieyap5bdvtq7xfmr5kg5xulrldbjzdavaaoj6a |
| Oracle-Linux-6.9-2017.08.25-0                           | ocid1.image.oc1.phx.aaaaaaaavlwrtcgz2mx6c4q4qg4gwvibx6g7xqkowe3tbbwjnifybwmexpnq |
| Oracle-Linux-6.9-2017.07.17-0                           | ocid1.image.oc1.phx.aaaaaaaa3s4v5eamndtyghbo4bj2mhobkwjwbz3eowyy5cebmrsoxvoopixa |
| CentOS-7-2017.09.14-0                                   | ocid1.image.oc1.phx.aaaaaaaauqtvzhqplzuyesb5tctig6qrwoavpnfiwdkvuynu7z646z72ahcq |
| CentOS-7-2017.07.17-0                                   | ocid1.image.oc1.phx.aaaaaaaahmts5c5nktcnqsu6ppom72d7dnvkmqsoaavpsiklamn7qd3a7szq |
| CentOS-7-2017.04.18-0                                   | ocid1.image.oc1.phx.aaaaaaaaamx6ta37uxltor6n5lxfgd5lkb3lwmoqurlpn2x4dz5ockekiuea |
| CentOS-6.9-2017.09.14-0                                 | ocid1.image.oc1.phx.aaaaaaaagedr7qsbpxjylieetj7dy2r4xoq6p65v3i6y4simkhgyww2ibzxq |
| CentOS-6.9-2017.07.17-0                                 | ocid1.image.oc1.phx.aaaaaaaalm3mr4lpsnzjev2nzmmkhpiy7yxu3456qyg7r4nvjieslp4yngtq |
| CentOS-6.8-2017.06.13-0                                 | ocid1.image.oc1.phx.aaaaaaaauk5k4km4epm7fxj5ifuylvnyjfklmukqcg25clayx3ucuqizjbia |
| Canonical-Ubuntu-16.04-2017.08.22-0                     | ocid1.image.oc1.phx.aaaaaaaalzhdvphf77qgvqo2apmve7o4s4jo77rluaf456qdzrtwmkq2xhra |
| Canonical-Ubuntu-16.04-2017.06.28-0                     | ocid1.image.oc1.phx.aaaaaaaak2idogwetkehtdvo7m673ojuucpfxhybd3ehun7izzgjqi4c4gga |
| Canonical-Ubuntu-16.04-2017.05.16-0                     | ocid1.image.oc1.phx.aaaaaaaae3a3oedsmmwsqu4dsrzntekefgq7vosngn4r6u6n5mis7dwpxxpa |
| Canonical-Ubuntu-14.04-2017.08.22-0                     | ocid1.image.oc1.phx.aaaaaaaa2wjumduuoq6rqprrsmgu53eeyzp47vjztn355tkvsr3m2p57woqq |
| Canonical-Ubuntu-14.04-2017.07.10-0                     | ocid1.image.oc1.phx.aaaaaaaaelnit3ag2zy3u5664shbjqgl6c33g2i436wix6xb5tqcsa7klnoa |
+---------------------------------------------------------+----------------------------------------------------------------------------------+

JSONのJMESPath問合せ言語の詳細については、JMESPathを参照してください。

高度なJSONオプション

コマンド・オプションとコマンドの正しいJSON形式を取得できます。

  • コマンド・オプションの場合は、--generate-param-json-inputを使用して、JSONを取得するコマンド・オプションを指定します。 セキュリティ・ルールを作成または更新するためのJSONを生成するには、次のコマンドを実行します。

    oci network security-list create --generate-param-json-input ingress-security-rules
    コマンドからのレスポンス
  • コマンド全体については、--generate-full-command-json-inputを使用してください。 インスタンスを起動するためのJSONを生成するには、次のコマンドを実行します。

    oci compute instance launch --generate-full-command-json-input
    コマンドからのレスポンス

JSON入力の優先順位

CLIは、コマンド・ラインで引数をファイル入力と組み合わせることをサポートしています。 ただし、ファイルとコマンド・ラインに同じ値が指定されている場合は、コマンド・ラインが優先されます。

複雑な入力にJSONファイルの使用

複雑な入力は、コマンド・ラインから参照することで、ファイルから渡すことができます。 Windowsユーザーの場合、JSONテキストをエスケープする必要がなくなります。 file://プレフィクスを使用して、ファイルへのパスを指定します。

パスのタイプ

例としてtestfile.jsonを使用すると、以下のタイプのパスがサポートされます。

  • 同じディレクトリからの相対パス。 : file://testfile.jsonおよびfile://relative/path/to/testfile.json
  • Linux、MacOS、Unix上の絶対パス : file:///absolute/path/to/testfile.json
  • Windows上の完全なファイル・パス : file://C:\path\to\testfile.json
ノート

ファイル・パスの拡張

"~/""、"./"、"../"などのファイル・パス拡張がサポートされています。 Windowsでは、"~/""式は、%USERPROFILE%環境変数に格納されているユーザー・ディレクトリに展開されます。 パスでの環境変数の使用もサポートされています。

ファイルの場所

以下のファイルのロケーションがサポートされています。

  • ホーム・ディレクトリ。

    oci os bucket create -ns mynamespace --name mybucket --compartment-id ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga --metadata file://~/testfile.json
  • カレント・ディレクトリ

    oci os bucket create -ns mynamespace --name mybucket --compartment-id ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga --metadata file://testfile.json
  • /tmpディレクトリ(Linux、Unix、またはMacOS)。

    oci os bucket create -ns mynamespace --name mybucket --compartment-id ocid1.compartment.oc1..aaaaaaaarhifmvrvuqtye5q66rck6copzqck3ukc5fldrwpp2jojdcypxfga --metadata file:///tmp/testfile.json
  • C:\tempディレクトリ(Windows)。

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

JSONファイルを入力として使用する例

このセクションの例では、コマンド・オプションとコマンド全体に対して生成されたJSONを使用しています。 JSONはファイルに保存され、編集され、コマンド・ライン入力として使用されます。

コマンド・オプションにファイル入力の使用

このエンド・ツー・エンドの例は、サブネットを作成するために使用されるセキュリティ・リストidオプションのJSONを生成する方法を示しています。 JSONはファイルに保存され、編集され、コマンド・ライン入力として使用されます。

セキュリティ・リスト・オプションの入力としてJSONファイルを使用

全体コマンドにファイル入力を使用

このエンド・ツー・エンドの例は、仮想クラウド・ネットワーク(VCN)を作成するためにJSONを生成する方法を示しています。 JSONはファイルに保存され、編集され、コマンド・ライン入力として使用されます。

入力としてJSONファイルを使用してVCNを作成

高度な例

次の例は、CLIを使用してOracle Cloud Infrastructureで複雑なタスクを完了する方法を示しています。

Object Storageの使用

Object Storageサービスでいくつかのオブジェクト操作にCLIを使用できます。

ファイルのアップロードとダウンロード

オブジェクトはファイルまたはコマンド・ライン(STDIN)からアップロードすることができ、ファイルまたはコマンド・ライン(STDOUT)にダウンロードできます。

オブジェクトをアップロードする:

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

コマンド・ラインからオブジェクトの内容をアップロードする(STDIN):

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

オブジェクトをダウンロードする:

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

オブジェクトの内容をコマンド・ラインに出力する(STDOUT):

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

Object Storageにおける一括操作

CLIは、Object Storageで次の一括操作をサポートしています:

  • ディレクトリとそのすべてのサブディレクトリ内のファイルをバケットにアップロード

    # Upload all the files in a directory.
    oci os object bulk-upload -ns mynamespace -bn mybucket --src-dir path/to/upload/directory
  • バケット内のすべてのオブジェクト、または指定したプレフィクスに一致するすべてのオブジェクトをダウンロード

    # 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
  • バケット内のすべてのオブジェクト、または指定したプレフィクスに一致するすべてのオブジェクトを削除

    # 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

バルク操作では、次のようないくつかのオプションがサポートされています:

  • --overwriteまたは--no-overwriteを使用してファイル/オブジェクトを上書きまたはスキップします。 (注意: これらのオプションのいずれにも合格しない場合は、上書きするものがあるたびに確認を求められます。
  • --prefixおよび/または--delimiterを使用して、削除、アップロード、またはダウンロード操作を制限
  • --dry-runで一括削除をプレビュー

一括操作のコマンドの詳細については、次のヘルプ・コマンドを実行してください:

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

Object Storageでのマルチパート操作

Object Storageのマルチパート操作には、オブジェクトのアップロードとダウンロードが含まれます。

マルチパート・アップロード

大きなファイルを複数の部分でObject Storageにアップロードすると、アップロードを高速化できます。 デフォルトでは、128 MiBより大きいファイルはマルチパート操作を使用してアップロードされます。 このデフォルトは、--no-multipartオプションを使用して変更できます。

oci os object putコマンドには、次のオプションを構成できます:

  • オブジェクトが128 MiBより大きい場合、--no-multipartは自動マルチパート・アップロードを無効にします。 オブジェクトは、サイズに関係なく、単一の部分としてアップロードされます。

  • MiBの--part-sizeを使用して、マルチパート操作で使用します。 デフォルトのパーツ・サイズは128 MiBで、指定するパーツ・サイズは10 MiBより大きくする必要があります。 オブジェクトが--part-sizeより大きい場合、オブジェクトは複数の部分にアップロードされます。
  • --parallel-upload-countを使用して、実行する並列操作の数を指定します。 この値を使用して、リソースとアップロード時間のバランスをとることができます。 値を大きくすると時間は短縮されますが、システム・リソースとネットワーク帯域幅が消費されます。 デフォルト値は10です。

--resume-putコマンドを使用すると、アップロードが中断された場合に大きなファイルのアップロードを再開できます。

ノート

STDINからのマルチパート・アップロード

STDINからアップロードされたオブジェクトは、複数の部分にアップロードされます。 オブジェクトのコンテンツが10 MiBより小さい場合、アップロードは1パートのみで、MultipartUpload APIがアップロードに使用されます。 STDINからアップロードするときに--no-multipartを指定すると、エラーが発生します。

次の例は、オブジェクトが200 MiBより大きい場合のマルチパート・アップロードのコマンドを示しています。

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

マルチパート・アップロードの詳細については、「マルチパート・アップロードの使用」を参照してください。

マルチパート・ダウンロード

大きなファイルはObject Storageから複数の部分でダウンロードしてダウンロードを高速化できます。

oci os object getコマンドには、次のオプションを構成できます:

  • --multipart-download-thresholdを使用すると、オブジェクトを複数の部分にダウンロードする必要があるサイズをMiB単位で指定できます。 このサイズは128 MiB以上でなければなりません。
  • ダウンロード部分に使用するMiBの--part-size これにより、要件に応じて、より多くの(より小さいサイズの)部品またはより少ない(より大きなサイズの)部品を柔軟に使用できます。 たとえば、電力とネットワークの帯域幅をコンピュートします。 デフォルトの最小部品サイズは120 MiBです。
  • --parallel-download-countでは、同時にダウンロードするパーツの数を指定できます。 値を大きくすると時間は短縮されますが、システム・リソースとネットワーク帯域幅が消費されます。 デフォルト値は10です。

次の例は、500 MiBを超えるサイズのオブジェクトをダウンロードするコマンドを示しています。 オブジェクトは128 MiBの部分にダウンロードされます。

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