ストレージ・オブジェクトの管理
Object Storageサービスでは、オブジェクトは、オブジェクト・ストレージ・ネームスペース内のコンパートメント内のバケットにアップロードするファイルまたは非構造化データです。
オブジェクトには、マルチメディア・ファイル、データ・バックアップ、静的webコンテンツまたはログなど、任意のタイプのデータを指定できます。 最大10個のTiBのオブジェクトを格納できます。 オブジェクトは単一のエンティティとして処理されます。 オブジェクトにデータを編集したり追加することはできませんが、オブジェクト全体を置換することはできます。
Object Storageは、特定のコンピュート・インスタンスに関連付けられていません。 インターネット接続、Object Storageエンドポイントへのアクセス、および認可があるかぎり、Oracle Private Cloud Applianceの内外からデータにアクセスできます。
概念の詳細は、「Oracle Private Cloud Applianceコンセプト・ガイド」の「オブジェクト・ストレージの概要」の項を参照してください。
バケット内のオブジェクトの表示
「コンピュートWeb UI」の使用
-
ナビゲーション・メニューのオブジェクト・ストレージで、オブジェクト・ストレージをクリックします。
-
オブジェクトを含むバケットを含むコンパートメントを選択します。
バケットのリストが表示されます。
-
オブジェクトを含むバケット名をクリックします。
-
リソースの下のオブジェクトをクリックします。
OCI CLIの使用
-
バケット内のオブジェクトのリスト
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、「バケットのリスト」を参照
-
-
次のコマンドを入力します。
構文(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": [] }
-
-
オブジェクト詳細のリスト
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、「バケットのリスト」を参照 -
オブジェクト名(
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" }
-
フォルダまたはサブフォルダの作成
OCI CLIの使用
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、「バケットのリスト」を参照 -
オブジェクト・ファイルのロケーション
-
オブジェクト名
-
-
次のコマンドを実行します
構文:
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==" }
オブジェクトのアップロード
OCI CLIの使用
オブジェクトは、1つのパートまたは複数のパートとしてアップロードできます。 --no-multipart
オプションを使用して、単一のパートとしてアップロードします。 マルチパート・アップロードの詳細は、「マルチパート・アップロードの実行」を参照してください。
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース 「オブジェクト・ストレージ・ネームスペースの取得」を参照してください。
-
バケット名(
oci os bucket list
)。 「バケットのリスト」を参照してください。 -
オブジェクト・ファイルのロケーション
-
-
オブジェクトputコマンドを実行します。
構文(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
など)です。--no-multipart
オプションを指定すると、ファイルはソース・ファイルと同じ名前の単一のオブジェクトとしてアップロードされます。例:
oci os object put --namespace-name examplenamespace --bucket-name MyBucket \ --file /home/user/Documents/Uploads/MyFile.txt --no-multipart Uploading object [####################################] 100% { "etag": "33ed1aff724eac56f00616552fc61f3e", "last-modified": "2021-06-01T17:57:16.000Z", "opc-content-md5": "Ucf+fZbCK/RN5gGsEl7G5w==" }
マルチパート・アップロードの実行
マルチパート・アップロードでは、オブジェクトの個々のパートを並行してアップロードすることで、アップロードに費やす時間を短縮できます。
マルチパート・アップロードは、1回のアップロード操作では大きすぎるオブジェクトに対応します。 オブジェクト・パートは50 GiB以下である必要があります。
個々のパートのアップロード間で一時停止し、スケジュールとリソースで許可されたらアップロードを再開できます。
OCI CLIの使用
オブジェクトをアップロードするには、--part-size
フラグを指定してoci os object put
を実行します。 --part-size
値は、各パートのサイズ(MiBs)を表します。 Object Storageでは、最後にアップロードされたパートの最小パート・サイズ制限が免除されます。 --part-size
値は整数である必要があります。
オプションで、--parallel-upload-count
フラグを使用して、許可されるパラレル・アップロードの最大数を設定できます。
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、「バケットのリスト」を参照 -
オブジェクト・ファイルのロケーション
-
-
コマンドを実行します。
構文(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" }
未完了または失敗したマルチパート・アップロードのパートのリスト
OCI CLIの使用
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、「バケットのリスト」を参照
-
-
次のコマンドを実行します
構文(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" } ...
マルチパート・アップロードの取消し
OCI CLIの使用
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、「バケットのリスト」を参照 -
オブジェクト名 (
oci os object list
)、「バケット内のオブジェクトの表示」を参照 -
アップロードID (
oci os multipart list
)、「未完了または失敗したマルチパート・アップロードのパートのリスト」を参照
-
-
次のコマンドを実行します
構文(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
バルク・オブジェクト・アップロードの実行
階層の特定のレベルのバルク操作は、上のどのレベルのオブジェクトにも影響を与えません。
OCI CLIの使用
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、「バケットのリスト」を参照 -
ソース・ディレクトリのロケーション -
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==" } } }
別のバケットへのオブジェクトのコピー
ターゲット・バケットが同じPrivate Cloud Applianceにあるかぎり、オブジェクトを別のバケットにコピーできます。
OCI CLIの使用
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、「バケットのリスト」を参照 -
ソース・オブジェクトの名前(
oci os object list
)。「バケット内のオブジェクトの表示」を参照してください -
宛先バケットの名前(
oci os bucket list
)。「バケットのリスト」を参照してください -
新しい宛先のオブジェクトの名前
-
-
次のコマンドを実行します
構文(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": [] }
オブジェクトのダウンロード
OCI CLIの使用
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、「バケットのリスト」を参照 -
オブジェクト名 (
oci os object list
)、「バケット内のオブジェクトの表示」を参照 -
オブジェクト・ファイルのロケーション
-
-
次のコマンドを実行します
構文(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
マルチパート・ダウンロードの実行
OCI CLIの使用
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、「バケットのリスト」を参照 -
オブジェクト名 (
oci os object list
)、「バケット内のオブジェクトの表示」を参照 -
オブジェクト・ファイルのロケーション
-
ダウンロードのバイト範囲。 マルチパート・オブジェクトのダウンロードは、「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
一括ダウンロードの実行
OCI CLIの使用
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、「バケットのリスト」を参照 -
ダウンロード・ディレクトリ。<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": [] }
オブジェクトの削除
バケットまたはフォルダからオブジェクトを完全に削除できます。 ただし、オブジェクト・バージョニングを有効にしないかぎり、削除されたオブジェクトをリカバリすることはできません。 詳細は、「オブジェクトのバージョニングの管理」を参照してください。
アクティブな保持ルールを持つオブジェクトは削除できません。 詳細は、「保持ルールの定義」を参照してください。
OCI CLIの使用
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、「バケットのリスト」を参照 -
オブジェクト名 (
oci os object list
)、「バケット内のオブジェクトの表示」を参照
-
-
構文(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
バケット内のすべてのオブジェクトの一括削除の実行
OCI CLIの使用
-
コマンドを実行するために必要な情報を収集します。
-
ネームスペース(「オブジェクト・ストレージ・ネームスペースの取得」を参照)
-
バケット名(
oci os bucket list
)、「バケットのリスト」を参照
-
-
ファイルを実際に削除せずに一括削除コマンドによって影響を受けるファイルのリストを表示するには、
--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" ] }