3
votes

I am developing an google app engine java application with google cloud sql and google cloud storage.

I want to deploy the same code on multiple app engine applications and share google cloud storage files and buckets on each app engine application. Every application can read and write into same bucket. How can I do this? I don't want to make the buckets with public access.

How can I create a bucket pragmatically in java to share same code across all google app engine applications so that each application can use it?

1

1 Answers

4
votes

Your app engine apps are running as a special "service account" associated with their projects. That account can be granted permissions just like any other. If you grant all of the service accounts full control of all of the buckets and objects, they will be able to use those buckets just as if they are the owners.

To find the service account, go to the app engine console and choose the "application settings" page. The name of the service account is printed there.

Service account name circled

Now, using the cloud console or gsutil, grant full control to that account. If you want, you can also add it to the "default object ACL", to make sure that new objects created within that object will, by default, grant full control to all of the appropriate accounts.