2013-04-12 7 views
5

アプリエンジンでホストされているアプリのGoogleクラウドストレージに格納された静的ファイルを提供したかったのです。 HTMLファイルでは、Googleのクラウドストレージから静的ファイルを配信していますか?

<link href="https://storage.cloud.google.com/my_bucket/custom.css" rel="stylesheet"> 

ログインしたユーザーのGoogleアカウントにバケットにアクセスする権限がある場合、正しく動作します。 バケットにアクセスできないユーザーがappにアクセスできるため、そのような場合は静的ファイルが配信されません。

バケット内の静的ファイルを一般公開することはできますか?静的ファイル(custom.css)を「公開共有」(ACLは「公開読込み」に設定)として作成しましたが、それでも他のユーザーはアクセスできません。

+0

をあなたはデフォルトを設定することでこれを行いましたファイルを追加した後のバケットのACL? –

+0

私はfiles.gs.create( "/ gs/my_bucket/custom.css"、acl = 'public-read')を使用しました。 – rajpy

答えて

7

あなたのファイルをどのようにアップロードしているのか、一般公開の読み込みが正しく設定されていないのはわかりませんが、Google Cloud Storage Managerで変更することもできます。バケツとファイルを見つけて、Share Publiclyのチェックマークをクリックすると、リンクが表示されます。

list of files in the bucket on cloud storage

それとも、すぐに読み国民とgsutilを使用してそのファイルをアップロードすることができます

gsutil cp -a public-read custom.css gs://my_backet 
+0

チェックマークがありませんでした。画像をありがとう、そうでなければ、私はそれを見つけることができませんでした。 – rajpy

0

手動の横にGoogle Cloud Storage Managerて静的ファイルのそれぞれを変更するには、であるためにあなたのバケツをも設定することができます公的に閲覧可能にするにはgsutil

aclを使用して、公開読書を現在のバケットオブジェクトに設定する

gsutil -m acl set -R -a public-read gs://BUCKET_NAME 

使用defacl将来のアップロードのデフォルトとして設定するには、次の

gsutil -m defacl set public-read gs://BUCKET_NAME 

「公に共有」チェックボックスが自動的にアップロードされたすべてのファイルがチェックされます。 accessing bucketについては

、あなたがbucket permissionのためのグループとユーザーとドメインのための認可IDまたはメールアドレスを入力していることを確認してくださいそれ以外の場合は次のようなエラーメッセージが表示されます:

'DefAclCommand' object has no attribute 'continue_on_error' 
関連する問題