Google Cloud Storage の機能について

バケット、オブジェクト、ACL

バケットはファイルを読み取ったり書き込んだりするストレージの場所です。Cloud Storage 用の App Engine クライアント ライブラリを使用する場合は、バケットを必ず指定する必要があります。プロジェクトで複数のバケットにアクセスできます。クライアント ライブラリではバケットの作成がサポートされないことに注意してください。

アクセス制御リスト(ACL)は、バケットおよびバケットに含まれるオブジェクトへのアクセスを制御します。プロジェクトと App Engine アプリは、プロジェクト内にバケットを作成するときに、バケットへのアクセスを許可する ACL へ自動的に追加されます。

バケットへのアクセスを許可する ACL は、バケット内のオブジェクトを制御する数多くの ACL とは別のものです。したがって、アプリには有効になっているバケットに対する読み取りと書き込みの権限がありますが、すべての権限を持っているのはバケット内に作成したオブジェクトに対してのみです。他のアプリまたは人物によって作成されたオブジェクトに対するアプリのアクセス権は、オブジェクトの作成者によってそのアプリに対して付与された権限に限定されます。

明示的に ACL が定義されていないバケット内にオブジェクトが作成された場合、バケットのオーナーによってバケットに割り当てられたデフォルトのオブジェクト ACL を使用します。バケットのオーナーがデフォルトのオブジェクト ACL を指定していない場合、オブジェクトのデフォルトは public-read です。つまり、バケットへのアクセスを許可されている人物はすべてオブジェクトを読み取ることができます。

ACL とクライアント ライブラリ

クライアント ライブラリを使用するアプリでバケット ACL を変更できます。また、作成するオブジェクトへのアクセスを制御する ACL も指定できます。利用可能な ACL 設定については、Storage API のドキュメントをご覧ください。

Cloud Storage オブジェクトの変更

バケット内に作成したオブジェクトへの変更や追加は、その処理を行ったオブジェクトでの置き換えで行います。

Cloud Storage とサブディレクトリ

Cloud Storage 用の App Engine クライアント ライブラリでは、オブジェクトの作成時にサブディレクトリの区切り文字を指定できますが、実際には Cloud Storage にはサブディレクトリはありません。Cloud Storage のサブディレクトリはオブジェクトのファイル名の一部です。

たとえば、オブジェクト somewhere/over/the/rainbow.mp3 を作成する場合、そのファイル rainbow.mp3 がサブディレクトリ somewhere/over/the/ に格納されるのではなく、オブジェクト名が somewhere/over/the/rainbow.mp3 に設定されます。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Go の App Engine スタンダード環境