Oracle Cloud Infrastructureドキュメント

Object Storageとの対話

このトピックでは、Storage Gatewayと対話するためのOracle Cloud Infrastructure Object Storage環境の理解に関する情報を提供します。

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

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

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

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

Storage Gatewayの場合、管理者は次のポリシーを使用してこれらのグループを作成します:

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

Storage GatewayObject Storageの内容の一貫性

Storage Gateway内のファイルに対する変更(作成、書き込み、更新、および削除を含む)は、最終的にはObject Storageと一貫しています。 アップロードは非同期でバッファリングされているので、Storage Gatewayファイルの変更はまだObject Storageに反映されていない可能性があります。

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

名前の制限

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

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

  • 1〜256文字のUTF-8文字を使用します。
  • 有効な文字は、文字(大文字または小文字)、数字、ハイフン、アンダースコア、およびピリオドです。 (重要: この文字はバケット名とオブジェクト名を区切るため、スラッシュ(/)文字は使用できません。
  • 機密情報は含めないでください。
  • Storage Gatewayインスタンス内で名前を一意にします。

重要

Object Storageバケットとオブジェクト名を区切るために、名前にスラッシュ(/)文字を含めることはできません。

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

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

カスタム・メタデータ

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

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

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

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

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

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

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

Object Storageのディレクトリとファイルの階層変換について

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

ディレクトリの場合:

  • myDirと呼ばれるディレクトリを含むmyFSと呼ばれるStorage Gatewayファイル・システムは、Object Storage内の次のオブジェクトとして表されます。

    n/<os_namespace>/b/myFS/o/myDir/
  • mySubDirというmyDirサブディレクトリを含むmyFSというStorage Gatewayファイル・システムは、次のオブジェクトとしてObject Storageに表されます。

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

次の方法で、Storage GatewayディレクトリとStorage Gatewayファイルを区別できます:

  • ディレクトリの末尾に/があります
  • ディレクトリ・サイズ/長さは0 (ゼロ)です。

ファイルの場合:

  • Storage Gatewayファイル・システムのmyFSという名前のファイル(myDirという名前のファイルがfile1という名前のディレクトリ)は、Object Storageに次のオブジェクトとして表されます。

    n/<os_namespace>/b/myFS/o/myDir/file1
  • Storage Gatewayファイル・システムのmyFSという名前のmyDirサブディレクトリが含まれており、file2というファイルがあるという名前のmySubDirは、Object Storageの次のオブジェクトとして表されます。

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

Storage GatewayファイルとStorage Gatewayディレクトリをファイルから区別するには、次のようにします:

  • ディレクトリには/という末尾があり、ファイルには
  • ファイルの長さは0 (ゼロ)でも非ゼロでも構いませんが、ディレクトリの長さは常に0 (ゼロ)です。

内部Storage Gatewayオブジェクト

Storage Gatewayは、/gatewayディレクトリ・プレフィクスを持つObject Storageにいくつかの特殊な内部オブジェクトを作成します:

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

重要

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