Oracle Cloud Infrastructureドキュメント

オブジェクトの管理

Oracle Cloud Infrastructure Object Storageサービスでは、オブジェクトは、オブジェクト・ストレージ namespace内のコンパートメント内のバケットにアップロードするファイルまたは非構造化データです。 オブジェクトには、マルチメディア・ファイル、データ・バックアップ、静的Webコンテンツ、ログなど、任意のタイプのデータを使用できます。 最大10個のTiBオブジェクトを格納できます。 オブジェクトは単一のエンティティとして処理されます。 オブジェクトへのデータの編集や追加はできませんが、オブジェクト全体を置き換えることはできます。

このトピックでは、単一バケット内でオブジェクトを管理する方法について説明します。 オブジェクトを別のバケットにコピーする方法の詳細は、「オブジェクトのコピー」を参照してください。

必要なIAMポリシー

Oracle Cloud Infrastructureを使用するには、管理者が作成するポリシーで、コンソールまたはSDK、CLIまたはその他のツールを使用したREST APIのどちらを使用しているかにかかわらず、必要なタイプのアクセスを付与する必要があります。 アクションを実行しようとしたときに、権限のないメッセージや権限のないメッセージを取得する場合は、管理者に付与されているアクセスのタイプと作業するコンパートメントを確認してください。

新しいポリシーの場合は、「ポリシーの開始」「共通ポリシー」を参照してください。

管理者の場合:

事前認証済リクエスト

事前認証済リクエストは、ユーザーが独自の資格証明を持たずにバケットまたはオブジェクトにアクセスできるようにします。 たとえば、ユーザーがAPIキーを所有せずにバケットにバックアップをアップロードできるようにするリクエストを作成できます。 詳細については、「事前認証済リクエストの使用」を参照してください。

オブジェクト名

他のリソースとは異なり、オブジェクトにはOracle Cloud識別子(OCID)がありません。 代わりに、ユーザーはオブジェクトをアップロードするときにオブジェクト名を定義します。

オブジェクトに名前を付けるときは、次のガイドラインを使用してください:

  • 1〜1024文字で使用します。
  • 有効な文字は、改行、改行、およびNULL以外の文字(大文字または小文字)、数字、および文字です。

    重要

    バケット名とオブジェクト名では、大文字と小文字が区別されます。
    「オブジェクト・ストレージ」では、q3-field-assets.xslxとQ3-Field-Assets.XSLXが個別のオブジェクトとして処理されます。

  • UTF-8エンコーディングが1024バイトを超えないUnicode文字のみを使用してください。 クライアントはURLエンコーディング文字を処理します。
  • 機密情報は含めないでください。
  • バケット内で一意の名前にします。 既存のオブジェクトを新しいオブジェクトまたは名前を変更したオブジェクトの内容で上書きする場合を除き、オブジェクトに名前を付けるときは、バケット内の既存のオブジェクトの名前を使用しないでください。

ヒント

オブジェクト名には、スラッシュ(/)文字を1つ以上使用できます。
オブジェクト名にスラッシュを使用して階層を作成する方法については、「接頭辞と階層を使用したオブジェクトの命名」を参照してください。

接頭辞と階層を使用したオブジェクトの命名

オブジェクト・ストレージ・ネームスペース内では、バケットとオブジェクトはフラット階層に存在しますが、オブジェクト名に階層を追加するためにスラッシュ(/)を含む接頭辞文字列を使用してディレクトリ構造をシミュレートできます。 そうすることで、一度に1つのディレクトリをリストすることができます。これは、多数のオブジェクトをナビゲートする際に役立ちます。

例えば:

marathon/finish_line.jpg
marathon/participants/p_21.jpg

階層をオブジェクト名に追加した場合、CLIまたはAPIを使用して一括ダウンロードを実行し、階層の指定したレベルですべてのオブジェクトを一括削除できます。 指定された階層レベルを一括ダウンロードまたは一括削除しても、前述のレベルのオブジェクトには影響しません。

オブジェクトに名前を付ける場合、デリミタのない接頭辞文字列を使用することもできます。 デリミタを使用しない場合、CLまたはAPI内での特定の一括操作でオブジェクト名の接頭辞部分との一致が許可されません。 たとえば、以下のオブジェクト名では、文字列gloves_27_は、バルクのダウンロードまたは削除を実行する際の一致のための接頭辞として機能します:

gloves_27_dark_green.jpg
gloves_27_light_blue.jpg

CLIまたはAPIを使用して一括アップロードを実行する場合、アップロードするファイルの名前に接頭辞文字列を付加することもできます。

オブジェクト・ライフサイクル管理

オブジェクト・ライフサイクル管理機能を使用すると、事前定義済のスケジュールに従ってオブジェクトのアーカイブおよび削除を自動的に管理できます。 この機能の詳細は、「オブジェクト・ライフサイクル管理の使用」を参照してください。

マルチパートのアップロードとダウンロード

