3

我正在尝试从我的 Google App Engine Java 应用程序访问 Google Cloud Storage:

GcsService gcsService = GcsServiceFactory.createGcsService(RetryParams.getDefaultInstance());
GcsFilename writableFilename = new GcsFilename(Constants.CONTENT_BUCKET, "some-id");
                GcsFileOptions options = new GcsFileOptions.Builder()
                        .mimeType("some-content-type")
                        .acl("private")
                        .addUserMetadata("x-goog-project-id", "some-id")
                        .build();
                GcsOutputChannel writeChannel = gcsService.createOrReplace(writableFilename, options);

但是当我部署并测试它时,我收到

<?xml version='1.0' encoding='UTF-8'?><Error><Code>AccessDenied</Code><Message>Access denied.</Message><Details>keys-expressflow</Details></Error>

作为回应。因此,我在我的 Google API 控制台中检查了 ACL。现在开始怪癖:当我尝试通过我的 Google API 控制台的团队面板添加团队成员来授予对我的存储桶的访问权限时,我被重定向到我的 Google App Engine 管理控制台。

有人知道这里发生了什么吗?

更有趣的是:这是从昨天开始发生的,没有更改任何配置。谷歌是否改变了任何东西,其他人是否经历过这种行为?

更新

在使用 gsutil 设置 ACL 后,如https://developers.google.com/appengine/docs/python/googlestorage/中所述,问题仍然存在。但现在反应变了:

Service Unavailable

谷歌云存储目前面临一些技术问题?

这篇文章可能与 无法授予 Google App Engine 服务帐户访问 Google 云存储的权限有关

我将整个应用程序重新部署到美国的位置(Google App Engine App 和 Cloud Store Buckets)。你猜怎么着?现在它起作用了。

谷歌,解决这个问题!!!

4

0 回答 0