第9章 オブジェクト・ストレージ
- 9.1 オブジェクト・ストレージ
- 9.2 バケットの管理
-
9.3 ストレージ・オブジェクトの管理
- 9.3.1 オブジェクト
- 9.3.2 バケット内のオブジェクトの表示
- 9.3.3 フォルダまたはSubFolderの作成
- 9.3.4 オブジェクトのアップロード
- 9.3.5 マルチパート・アップロードの実行
- 9.3.6 未完了または失敗したマルチパート・アップロードの一部のリスト
- 9.3.7 マルチパート・アップロードの取消
- 9.3.8 バルク・オブジェクト・アップロードの実行
- 9.3.9 別のバケットへのオブジェクトのコピー
- 9.3.10 オブジェクトのダウンロード
- 9.3.11 マルチパート・ダウンロードの実行
- 9.3.12 一括ダウンロードの実行
- 9.3.13 オブジェクトの削除
- 9.3.14 バケット内のすべてのオブジェクトの一括削除の実行
- 9.4 オブジェクトのバージョニングの管理
- 9.5 事前認証済リクエストの使用
- 9.6 保持ルールの定義
9.1 Object Storage
Object Storageサービスは、信頼性とコスト効率に優れたデータ耐久性を実現するストレージ・プラットフォームです。
Object Storageサービスは、アナリティク・データやイメージやビデオなどのリッチ・コンテンツなど、あらゆるコンテンツ・タイプの非構造化データを格納します。
データはオブジェクトとしてバケットに格納されます。 バケットは、テナンシ内のコンパートメントに関連付けられます。
Object Storageネームスペースは、すべてのバケットとオブジェクトの最上位コンテナとして機能します。 アカウントの作成時に、各テナントには、一意のシステム生成および不変のオブジェクト・ストレージ・ネームスペース名が1つ割り当てられます。 ネームスペースはすべてのコンパートメントにまたがります。
Object Storageを使用すると、インターネットから直接またはクラウド・アプライアンス内から、安全かつセキュアにデータを格納または取得できます。
概念の詳細は、「Oracle Private Cloud Appliance概要ガイド」の「オブジェクト・ストレージ」の項を参照してください
この章では、オブジェクト・ストレージの管理手順について説明します。
9.2 バケットの管理
9.2.1 オブジェクト・ストレージ・バケット
バケットは、オブジェクト・ストレージ・ネームスペース内のコンパートメントにオブジェクトを格納するためのコンテナです。
バケットは1つのコンパートメントに関連付けられています。 コンパートメントには、バケットおよびバケット内のすべてのオブジェクトに対して実行できるアクションを示すポリシーがあります。
バケットに他のバケットを含めることはできません。
概念の詳細は、「Oracle Private Cloud Appliance概要ガイド」の「オブジェクト・ストレージ」の項を参照してください。
9.2.2 オブジェクト・ストレージ・ネームスペースの取得
Object Storageネームスペースは、すべてのバケットとオブジェクトの最上位コンテナとして機能します。 各テナントには、一意のシステム生成および不変オブジェクト・ストレージ・ネームスペース名が1つ割り当てられます。 ネームスペースはすべてのコンパートメントにまたがります。
このステップを使用して、オブジェクト・ストレージ・ネームスペース名を表示します。
-
ユーザー名(右上隅)をクリックし、Tenancyを選択します。
ネームスペース文字列は、オブジェクト・ストレージ設定の下にリストされます。
9.2.3 バケットのリスト
-
ナビゲーション・メニューのオブジェクト・ストレージで、オブジェクト・ストレージをクリックします。
表示しているコンパートメント内のバケットのリストが表示されます。
-
探しているバケットが表示されない場合は、正しいコンパートメントを表示していることを確認します(ページの上部にあるリストから選択します)。
ページには、そのコンパートメントのリソースのみが表示されます。
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
コンパートメントOCID (
oci iam compartment list
)
-
-
次のコマンドを実行します
構文(1行に入力):
oci os bucket list --namespace-name
<object_storage_namespace>
--compartment-id<compartment_OCID>
例:
oci os bucket list \ --namespace-name examplenamespace \ --compartment-id ocid.compartment.….….….uniqueID { "data": [ { "compartment-id": "ocid.compartment.….….….uniqueID", "created-by": "ocid1.user.….….….uniqueID", "defined-tags": null, "etag": "cdb5bc11561e476cb0d8aa5b8f8668f6", "freeform-tags": null, "name": "MyBucket", "namespace": "export/examplenamespace", "time-created": "2021-05-04T18:56:39+00:00" }, { "compartment-id": "ocid.compartment.….….….uniqueID", "created-by": "ocid1.user.….….….uniqueID", "defined-tags": null, "etag": "aa7642fec45729ce7cb8b321d3ee1463", "freeform-tags": null, "name": "JoesBucket", "namespace": "export/examplenamespace", "time-created": "2021-05-04T20:26:33+00:00" } ] }
9.2.4 バケット詳細の表示
このタスクを使用して、バケットの詳細を表示します。
-
ナビゲーション・メニューのオブジェクト・ストレージで、オブジェクト・ストレージをクリックします。
表示しているコンパートメント内のバケットのリストが表示されます。
-
ページ上部のリストから、バケットが存在するコンパートメントを選択します。
-
バケット名をクリックして詳細を表示します。
-
表示またはコピーをクリックします。
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照
-
-
次のコマンドを実行します
構文(1行に入力):
oci os bucket get --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
OCIDは出力で
id
と識別されます。例:
oci os bucket get \ --namespace-name examplenamespace \ --bucket-name MyBucket { "data": { "approximate-count": null, "approximate-size": null, "compartment-id": "ocid.compartment.….….….uniqueID", "created-by": "ocid1.user.….….….uniqueID", "defined-tags": null, "etag": "cdb5bc11561e476cb0d8aa5b8f8668f6", "freeform-tags": null, "id": ocid.bucket.….….….uniqueID, "is-read-only": null, "kms-key-id": null, "metadata": null, "name": "MyBucket", "namespace": "export/examplenamespace", "object-events-enabled": null, "object-lifecycle-policy-etag": null, "public-access-type": "NoPublicAccess", "replication-enabled": null, "storage-tier": "Standard", "time-created": "2021-05-04T18:56:39+00:00", "versioning": null }, "etag": "cdb5bc11561e476cb0d8aa5b8f8668f6" }
9.2.5 バケットの作成
オブジェクト・ストレージ・バケットを作成するには、この手順を使用します。
バケットを作成すると、パブリック・アクセスなしでバケットが作成されます。 バケットをパブリックに使用可能にするには、第9.5項、「事前認証済リクエストの使用」を参照してください。
-
ナビゲーション・メニューで、Object Storageをクリックし、Object Storageをクリックします。
-
「バケットの作成」をクリックします。
-
次の詳細を入力します。
-
名前: バケットの名前を入力します。
テナンシのオブジェクト・ストレージ・ネームスペース内で一意の名前を指定します。
-
コンパートメントに作成: このバケットを作成するコンパートメントを選択します。
-
オブジェクト・バージョニングの有効化: オプションで、オブジェクト・バージョニングを有効にできます。
詳細は、「オブジェクト・ストレージ」を参照してください。
-
タグ付け: オプションで、このリソースに1つ以上のタグを追加します。
タグを適用するかどうかわからない場合は、このオプションをスキップします(後でタグを適用できます)。
リソースのタグ付けの詳細は、「タグ付けの概要」を参照してください。
-
-
「バケットの作成」をクリックします。
バケットがすぐに作成され、オブジェクトのアップロードを開始できます。 第9.3.4項、「オブジェクトのアップロード」を参照してください。
-
次のコマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
コンパートメントOCID (
oci iam compartment list
) -
バケット名: このバケットの名前。
-
-
次のコマンドを実行します
構文(1行に入力):
oci os bucket create --namespace-name
<object_storage_namespace>
--compartment-id<compartment_OCID>
--name<bucket_name>
バケットがすぐに作成され、オブジェクトのアップロードを開始できます。 第9.3.4項、「オブジェクトのアップロード」を参照してください。
例:
oci os bucket create \ --namespace-name examplenamespace \ --compartment-id ocid.compartment.….….….uniqueID \ --name MyBucket { "data": { "approximate-count": null, "approximate-size": null, "compartment-id": "ocid1.compartment.….….….uniqueID", "created-by": "ocid1.user.….….….uniqueID", "defined-tags": null, "etag": "b78d4193ab3eb2270b1373aa52b443a1", "freeform-tags": null, "id": null, "is-read-only": null, "kms-key-id": null, "metadata": null, "name": "MyBucket", "namespace": "export/examplenamespace", "object-events-enabled": null, "object-lifecycle-policy-etag": null, "public-access-type": "NoPublicAccess", "replication-enabled": null, "storage-tier": "Standard", "time-created": "2021-06-11T20:11:02+00:00", "versioning": null }, "etag": "b78d4193ab3eb2270b1373aa52b443a1" }
9.2.6 別のコンパートメントへのバケットの移動
ソース・コンパートメントとターゲット・コンパートメントの両方が同じテナンシであるかぎり、バケットをコンパートメント間で移動できます。 これには、あるコンパートメント・レベルからソース・コンパートメント内のサブ・レベルへのバケットの移動が含まれます。
-
次のコマンドに必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケットの移動先のコンパートメントのコンパートメントOCID (
oci iam compartment list
) -
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照
-
-
バケットを移動するには、次のコマンドを実行します。
構文(1行に入力):
oci os bucket update --namespace-name
<object_storage_namespace>
--compartment-id<target_compartment_id>
--bucket-name<bucket_name>
例:
oci os bucket update \ --namespace-name examplenamespace \ --compartment-id ocid1.compartment.….….….target-compartmentID \ --bucket-name MyBucket { "data": { "approximate-count": null, "approximate-size": null, "compartment-id": "ocid1.compartment.….….….target-compartmentID", "created-by": "ocid1.user.….….….uniqueID", "defined-tags": null, "etag": "5d72fb7ac4385e24f42ac830bc6490ca", "freeform-tags": null, "id": null, "is-read-only": null, "kms-key-id": null, "metadata": null, "name": "MyBucket", "namespace": "export/examplenamespace", "object-events-enabled": null, "object-lifecycle-policy-etag": null, "public-access-type": "NoPublicAccess", "replication-enabled": null, "storage-tier": "Standard", "time-created": "2021-06-02T20:44:57+00:00", "versioning": null }, "etag": "5d72fb7ac4385e24f42ac830bc6490ca" }
-
このコマンドを実行して、バケットが正しいコンパートメントに移動したことを確認します:
構文(1行に入力):
oci os bucket list --namespace-name
<object_storage_namespace>
--compartment-id<target_compartment_OICD>
例:
oci os bucket list \ --namespace-name examplenamespace \ --compartment-id ocid1.compartment.….….….target-compartmentID { "data": [ { "compartment-id": "ocid1.compartment.….….….target-compartmentID", "created-by": "ocid1.user.….….….uniqueID", "defined-tags": null, "etag": "5d72fb7ac4385e24f42ac830bc6490ca", "freeform-tags": null, "name": "MyBucket", "namespace": "export/examplenamespace", "time-created": "2021-06-02T20:44:57+00:00" }
9.2.7 バケットの削除
削除されたバケットはリカバリできません。
空のバケットを完全に削除できます。 次のいずれかを含むバケットは削除できません:
-
すべてのオブジェクト
-
オブジェクトの前のバージョン
-
マルチパート・アップロードが進行中です
-
事前認証済リクエスト
バージョン対応バケット内のオブジェクトを削除すると、そのオブジェクトの以前のバージョンが作成されます。 削除済オブジェクトの表示を選択して、バケットの削除を妨げる可能性のあるオブジェクト・バージョンを表示します。 詳細は、第9.4項、「オブジェクト・バージョニングの管理」を参照してください。
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照
-
-
次のコマンドを実行します
構文(1行に入力):
oci os bucket delete --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
例:
oci os bucket delete \ --namespace-name examplenamespace \ --bucket-name MyBucket Are you sure you want to delete this resource? [y/N]: y
9.3 ストレージ・オブジェクトの管理
- 9.3.1 オブジェクト
- 9.3.2 バケット内のオブジェクトの表示
- 9.3.3 フォルダまたはSubFolderの作成
- 9.3.4 オブジェクトのアップロード
- 9.3.5 マルチパート・アップロードの実行
- 9.3.6 未完了または失敗したマルチパート・アップロードの一部のリスト
- 9.3.7 マルチパート・アップロードの取消
- 9.3.8 バルク・オブジェクト・アップロードの実行
- 9.3.9 別のバケットへのオブジェクトのコピー
- 9.3.10 オブジェクトのダウンロード
- 9.3.11 マルチパート・ダウンロードの実行
- 9.3.12 一括ダウンロードの実行
- 9.3.13 オブジェクトの削除
- 9.3.14 バケット内のすべてのオブジェクトの一括削除の実行
9.3.1 オブジェクト
Object Storageサービスでは、オブジェクトは、オブジェクト・ストレージ・ネームスペース内のコンパートメント内のバケットにアップロードするファイルまたは非構造化データです。
オブジェクトには、マルチメディア・ファイル、データ・バックアップ、静的webコンテンツまたはログなど、任意のタイプのデータを指定できます。 最大10個のTiBのオブジェクトを格納できます。 オブジェクトは単一のエンティティとして処理されます。 オブジェクトにデータを編集したり追加することはできませんが、オブジェクト全体を置換することはできます。
Object Storageは、特定のコンピュート・インスタンスに関連付けられていません。 インターネット接続、オブジェクト・ストレージ・エンドポイントへのアクセスおよび認可がある場合、Oracle Private Cloud Applianceのコンテキストの内部または外部のどこからでもデータにアクセスできます。
概念の詳細は、「Oracle Private Cloud Appliance概要ガイド」の「オブジェクト・ストレージ」の項を参照してください。
9.3.2 バケット内のオブジェクトの表示
-
ナビゲーション・メニューのオブジェクト・ストレージで、オブジェクト・ストレージをクリックします。
-
オブジェクトを含むバケットを含むコンパートメントを選択します。
バケットのリストが表示されます。
-
オブジェクトを含むバケット名をクリックします。
-
リソースの下のオブジェクトをクリックします。
-
バケット内のオブジェクトのリスト
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照
-
-
次のコマンドを入力します。
構文(1行に入力):
oci os object list --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
例:
oci os object list \ --namespace-name examplenamespace \ --bucket-name MyBucket { "data": [ { "etag": null, "md5": "Ucf+fZbCK/RN5gGsEl7G5w==", "name": "eventslogreference.htm", "size": 1363, "time-created": "2021-06-01T17:57:16+00:00", "time-modified": null } ], "prefixes": [] }
-
-
オブジェクト詳細のリスト
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
オブジェクト名(
oci os object list)
、前の例を参照)
-
-
次のコマンドを実行します
構文(1行に入力):
oci os object head --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--name<object_name>
例:
oci os object head \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --name eventslogreference.htm { "access-control-allow-credentials": "true", "access-control-allow-methods": "POST,PUT,GET,HEAD,DELETE", "access-control-allow-origin": "*", "access-control-expose-headers": "Content-Type,Etag,last-modified,Content-MD5,Content-Length,opc-client-request-id,opc-request-id,Access-Control-Allow-Origin,Access-Control-Allow-Methods,Access-Control-Allow-Credentials", "connection": "Keep-Alive", "content-length": "1363", "content-md5": "Ucf+fZbCK/RN5gGsEl7G5w==", "content-type": "application/octet-stream", "date": "Tue, 01 Jun 2021 18:05:32 GMT", "etag": "33ed1aff724eac56f00616552fc61f3e", "keep-alive": "timeout=5, max=100", "last-modified": "2021-06-01T17:57:16.000Z", "opc-client-request-id": "8965F8B5A9B84F00B51D4C965F029230", "opc-request-id": "txae7c2c9aa7094f16adee8-0060b676ec", "server": "Apache", "x-content-type-options": "nosniff" }
-
9.3.3 フォルダまたはSubFolderの作成
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
オブジェクト・ファイルのロケーション
-
オブジェクト名
-
-
次のコマンドを実行します
構文:
oci os object put --namespace-name <object_storage_namespace> --bucket-name
<bucket_name>
--file<file_location>
--name<object_name>
例:
oci os object put \ --namespace-name examplenamespace \ --bucket-name Bucket1_objv-enabl \ --file /home/log_files/install.log \ --name /home/log_files/install.log
oci os object put \ --namespace-name examplenamespace \ --bucket-name Bucket1_objv-enabl \ --file myfile \ --name /home/log_files/install.log
oci os object put \ --namespace-name examplenamespace \ --bucket-name Bucket1_objv-enabl \ --file /home/log_files/install.log \ --name /home/log_files/install.log Uploading object [####################################] 100% { "etag": "bae04836d4ea5d521c23cbee70566cf2", "last-modified": "2021-05-13T15:37:18.000Z", "opc-content-md5": "GWZbZ8CXPCjLcPxBs6cPCQ==" }
9.3.4 オブジェクトのアップロード
オブジェクトは、1つのパートまたは複数のパートとしてアップロードできます。 --no-multipart
オプションを使用して、単一のパートとしてアップロードします。 マルチパート・アップロードの詳細は、第9.3.5項、「マルチパート・アップロードの実行」を参照してください。
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
オブジェクト・ファイルのロケーション
-
-
次のコマンドを実行します
構文(1行に入力):
oci os object put --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--file<file_location>
<file_location>
は、C:\workspace\Uploads\MyFile.txt
や/home/user/Documents/Uploads/MyFile.txt
など、アップロードされるオブジェクトのソース・ディレクトリ・パスです。例:
oci os object put \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --file /home/user/Documents/Uploads/MyFile.txt Uploading object [####################################] 100% { "etag": "33ed1aff724eac56f00616552fc61f3e", "last-modified": "2021-06-01T17:57:16.000Z", "opc-content-md5": "Ucf+fZbCK/RN5gGsEl7G5w==" }
元のファイル名を使用してオブジェクトをアップロードする例:
oci os object put \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --file C:\workspace\Uploads\MyFile.txt \ --no-multipart { "etag": "cadb9f8a-3292-45e6-a1e8-f075699fb619", "last-modified": "Fri, 11 Dec 2020 14:04:19 GMT", "opc-content-md5": "9P61OSaYe4fXxaeK8siuDw==" }
9.3.5 マルチパート・アップロードの実行
マルチパート・アップロードでは、オブジェクトの個々のパートを並行してアップロードすることで、アップロードに費やす時間を短縮できます。
マルチパート・アップロードは、1つのアップロード操作に対して大きすぎるオブジェクトに対応します。 オブジェクトのパートが50GiBを超えることはできません。
個々のパートのアップロードを一時停止し、スケジュールとリソースで許可されているときにアップロードを再開できます。
オブジェクトをアップロードするには、--part-size
フラグを指定してoci os object put
を実行します。 --part-size
値は、各パートのサイズ(MiBs)を表します。 Object Storageでは、最後にアップロードされたパートの最小パート・サイズ制限が免除されます。 --part-size
値は整数である必要があります。
オプションで、--parallel-upload-count
フラグを使用して、許可されるパラレル・アップロードの最大数を設定できます。
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
オブジェクト・ファイルのロケーション
-
-
コマンドを実行します。
構文(1行に入力):
oci os object put --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--file<file_location>
--parallel-upload-count<maximum_number_parallel_uploads>
--part-size<upload_part_size_in_MB>
--force例:
oci os object put \ --namespace-name examplenamespace \ --file /boot/initramfs-0-rescue-e542c19f0fbf4e41a41428d933a7357f.img \ --parallel-upload-count 5 \ --part-size 15 \ --force Upload ID: a21bba2c-8922-4b9c-a98a-9ef3569c0138 Split file into 6 parts for upload. Uploading object [####################################] 100% { "etag": "0964effc8dc4394fd317f03a025ae5d0", "last-modified": "2021-05-11T21:35:19", "opc-multipart-md5": "UIVRhiwSHY6o0E4pi/yfGg==-6" }
9.3.6 未完了または失敗したマルチパート・アップロードの一部のリスト
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照
-
-
次のコマンドを実行します
構文(1行に入力):
oci os multipart list --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
例:
oci os multipart list --namespace-name examplenamespace \ --bucket-name MyBucket \ { "data": [ { "bucket": "MyBucket", "namespace": "examplenamespace", "object": "MyObject", "time-created": "2019-07-25T21:55:21.973000+00:00", "upload-id": "0b7abd48-9ff2-9d5f-2034-63a02fdd7afa" }, { "bucket": "MyBucket", "namespace": "examplenamespace", "object": "MyObject", "time-created": "2019-07-25T21:53:09.246000+00:00", "upload-id": "1293ac9d-83f8-e055-a5a7-d1e13277b5c0" }, { "bucket": "MyBucket", "namespace": "examplenamespace", "object": "MyObject", "time-created": "2019-07-25T21:46:34.981000+00:00", "upload-id": "33e7a875-9e94-c3bc-6577-2ee5d8226b53" } ...
9.3.7 マルチパート・アップロードの取消
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
オブジェクト名 (
oci os object list
)、第9.3.2項、「バケット内のオブジェクトの表示」を参照 -
アップロードID (
oci os multipart list
)、第9.3.6項、「未完了または失敗したマルチパート・アップロードの一部のリスト」を参照
-
-
次のコマンドを実行します
構文(1行に入力):
oci os multipart abort --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--object-name<object_name>
--upload-id<upload_ID>
例:
oci os multipart abort \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --object-name MyObject \ --upload-id 22d5f6d2-8e03-48ca-8593-0192d25770b8 "data": [ { "etag": "dd434179cfbc22458a9739096ec43226", "md5": "PBrT093rZrcSDwQsKh9azQ==", "part-number": 13, "size": 15728640 } ], "opc-next-page": "00013" } WARNING: Are you sure you want to permanently remove this incomplete upload? [y/N]: y
9.3.8 バルク・オブジェクト・アップロードの実行
階層の特定のレベルのバルク操作は、上のどのレベルのオブジェクトにも影響を与えません。
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
ソース・ディレクトリのロケーション -
C:\workspace\Upload\ or /home/user/Documents/Upload
などのアップロード・ディレクトリ・パスです。 ソース・ディレクトリにサブディレクトリがある場合、サブディレクトリ名の前にそれらのサブディレクトリに格納されているファイルの名前がスラッシュ(/
)文字で区切られます。 たとえば、maple.jpg
という名前のファイルがサブディレクトリtrees
に格納されている場合、ファイルがアップロードされると、オブジェクト・ストレージによって名前trees/maple.jpg
がオブジェクトに割り当てられます。
-
-
次のコマンドを実行します
構文(1行に入力):
oci os object bulk-upload --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--src-dir<source_directory_location>
例:
oci os object bulk-upload --namespace-name examplenamespace \ --bucket-name MyBucket \ --src-dir /home/log-dir/ Uploaded Jan-logs [####################################] 100% Uploaded Feb-logs [####################################] 100% Uploaded Mar-logs [####################################] 100% Uploaded Apr-logs [####################################] 100% { "skipped-objects": [], "upload-failures": {}, "uploaded-objects": { "Jan-logs": { "etag": "33ed1aff724eac56f00616552fc61f3e", "last-modified": "2021-06-01T20:42:50.000Z", "opc-content-md5": "Ucf+fZbCK/RN5gGsEl7G5w==" }, "Feb-logs": { "etag": "e1875449257cc6ac6ab93cc9c7921c87", "last-modified": "2021-06-01T20:42:50.000Z", "opc-content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==" }, "Mar-logs": { "etag": "c784ac5216d889f55138ecfb428eee3c", "last-modified": "2021-06-01T20:42:51.000Z", "opc-content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==" }, "Apr-logs": { "etag": "3b4571c73bdb9e44bec0512a5e48fba7", "last-modified": "2021-06-01T20:42:51.000Z", "opc-content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==" } } }
9.3.9 別のバケットへのオブジェクトのコピー
ターゲット・バケットが同じリージョン内にあるかぎり、オブジェクトを別のバケットにコピーできます。
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
ソース・オブジェクトの名前(
oci os object list
)。第9.3.2項、「バケット内のオブジェクトの表示」を参照してください -
宛先バケットの名前(
oci os bucket list
)。第9.2.3項、「バケットのリスト」を参照してください -
新しい宛先のオブジェクトの名前
-
-
次のコマンドを実行します
構文(1行に入力):
oci os object copy --namespace-name
<object_storage_namespace>
--bucket-name<source_bucket_name>
--source-object-name<source_object>
--destination-bucket<destination_bucket_name>
--destination-object-name<destination_object_name>
例:
oci os object copy --namespace-name examplenamespace --bucket-name MyBucket --source-object-name Compute_Logs.tar.gz --destination-bucket Bucket-log-backups --destination-object-name Compute_Logs.tar.gz.backup
コピーされたオブジェクトがバケット内にあることを確認します。
oci os object list --namespace-name examplenamespace --bucket-name Bucket-log-backups { "data": [ { "etag": null, "md5": "XzYkstrjaprhbZyemalRbQ==", "name": "Compute_Logs.tar.gz.backup", "size": 132631, "time-created": "2021-04-01T21:00:55+00:00", "time-modified": null } ], "prefixes": [] }
9.3.10 オブジェクトのダウンロード
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
オブジェクト名 (
oci os object list
)、第9.3.2項、「バケット内のオブジェクトの表示」を参照 -
オブジェクト・ファイルのロケーション
-
-
次のコマンドを実行します
構文(1行に入力):
oci os object get --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--name<object_name>
--file<file_location>
<file_location>
は、C:\workspace\Downloads\MyFile.txt
や/home/user/Documents/Downloads/MyFile.txt
など、ダウンロードされるファイルの宛先パスです。例:
oci os object get \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --name photos \ --file /home/photos_backup Downloading object [#-----------------------------------] 100% # ls -l total 8 -rw-r--r-- 1 root root 1363 Jun 1 17:56 photo1 -rw-r--r-- 1 root root 1363 Jun 1 21:40 photo1_backup -rw-r--r-- 1 root root 0 Jun 1 20:42 photo2 -rw-r--r-- 1 root root 0 Jun 1 20:42 photo3 -rw-r--r-- 1 root root 0 Jun 1 20:42 photo4
9.3.11 マルチパート・ダウンロードの実行
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
オブジェクト名 (
oci os object list
)、第9.3.2項、「バケット内のオブジェクトの表示」を参照 -
オブジェクト・ファイルのロケーション
-
ダウンロードのバイト範囲。 マルチパート・オブジェクトのダウンロードは、「RFC 7233、セクション2.1」で定義されているバイト・レンジ・リクエスト標準を使用して使用できます
-
-
コマンドを実行します。
構文(1行に入力):
oci os object get --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--name<object_name>
--file<file_location>
--range bytes=<byte_range>
例:
oci os object get \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --name MyObject.mp4 \ --file c:\workspace\Downloads\MyObject.mp4 \ --range bytes=0-50 cusobjstorenamespace --range bytes=0-50 Downloading object [#-----------------------------------] 3% # ls -l total 12 -rw-r--r-- 1 root root 1363 Jun 1 17:56 abc.mp41 -rw-r--r-- 1 root root 51 Jun 1 21:50 def.mp4 -rw-r--r-- 1 root root 1363 Jun 1 21:40 ghi.mp4 -rw-r--r-- 1 root root 0 Jun 1 20:42 jkl.mp4 -rw-r--r-- 1 root root 0 Jun 1 20:42 mno.mp4 -rw-r--r-- 1 root root 0 Jun 1 20:42 pqr.mp4
9.3.12 一括ダウンロードの実行
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
ダウンロード・ディレクトリ。
<download_directory_location>
は、ダウンロードされるオブジェクトの宛先パス(C:\workspace\Downloads\
や/home/user/Documents/Downloads/
など)です。 ディレクトリが存在しない場合、Object Storageはコマンドの実行時にディレクトリを作成します。
-
-
コマンドを実行します。
構文(1行に入力):
oci os object bulk-download --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--download-dir<download_directory_location>
例:
oci os object bulk-download \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --download-dir c:\workspace\Downloads Downloaded MyFile.txt [####################################] 100% Downloaded logFile.log [####################################] 100% { "download-failures": {}, "skipped-objects": [] }
9.3.13 オブジェクトの削除
バケットまたはフォルダからオブジェクトを完全に削除できます。 ただし、オブジェクト・バージョニングを有効にしないかぎり、削除されたオブジェクトをリカバリすることはできません。 詳細は、第9.4項、「オブジェクト・バージョニングの管理」を参照してください。
アクティブな保持ルールを持つオブジェクトは削除できません。 詳細は、第9.6項、「保存ルールの定義」を参照してください。
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
オブジェクト名 (
oci os object list
)、第9.3.2項、「バケット内のオブジェクトの表示」を参照
-
-
構文(1行に入力):
oci os object delete --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--object-name<object_name>
例:
oci os object delete \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --object-name MyFile.txt Are you sure you want to delete this resource? [y/N]: y
9.3.14 バケット内のすべてのオブジェクトの一括削除の実行
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照
-
-
ファイルを実際に削除せずに一括削除コマンドによって影響を受けるファイルのリストを表示するには、
--dry-run
オプションを使用します。構文(1行に入力):
oci os object bulk-delete --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--dry-run例:
oci os object bulk-delete \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --dry-run { "delete-failures": {}, "deleted-objects": [ "MyFile.txt", "logFile.log" ] }
-
一括削除を実行するには:
構文(1行に入力):
oci os object bulk-delete --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
例:
oci os object bulk-delete \ --namespace-name examplenamespace \ --bucket-name MyBucket WARNING: This command will delete 2 objects. Are you sure you wish to continue? [y/N]:y Deleted MyRenamedFile.txt [####################################] 100% Deleted logFile.log [####################################] 100% { "delete-failures": {}, "deleted-objects": [ "MyFile.txt", "logFile.log" ] }
9.4 オブジェクトのバージョニングの管理
9.4.1 オブジェクト・バージョニング
オブジェクト・バージョニングは、偶発的または悪意のあるオブジェクトの更新、上書きまたは削除に対するデータ保護を提供します。
オブジェクト・バージョニングはバケット・レベルで有効化されます。 バージョニングは、新しいオブジェクトのアップロード、既存のオブジェクトの上書き、またはオブジェクトの削除が行われるたびにオブジェクト・バージョンを自動的に作成するようObject Storageに指示します。 オブジェクト・バージョニングは、バケット作成時以降で有効化できます。 バージョニング対応のバケットには、オブジェクトの多数のバージョンを含めることができます。 オブジェクトの最新バージョンは常に1つで、それ以前のバージョンは0つ以上あります。
概念の詳細は、「Oracle Private Cloud Appliance概要ガイド」の「オブジェクト・ストレージ」の項を参照してください。
9.4.1.1 バケットのオブジェクト・バージョニング・ステータスの決定
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照
-
-
コマンドを実行します。
構文(1行に入力):
oci os bucket get --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
"versioning"
行には、状態がリストされます。 例:oci os bucket get \ --namespace-name examplenamespace \ --bucket-name bucket-4-versioning { "data": { "approximate-count": null, "approximate-size": null, "compartment-id": "ocid1.compartment.….….….uniqueID", "created-by": "ocid1.user.….….….uniqueID", "defined-tags": null, "etag": "00b4edbb27012ae78a912428ad1e630c", "freeform-tags": null, "id": null, "is-read-only": null, "kms-key-id": null, "metadata": null, "name": "bucket-4-versioning", "namespace": "export/examplenamespace", "object-events-enabled": null, "object-lifecycle-policy-etag": null, "public-access-type": "NoPublicAccess", "replication-enabled": null, "storage-tier": "Standard", "time-created": "2021-06-10T18:39:12+00:00", "versioning": "Enabled" }, "etag": "00b4edbb27012ae78a912428ad1e630c" }
9.4.2 バケット作成時のバージョニングの有効化
オブジェクト・バージョニングは、偶発的または悪意のあるオブジェクトの更新と削除に対するデータ保護を提供します。
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
コンパートメントOCID (
oci iam compartment list -all
) -
バケット名: このバケットの名前。
-
-
構文(1行に入力):
oci os bucket create --namespace-name
<object_storage_namespace>
--compartment-id<target_compartment_id>
--name<bucket_name>
--versioning enabled例:
oci os bucket create \ --namespace-name examplenamespace \ --compartment-id ocid.compartment.….….….exampleuniqueID \ --name MyStandardBucket \ --versioning enabled { "data": { "approximate-count": null, "approximate-size": null, "compartment-id": "ocid1.compartment.….….….uniqueID", "created-by": "ocid1.user.….….….uniqueID", "defined-tags": null, "etag": "00b4edbb27012ae78a912428ad1e630c", "freeform-tags": null, "id": null, "is-read-only": null, "kms-key-id": null, "metadata": null, "name": "bucket-4-versioning", "namespace": "export/examplenamespace", "object-events-enabled": null, "object-lifecycle-policy-etag": null, "public-access-type": "NoPublicAccess", "replication-enabled": null, "storage-tier": "Standard", "time-created": "2021-06-10T18:39:12+00:00", "versioning": "Enabled" }, "etag": "00b4edbb27012ae78a912428ad1e630c" }
9.4.3 バージョニングの有効化、無効化または一時停止(バケット作成後)
オブジェクト・バージョニングは、偶発的または悪意のあるオブジェクトの更新と削除に対するデータ保護を提供します。
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
コンパートメントOCID (
oci iam compartment list -all
) -
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照
-
-
コマンドを実行します。
構文(1行に入力):
oci os bucket update --namespace-name
<object_storage_namespace>
--compartment-id<target_compartment_id>
--bucket-name<bucket_name>
--versioning<enabled | disabled | suspended>
--versioning
の場合は、いずれかのオプションを選択:enabled
、disabled
またはsuspended
。オブジェクト・バージョニングの有効化例:
oci os bucket update \ --namespace-name examplenamespace \ --compartment-id ocid.compartment.….….….uniqueID \ --bucket-name MyBucket \ --versioning Enabled { "data": { "approximate-count": null, "approximate-size": null, "compartment-id": "ocid1.compartment.….….….uniqueID", "created-by": "ocid1.user.….….….uniqueID", "defined-tags": null, "etag": "117f0608bdf83b9c7ea393db556a0ee4", "freeform-tags": null, "id": null, "is-read-only": null, "kms-key-id": null, "metadata": null, "name": "MyBucket", "namespace": "export/examplenamespace", "object-events-enabled": null, "object-lifecycle-policy-etag": null, "public-access-type": "ObjectRead", "replication-enabled": null, "storage-tier": "Standard", "time-created": "2021-06-02T17:06:18+00:00", "versioning": "Enabled" }, "etag": "117f0608bdf83b9c7ea393db556a0ee4" }
9.4.4 オブジェクト・バージョンおよび詳細の表示
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
コンパートメントOCID (
oci iam compartment list -all
) -
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照
-
-
コマンドを実行します。
構文(1行に入力):
oci os object list-object-versions --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
例:
oci os object list-object-versions \ --namespace-name examplenamespace \ --bucket-name MyBucket { "data": [ { "etag": null, "is-delete-marker": false, "md5": "3DI5GbLmKiRxY/ozWxyXHQ==", "name": "bucket-data", "size": 103, "time-created": "2021-06-02T22:20:25+00:00", "time-modified": null, "version-id": null }, { "etag": null, "is-delete-marker": false, "md5": "VIic5JncRWwDQj6CnsZ1Ww==", "name": "compute.log", "size": 4878456, "time-created": "2021-06-10T19:03:26+00:00", "time-modified": null, "version-id": "5f4ce7e8-656f-409a-b70a-ebfedddcfeda" } ], "prefixes": [] }
9.4.5 オブジェクトの前のバージョンの削除
バージョニングが有効な場合、特定のバージョンをターゲットとせずにオブジェクトを削除すると、リカバリ可能なオブジェクトの削除マーカーおよび以前のバージョンが作成されます。 ただし、オブジェクトの以前のバージョンを削除することは永続的な削除です。
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
コンパートメントOCID (
oci iam compartment list -all
) -
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
オブジェクト名 (
oci os object list
)、第9.3.2項、「バケット内のオブジェクトの表示」を参照
-
-
構文:
ノートオブジェクトの
version-id
がnull
の場合、オブジェクトのバージョンが1つのみであることを示します。 このオブジェクトを削除するには、--version-id
引数を省略します。oci os object delete --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--version-id<bucket_version_id>
--object-name<object_name>
例:
oci os object delete --namespace-name examplenamespace \ --bucket-name MyBucket \ --version-id 7f1f537d-ec9c-4706-867a-b1dae355c263 \ --object-name compute.log
9.4.6 削除されたオブジェクト・バージョンのリカバリ
削除されたオブジェクト・バージョンのリカバリは、オブジェクトの最新バージョンを削除したときに作成された削除マーカーを削除するのと同様に簡単です。 削除マーカーの直下にリストされているオブジェクトの前のバージョンが回復され、オブジェクトの最新バージョンになります。
-
バケット内のオブジェクトをリストします。 第9.4.4項、「オブジェクト・バージョンおよび詳細の表示」を参照してください。 出力で、
"is-delete-marker": true
を持つオブジェクト・バージョンを見つけます。削除マーカーを削除するには、deleteコマンドでそのオブジェクトのversion-idを使用します。
ノートオブジェクトの
version-id
がnull
の場合、オブジェクトのバージョンが1つのみであることを示します。 このオブジェクト・マーカーを削除するには、--version-id
引数を省略します。 -
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
コンパートメントOCID (
oci iam compartment list -all
) -
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
オブジェクト名 (
oci os object list
)、第9.3.2項、「バケット内のオブジェクトの表示」を参照 -
バージョンID (前のステップを参照)
-
-
構文:
oci os object delete --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--object-name<object_name>
--version-id<bucket_version_id>
例:
oci os object delete --namespace-name examplenamespace \ --bucket-name MyBucket --object-name application.log --version-id 6ce3eb93-8850-4732-8949-cb6e67b722b0 Are you sure you want to delete this resource? [y/N]: y
9.5 事前認証済リクエストの使用
9.5.1 事前認証済リクエスト
事前認証済リクエストは、リクエスト作成者がオブジェクトにアクセスする権限を持っている場合、ユーザーが独自の資格証明を持たずにバケットまたはオブジェクトにアクセスできるようにする手段を提供します。
たとえば、ユーザーがAPIキーを所有せずにバケットにバックアップをアップロードする操作をサポートするリクエストを作成できます。 または、ビジネス・パートナがAPIキーを所有せずにバケット内の共有データを更新できるリクエストを作成できます。
事前認証済リクエストの作成時に、一意のURLが生成されます。 このURLを提供するユーザーは、curlやwgetなどの標準HTTPツールを使用して、事前認証済リクエストで識別されるObject Storageリソースにアクセスできます。
バケットまたはオブジェクトへの事前認証済アクセスのビジネス要件およびセキュリティ上の影響を評価します。
事前認証済リクエストURLは、リクエストで識別されたターゲットへのURLアクセス権を持つすべてのユーザーに提供します。 URLの配布を慎重に管理します。
概念の詳細は、「Oracle Private Cloud Appliance概要ガイド」の「オブジェクト・ストレージ」の項を参照してください。
9.5.2 事前認証済リクエストのリスト
この手順を使用して、その他のコマンドに必要な事前認証済リクエストIDの取得など、事前認証済リクエストに関する情報を取得します。
事前認証済リクエストのリストには、事前認証済リクエストの作成時にシステムによって提供される一意のURLは表示されません。 URLは作成時にのみ表示され、後で取得することはできません。
-
バケット内のすべての事前認証済リクエストのリスト
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照
-
-
コマンドを実行します。
構文(1行に入力):
oci os preauth-request list --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
例:
oci os preauth-request list \ --namespace-name examplenamespace \ --bucket-name MyBucket { "data": [ { "access-type": "ObjectRead", "id": "5299a6f9-55c7-4805-88ca-b270c9a9e94f", "name": "PAR_ObjRead", "object-name": "compute.log", "time-created": "2021-06-10T20:34:01+00:00", "time-expires": "2021-07-30T23:55:00+00:00" }, { "access-type": "AnyObjectWrite", "id": "783cd56b-9df5-4518-aacf-f523deae5102", "name": "PAR-all-objectsRW", "object-name": null, "time-created": "2021-06-10T20:49:11+00:00", "time-expires": "2021-07-30T23:54:59+00:00" }, { "access-type": "ObjectRead", "id": "2ea48624-16ed-4d81-95ca-b23ea750ed3d", "name": "PAR-OS-READ", "object-name": "backup.log", "time-created": "2021-06-10T21:16:47+00:00", "time-expires": "2021-07-30T23:55:00+00:00" } ] }
-
-
特定の事前認証済リクエストの詳細の取得
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
Preauth ID (
oci os preauth-request list
)、第9.5.2項、「事前認証済リクエストのリスト」を参照
-
-
コマンドを実行します。
構文(1行に入力):
oci os preauth-request list --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--par-id<preauth-id>
例:
oci os preauth-request get \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --par-id 5299a6f9-55c7-4805-88ca-b270c9a9e94f { "data": { "access-type": "ObjectRead", "id": "5299a6f9-55c7-4805-88ca-b270c9a9e94f", "name": "PAR_ObjRead", "object-name": "compute.log", "time-created": "2021-06-10T20:34:01+00:00", "time-expires": "2021-07-30T23:55:00+00:00" } }
-
9.5.3 バケット内のすべてのオブジェクトに対する事前認証済リクエストの作成
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
この事前認証済リクエストの名前。
-
アクセス・タイプは、次のいずれかのアイテムです:
-
AnyObjectRead
は、バケット内のすべてのオブジェクトに対する読取りを許可します。 -
AnyObjectWrite
は、バケット内のすべてのオブジェクトへの書込みを許可します。 -
AnyObjectReadWrite
では、バケット内のすべてのオブジェクトに対する読取りと書込みが許可されます。
ノートバケット内のオブジェクトのリストは、デフォルトでは拒否されます。
--access-type
がAnyObjectRead
またはAnyObjectReadWrite
の場合、ユーザーがバケット内のオブジェクトをリストできる事前認証済リクエストの作成時に、オプションの--bucket-listing-action ListObjects
パラメータを指定できます。 -
-
タイムスタンプは必須引数であり、RFC 3339タイムスタンプである必要があります。 次に例を示します。 :
2017-09-01T00:09:51.000+02:00
。
-
-
コマンドを実行します。
構文(1行に入力):
oci os preauth-request create --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--name<preauthenticated_request_name>
--access-type<access_value>
--time-expires<timestamp>
この例では、バケット内のすべてのオブジェクトに対する読取りと書込みを許可する事前認証済リクエストを作成します:
oci os preauth-request create \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --name PAR-all-objectsRW \ --access-type AnyObjectWrite \ --time-expires '2021-07-30 23:55' { "data": { "access-type": "AnyObjectWrite", "access-uri": "/oci/p/KOCRWzqBilJmIsaBbJNelKLWcOxwRLq/n/examplenamespace/b/MyBucket/o/", "id": "783cd56b-9df5-4518-aacf-f523deae5102", "name": "PAR-all-objectsRW", "object-name": null, "time-created": "2021-06-10T20:49:11+00:00", "time-expires": "2021-07-30T23:54:59+00:00" } }
-
「重要」- access-uriを永続ストレージにコピーします。
システムによって提供される一意の
access-uri
は、ユーザーがリクエスト・ターゲットとして指定されたバケットまたはオブジェクトにアクセスするために使用できるURLを作成する唯一の方法です。The
access-uri
「作成時にのみ表示され、後で取得できません」。 -
一意の
access-uri
からURLを作成します。第9.5.5項、「事前認証済リクエストURLの作成」を参照してください。
9.5.4 特定のオブジェクトの事前認証済リクエストの作成
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
この事前認証済リクエストの名前。
-
アクセス・タイプは、次のいずれかのアイテムです:
-
AnyObjectRead
は、バケット内のすべてのオブジェクトに対する読取りを許可します。 -
AnyObjectWrite
は、バケット内のすべてのオブジェクトへの書込みを許可します。 -
AnyObjectReadWrite
では、バケット内のすべてのオブジェクトに対する読取りと書込みが許可されます。
ノートバケット内のオブジェクトのリストは、デフォルトでは拒否されます。
--access-type
がAnyObjectRead
またはAnyObjectReadWrite
の場合、ユーザーがバケット内のオブジェクトをリストできる事前認証済リクエストの作成時に、オプションの--bucket-listing-action ListObjects
パラメータを指定できます。 -
-
タイムスタンプは必須引数であり、RFC 3339タイムスタンプである必要があります。 次に例を示します。 :
2017-09-01T00:09:51.000+02:00
。 -
オブジェクト名または
null
-
-
構文(1行に入力):
oci os preauth-request create --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--name<preauthenticated_request_name>
--access-type<access_value>
--time-expires<timestamp>
-on<object_name_or_null>
例:
oci os preauth-request create --namespace-name examplenamespace \ --bucket-name MyBucket --name PAR-OS-READ --access-type ObjectRead --time-expires '2021-07-30 23:55' -on compute.log { "data": { "access-type": "ObjectRead", "access-uri": "/oci/p/eWvgyLcDthhvVUNkVaejymgDTOILHli/n/examplenamespace/b/MyBucket/o/compute.log", "id": "2ea48624-16ed-4d81-95ca-b23ea750ed3d", "name": "PAR-OS-READ", "object-name": "compute.log", "time-created": "2021-06-10T21:16:47+00:00", "time-expires": "2021-07-30T23:55:00+00:00" } }
-
「重要」- access-uriを永続ストレージにコピーします。
システムによって提供される一意の
access-uri
は、ユーザーがリクエスト・ターゲットとして指定されたバケットまたはオブジェクトにアクセスするために使用できるURLを作成する唯一の方法です。The
access-uri
「作成時にのみ表示され、後で取得できません」。 -
一意の
access-uri
からURLを作成します。第9.5.5項、「事前認証済リクエストURLの作成」を参照してください。
9.5.5 事前認証済リクエストURLの作成
一意のaccess-uri
があると、ユーザーが事前認証済オブジェクトにアクセスできるようにするアクセスURLを構築できます。
-
この構文を使用してURLを作成します。
構文:
https://objectstorage.
<pca_fqdn>
/oci/<access-uri>
説明:
-
<pca_fqdn>
は、アプライアンスの完全修飾ドメイン名です。 -
<access-uri>
は、次のいずれかの手順から取得されたアクセスURIです:
例:
https://objectstorage.mypca01.us.example.com/oci/p/MrxLFkKlFkIlNDhvhcZnrjbUAlsoeah/n/mynamespace/b/my-bucket/o/
「ノート」 - 場合によっては、
<access-uri>
文字列の最後にスラッシュを省略する必要があります。 「Oracle Private Cloud Applianceリリース・ノート」を参照してください。 -
9.5.6 事前認証済リクエストの削除
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
Preauth ID (
oci os preauth-request list
)、第9.5.2項、「事前認証済リクエストのリスト」を参照
-
-
構文(1行に入力):
oci os preauth-request delete --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--par-id<preauthenticated_request_id>
例:
oci os preauth-request delete \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --par-id 2ea48624-16ed-4d81-95ca-b23ea750ed3d Are you sure you want to delete this resource? [y/N]: y
9.5.7 事前認証済リクエストのオブジェクトのリスト
一意のリクエストURLを使用すると、curlなどのツールを使用して、事前認証済リクエストを使用してデータをリスト、読取りおよび書込みできます。
-
構文(1行に入力):
$ curl -X GET
<unique-PAR-URL>
例:
$ curl -X GET \ https://objectstorage.us-example-1.example.com/p/CoO26YkSARiRevWlDWJD_QUvtFPUocn/n/examplenamespace/b/MyParBucket/o/ {"objects":[{"name":"InfoWorld DeepDive - Tips for Git and GitHub Users.pdf"},{"name":"OCI_User_Guide.pdf"}, {"name":"OracleCorporateTerminologyUsageGuideRedwood.pdf"},{"name":"VPN.png"},{"name":"eventslogreference.htm"}, {"name":"functionslogreference.htm"},{"name":"glob.txt"},{"name":"loadbalancerreference.htm"},{"name":"objectstoragelogreference.htm"}, {"name":"servicechanges.html"},{"name":"servicediscovery.dita"},{"name":"serviceessentials.html"},{"name":"servicelogreference.htm"}, {"name":"services.html"}]}
9.5.8 事前認証済リクエストを使用したオブジェクトのアップロード
一意のリクエストURLを使用すると、curlなどのツールを使用して、事前認証済リクエストを使用してデータの読取りと書込みを行うことができます。
-
構文(1行に入力):
$ curl -X PUT --data-binary '@
<local-filename>
'<unique-PAR-URL>
例:
$ curl -X PUT \ --data-binary '@using-dita-guide.pdf' \ https://objectstorage.us-example-1.example.com/p/lnaqMuXWef_lhTxCiS9ngCw/n/examplenamespace/b/MyParBucket/o/using-dita-guide.pdf
9.5.9 事前認証済リクエストを使用したオブジェクトのダウンロード
一意のリクエストURLを使用すると、curlなどのツールを使用して、事前認証済リクエストを使用してデータの読取りと書込みを行うことができます。
-
構文(1行に入力):
$ curl -X GET
<unique-PAR-URL>
例:
$ curl -X GET \ https://objectstorage.us.example.com/p/tnjDhazP9o6s2KzLyFUxILQzSamEp/n/examplenamespace/b/MyParBucket/o/OCI_User_Guide.pdf '@data.1''@data.2''@data.3'
9.6 保持ルールの定義
9.6.1 保持ルール
保持ルールは、データ・ガバナンス、規制コンプライアンスおよび法的保持要件のためにオブジェクト・ストレージに書き込まれるデータに対して不変のストレージ・オプションを提供します。 保存ルールは、偶発的または悪意のある書込みや削除からデータを保護することもできます。 保持ルールは、管理者がルールの変更やデータの削除や変更を行わないようにロックできます。
保持ルールはバケット・レベルで構成され、バケット内のすべての個別オブジェクトに適用されます。
概念の詳細は、「Oracle Private Cloud Appliance概要ガイド」の「オブジェクト・ストレージ」の項を参照してください。
9.6.2 保持ルールと詳細の表示
-
バケットの保存ルールのリスト
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照
-
-
コマンドを実行します。
構文:
oci os retention-rule list --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
例:
oci os retention-rule list \ --namespace-name examplenamespace \ --bucket-name MyBucket { "data": { "items": [ { "display-name": "RegulatoryCompliance", "duration": { "time-amount": 5, "time-unit": "YEARS" }, "etag": "72be3a47de931cd50ad9d93c077def64", "id": "72be3a47de931cd50ad9d93c077def64", "time-created": "2021-06-10T22:24:21+00:00", "time-modified": "2021-06-10T22:24:21+00:00", "time-rule-locked": "2021-06-30T17:00:00+00:00" }, { "display-name": "TempHold", "duration": { "time-amount": 30, "time-unit": "DAYS" }, "etag": "344a9c205187408699b51c7769dc1bb4", "id": "344a9c205187408699b51c7769dc1bb4", "time-created": "2021-06-10T22:17:50+00:00", "time-modified": "2021-06-10T22:17:50+00:00", "time-rule-locked": null }, { "display-name": "LegalHold", "duration": null, "etag": "bd8d8efb964d1025f4305c86de630a4f", "id": "bd8d8efb964d1025f4305c86de630a4f", "time-created": "2021-06-10T22:13:37+00:00", "time-modified": "2021-06-10T22:13:37+00:00", "time-rule-locked": null } ] } }
-
-
特定の保持ルールの詳細の取得
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
保持ルールID (
oci os retention-rule list
)、第9.6.2項、「保存ルールおよび詳細の表示」を参照
-
-
コマンドを実行します。
構文:
oci os retention-rule get --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--retention-rule-id<retention_rule_identifier>
例:
oci os retention-rule get \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --retention-rule-id 72be3a47de931cd50ad9d93c077def64 { "data": { "display-name": "RegulatoryCompliance", "duration": { "time-amount": 5, "time-unit": "YEARS" }, "etag": "72be3a47de931cd50ad9d93c077def64", "id": "72be3a47de931cd50ad9d93c077def64", "time-created": "2021-06-10T22:24:21+00:00", "time-modified": "2021-06-10T22:24:21+00:00", "time-rule-locked": "2021-06-30T17:00:00+00:00" } }
-
9.6.3 保持ルールの作成
-
無期限保持ルールの作成
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
表示名: この保持ルールに適用する名前。
-
-
次のコマンドを実行します
構文:
oci os retention-rule create --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--display-name<name_displayed_for_rule>
例:
oci os retention-rule create \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --display-name LegalHold { "data": { "display-name": "LegalHold", "duration": null, "etag": "bd8d8efb964d1025f4305c86de630a4f", "id": "bd8d8efb964d1025f4305c86de630a4f", "time-created": "2021-06-10T22:13:37+00:00", "time-modified": "2021-06-10T22:13:37+00:00", "time-rule-locked": null } }
-
-
時間制限されたロック解除された保持ルールの作成
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
表示名: この保持ルールに適用する名前。
-
時間およびunit(days|years)。 たとえば、30日または5年です。
-
-
次のコマンドを実行します
構文:
oci os retention-rule create --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--display-name<display_name>
--time-amount<time_integer>
--time-unit<days|years>
例:
oci os retention-rule create \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --display-name TempHold \ --time-amount 30 \ --time-unit days { "data": { "display-name": "TempHold", "duration": { "time-amount": 30, "time-unit": "DAYS" }, "etag": "344a9c205187408699b51c7769dc1bb4", "id": "344a9c205187408699b51c7769dc1bb4", "time-created": "2021-06-10T22:17:50+00:00", "time-modified": "2021-06-10T22:17:50+00:00", "time-rule-locked": null } }
-
-
期限付きのロックされた保持ルールの作成
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
表示名: この保持ルールに適用する名前。
-
時間および単位(日|年)。 たとえば、30日または5年です。
-
ルールをロックする日時。
-
-
次のコマンドを実行します
構文:
oci os retention-rule create --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--display-name<display_name>
--time-amount<time_integer>
--time-unit<days|years>
--time-rule-locked<date and time>
例:
oci os retention-rule create \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --display-name RegulatoryCompliance \ --time-amount 5 \ --time-unit years \ --time-rule-locked "2021-06-30 17:00" { "data": { "display-name": "RegulatoryCompliance", "duration": { "time-amount": 5, "time-unit": "YEARS" }, "etag": "72be3a47de931cd50ad9d93c077def64", "id": "72be3a47de931cd50ad9d93c077def64", "time-created": "2021-06-10T22:24:21+00:00", "time-modified": "2021-06-10T22:24:21+00:00", "time-rule-locked": "2021-06-30T17:00:00+00:00" } }
-
9.6.4 保持ルールの変更
-
保持ルールの更新
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
保持ルールID (
oci os retention-rule list
)、第9.6.2項、「保存ルールおよび詳細の表示」を参照
-
-
次のコマンドを実行します
構文:
oci os retention-rule update --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--retention-rule-id<retention_rule_id>
変更する予定の保持ルール・アイテムに従います:
--time-amount
<time_integer>
--time-unit<days|years>
例:
oci os retention-rule update \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --retention-rule-id 344a9c205187408699b51c7769dc1bb4 \ --time-amount 60 \ --time-unit days { "data": { "display-name": "TempHold", "duration": { "time-amount": 60, "time-unit": "DAYS" }, "etag": "344a9c205187408699b51c7769dc1bb4", "id": "344a9c205187408699b51c7769dc1bb4", "time-created": "2021-06-10T22:17:50+00:00", "time-modified": "2021-06-10T22:45:16+00:00", "time-rule-locked": null } }
-
-
遅延期間中の保持ルール・ロックの削除
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
保持ルールID (
oci os retention-rule list
)、第9.6.2項、「保存ルールおよび詳細の表示」を参照
-
-
次のコマンドを実行します
構文:
oci os retention-rule update --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--retention-rule-id<retention_rule_id>
--time-rule-locked ""例:
oci os retention-rule update --namespace-name examplenamespace \ --bucket-name MyBucket \ --retention-rule-id b1a6c84c-57c4-416c-b006-f864b0904c9e --time-rule-locked "" { "data": { "display-name": "RegulatoryCompliance", "duration": { "time-amount": 6, "time-unit": "YEARS" }, "etag": "5b4fa526-faec-47d4-9162-4acdf1813ee0", "id": "b1a6c84c-57c4-416c-b006-f864b0904c9e", "time-created": "2020-03-25T15:11:44.423000+00:00", "time-modified": "2020-03-25T22:02:43.745000+00:00", "time-rule-locked": null }, "etag": "5b4fa526-faec-47d4-9162-4acdf1813ee0" }
-
9.6.5 保持ルールの削除
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(第9.2.2項、「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、第9.2.3項、「バケットのリスト」を参照 -
保持ルールID (
oci os retention-rule list
)、第9.6.2項、「保存ルールおよび詳細の表示」を参照
-
-
構文:
oci os retention-rule delete --namespace-name
<object_storage_namespace>
--bucket-name<bucket_name>
--retention-rule-id<retention_rule_identifier>
例:
oci os retention-rule delete \ --namespace-name examplenamespace \ --bucket-name MyBucket \ --retention-rule-id 344a9c205187408699b51c7769dc1bb4 Are you sure you want to delete this resource? [y/N]: y