Oracle Cloud Infrastructure オブジェクト・ストレージ・サービスは、オブジェクトのマルチパートのアップロードとダウンロードをサポートします。 詳細については、「マルチパート・アップロードの使用」を参照してください。 このページには、この機能のAPIドキュメントへのリンクが含まれています。 マルチパートのダウンロードに関するCLIの情報については、「マルチパート・ダウンロードを使用したオブジェクトのダウンロード」の手順を参照してください。 マルチパートのダウンロードに関するAPIドキュメントについては、GetObject API呼び出しとそのrangeパラメータを参照してください。

リソースのモニター

Oracle Cloud Infrastructureリソースのヘルス、容量、およびパフォーマンスをモニターするには、メトリック、アラーム、および通知を使用します。 詳細は、「モニタリング概要」および「通知概要」を参照してください。

オブジェクトのモニターの詳細は、「オブジェクト・ストレージ・メトリック」を参照してください。

「イベント」サービスを使用したオブジェクトの自動化の作成

イベント・タイプ、ルールおよびアクションを使用して、Oracle Cloud Infrastructureリソースに対する状態変更に基づいて自動化を作成できます。 詳細は、「イベントの概要」を参照してください。

オブジェクトのイベントは、他のリソースとは異なる方法で処理されます。 オブジェクトは、デフォルトではイベントを発行しません。 バケットでオブジェクト状態の変更に関するイベントを発行できるようにするには、コンソールCLIまたはAPIを使用します。 バケットの作成時または作成後にオブジェクト状態の変更に対してイベントを有効にできます。

ストレージ・ゲートウェイを使用したオブジェクトのアップロードおよびダウンロード

ストレージ・ゲートウェイは、Oracle Cloud Infrastructure Object Storageからオブジェクトをアップロードしてダウンロードする別の方法です。

ストレージ・ゲートウェイは、Oracle Cloud Infrastructureコンピュート・インスタンスに、またはオンプレミス・データセンター内の1つ以上のホスト上にLinux Dockerインスタンスとしてインストールされます。 アプリケーションは、ストレージ・ゲートウェイで作成した「ファイル・システム」を通じて、Oracle Cloud Infrastructure Object Storageからオブジェクトを格納および取得します。 ストレージ・ゲートウェイは、NFSv4クライアントをサポートする任意のホストにマウントできるNFSマウント・ポイントを公開します。 ストレージ・ゲートウェイ・マウント・ポイントは、オブジェクトをアップロードおよびダウンロードするためにオブジェクト・ストレージ・バケットにマップされます。

詳細については、「ストレージ・ゲートウェイの概要」を参照してください。

コンソールを使用した場合

バケットにオブジェクトをアップロードするには
バケットからオブジェクトをダウンロードするには
オブジェクトの詳細を表示するには
オブジェクトの名前を変更する手順
アーカイブ・ストレージからオブジェクトをリストアするには
アーカイブ・ストレージ・オブジェクト・リストアのステータスを確認するには
バケットからオブジェクトを削除するには

コマンド・ライン・インタフェース(CLI)の使用

CLIの使用方法については、「コマンド・ライン・インタフェース(CLI)」を参照してください。 CLIコマンドで使用可能なフラグおよびオプションの完全なリストについては、「CLIヘルプ」を参照してください。

オブジェクトをバケットに表示するには
オブジェクトの詳細を取得するには
オブジェクトをバケットにアップロードするには
オブジェクトをバケットにバルク・アップロードするには
バケットからオブジェクトをダウンロードするには
マルチパート・ダウンロードを使用してオブジェクトをダウンロードするには
バケット内のすべてのオブジェクトをバルク・ダウンロードするには
オブジェクト名接頭辞文字列でオブジェクトをバルク・ダウンロードするには
指定された階層レベルでオブジェクトをバルク・ダウンロードするには
オブジェクトの名前を変更する手順
アーカイブ・ストレージ層オブジェクトをリストアするには
アーカイブ・ストレージ・オブジェクト・リストアのステータスを確認するには
オブジェクトを削除するには
バケット内のすべてのオブジェクトをバルクで削除するには
オブジェクト名接頭辞文字列でオブジェクトをバルク削除するには
指定した階層レベルでオブジェクトをバルク削除するには

APIの使用

APIおよび署名リクエストの使用については、REST APIおよび「セキュリティ資格証明」を参照してください。 SDKの詳細は、「ソフトウェア開発キットとコマンドライン・インタフェース」を参照してください。

「オブジェクト・ストレージ」では、APIで使用するURLを構築する際に、「オブジェクト・ストレージ」のネームスペース文字列とバケット名がオブジェクト名の先頭に付加されます。 すべて :

/n/<object_storage_namespace>/b/<bucket>/o/<object_name>

オブジェクト名は、/o/の後にすべて含まれるため、階層レベルおよび接頭辞文字列を含めることができます。

オブジェクトを管理するには、次の操作を使用します: