Oracle Cloud Infrastructureドキュメント

オブジェクト・ストレージとの対話

このトピックは、Oracle Cloud Infrastructure Object Storage環境およびストレージ・ゲートウェイとの相互作用を理解するうえで役立ちます。

必要なIAMユーザー、グループ、およびポリシーの作成

Oracle Cloud Infrastructure管理者は、ストレージ・ゲートウェイオブジェクト・ストレージの間のデータ移動に備えて、前提条件のタスクを実行する必要があります。 Oracle Cloud Infrastructureにとって新規の場合は、「あなたのテナンシを設定」を読むことをお薦めします。

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

リソースへのアクセスは、ポリシーを使用してグループに提供され、それらのグループに割り当てられたユーザーによって継承されます。 グループの作成の詳細については、「グループの管理」を参照してください。

ストレージ・ゲートウェイの場合、管理者は次のポリシーを使用してこれらのグループを作成します:

Allow group <group_name> to manage buckets in compartment <compartment_name>
Allow group <group_name> to manage objects in compartment <compartment_name> 

ストレージ・ゲートウェイオブジェクト・ストレージの内容の一貫性

作成、書込み、更新、削除など、ストレージ・ゲートウェイ内のファイルに対する変更は、最終的には「オブジェクト・ストレージ」と一貫性があります。 アップロードは非同期でバッファリングされているので、ストレージ・ゲートウェイ・ファイルの変更はまだオブジェクト・ストレージに反映されていない可能性があります。

オブジェクト・ストレージのネイティブAPI、SDK、CLI、コンソール、またはHDFSコネクタを使用して、オブジェクトをバケットに直接アクセス、変更、アップロードすることができます。 これらの方法で変更したオブジェクトは、ストレージ・ゲートウェイ管理コンソールで「リフレッシュ」をクリックするまで、ストレージ・ゲートウェイにファイルとして表示されません。

名前の制限

ストレージ・ゲートウェイのファイルおよびファイル・システム名は、オブジェクト・ストレージのバケットおよびオブジェクト名の制限とガイドラインに従う必要があります。

ファイル・システムに名前を付ける際は、次のガイドラインに従ってください。

  • 1〜256文字のUTF-8文字を使用します。
  • 有効な文字は、文字(大文字または小文字)、数字、ハイフン、アンダースコア、およびピリオドです。

    重要

    名前には、スラッシュ(/)文字を使用できません。これは、この文字によって「オブジェクト・ストレージ」バケットおよびオブジェクト名が区切られるためです。

  • 機密情報は含めないでください。
  • ストレージ・ゲートウェイ・インスタンス内で名前を一意にします。

ファイルの命名には、次のガイドラインを使用してください:

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

カスタム・メタデータ

POSIXファイルおよびディレクトリ属性は、カスタム・メタデータに格納されます。 これらの属性には、uidgidmodeatimectime、およびmtimeが含まれます。 オブジェクト・ストレージの既存のオブジェクトに必要なカスタム・メタデータがない場合、ストレージ・ゲートウェイは次のデフォルト値を割り当てます:

  • uid=0
  • gid=0
  • mode =ファイルは0644、ディレクトリは0755

ファイル操作によってストレージ・ゲートウェイオブジェクト・ストレージ・ファイルを更新するまで、オブジェクト・ストレージでカスタム・メタデータは更新されません。タイムスタンプ・メタデータ(atimectime、およびmtime)はミリ秒単位で表されます。 アクセス・モードは、8進数で表され、インクルード・ファイル/ディレクトリ・ビットです。

カスタム・メタデータ名は、次のガイドラインに従います:

  • ASCII文字のみ。
  • 最大128バイトです。

カスタム・メタデータの値は、次のガイドラインに従います:

  • UTF-8文字のみ。
  • 最大256バイトです。

オブジェクト・ストレージのディレクトリとファイルの階層変換について

オブジェクト・ストレージ・ネームスペース内では、バケットとオブジェクトはフラットな階層に存在します。 ストレージ・ゲートウェイ オブジェクト・ストレージで、ファイル・システム・ディレクトリ階層をネストされたオブジェクト接頭辞にフラット化します。

ディレクトリの場合:

  • myDirというディレクトリを含むmyFSというストレージ・ゲートウェイ・ファイル・システムは、次のように「オブジェクト・ストレージ」に表示されます:

    n/<os_namespace>/b/myFS/o/myDir/
  • mySubDirというmyDirサブディレクトリが含まれるmyFSというストレージ・ゲートウェイ・ファイル・システムは、次のように「オブジェクト・ストレージ」に表示されます:

    n/<os_namespace>/b/myFS/o/myDir/mySubDir/

次の方法で、ストレージ・ゲートウェイ・ディレクトリとストレージ・ゲートウェイ・ファイルを区別できます:

  • ディレクトリの末尾にはスラッシュ/が付いています。
  • ディレクトリ・サイズまたは長さは0 (ゼロ)です。

ファイルの場合:

  • file1というファイルを含む、myDirというディレクトリを含むmyFSというストレージ・ゲートウェイ・ファイル・システムは、次のように「オブジェクト・ストレージ」に表示されます:

    n/<os_namespace>/b/myFS/o/myDir/file1
  • file2というファイルを持つmySubDirというmyDirサブディレクトリが含まれる、myFSというストレージ・ゲートウェイ・ファイル・システムは、次のように「オブジェクト・ストレージ」に表示されます:

    n/<os_namespace>/b/myFS/o/myDir/mySubDir/file2

ストレージ・ゲートウェイ・ファイルをストレージ・ゲートウェイ・ディレクトリと区別するには、次の方法があります:

  • ディレクトリには/が後続するため、ファイルはありません。
  • ファイルの長さは0 (ゼロ)またはゼロ以外ですが、ディレクトリの長さは常に0 (ゼロ)になります。

内部ストレージ・ゲートウェイ・オブジェクト

ストレージ・ゲートウェイでは、いくつかの特別な内部オブジェクトが「オブジェクト・ストレージ」に作成されます。 これらのオブジェクトには、/gatewayディレクトリ接頭辞があります。 例えば:

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

重要

特別な/gatewayディレクトリ内のオブジェクトを変更または削除しないでください。
これらのオブジェクトは、ストレージ・ゲートウェイ操作にとって重要です。