0

バケット内のファイルを操作するために googlecloudstorageclient を使用しています。バケットはパブリック読み取り可能ではありませんし、そうすべきではありませんが、Python コードを介して単一ファイルのパブリック読み取り ({'x-goog-acl': 'public-read'}) を設定する必要があります。

既存の GCS ファイルの ACL またはメタデータを Python でプログラム的に変更して、パブリック読み取りまたは削除するにはどうすればよいですか?

copy2() を試しましたが、アクセス許可を渡すとコンテンツ タイプがバイナリ/オクテット ストリームにリセットされます。

https://cloud.google.com/appengine/docs/python/googlecloudstorageclient/functions

4

2 に答える 2

0

objects patchを使用して、オブジェクトの ACL またはメタデータを変更できます。このコード例(insert acl を使用) は、クラウド ストレージ apiclientを使用し、 appengine を使用して承認済みの API リクエストを送信する方法を示しています。

于 2015-08-10T23:02:54.563 に答える
0

listbucketメソッドを使用してバケットを反復処理し、各ファイルのGCSFileStatからコンテンツ タイプを取得します。

ここで、copy2 メソッドを使用して、メタデータ dict に GCSFileStat からの値を提供し、その dict の ACL を変更します。

于 2015-08-10T18:13:41.753 に答える