当前位置: 首页 > 知识库问答 >
问题:

无法通过java sdk在google云存储中连接和创建bucket

游炳
2023-03-14
public class App 
{
    public static void main(String... args) throws Exception {

         String projectId = "**********";

         Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService();
            Page<Bucket> buckets = storage.list();

            for (Bucket bucket : buckets.iterateAll()) {
              System.out.println(bucket.getName());
            }

      }
}

原因:com.google.api.client.googlejsonresponseException:401未经授权{“代码”:401,“错误”:[{“域”:“全局”,“位置”:“授权”,“位置类型”:“标头”,“消息”:“匿名调用者没有Storage.Buckets.List access to project 833568054484.”,“原因”:“必需”}],“消息”:“匿名调用者没有Storage.Buckets.List access to project 833568054484.”}

共有1个答案

百里君博
2023-03-14

您没有进行身份验证,可以在使用云IAM权限文档中检查如何向您的bucket添加权限。

如果要向经过身份验证的用户授予访问权限,则必须选择用户AllAuthenticatedUsers,并将Storage Object Viewer角色授予他们。这将允许所有经过身份验证的用户(甚至匿名)查看/列表您的bucket中的权限。

注意:正如您在本文档中所看到的,AllAuthenticatedUsers成员类型只应在Internet上的任何人都可以阅读和分析您的数据时使用。因此,如果不是这样,您应该考虑使用不同的访问管理类型。

 类似资料:
  • 我最近从使用预填充的DB切换到允许Hibernate创建我的表。当试图在我的data.sql中创建存储过程时,我得到以下错误: 我已经尝试添加

  • 我正在为Swift使用框架。我试图通过websockets API连接,我有一个方法,它在的中被调用。我已经全局声明了我的manager和socketClient,我将把方法的代码放在下面: 我面临的问题是没有调用回调,因此无法发出ping消息。以下是日志: 2018-02-18 19:02:20.589916+0530股票-蛋糕[10965:3662189]日志SocketManager:添加引

  • 我正在我的ubuntu上运行Hive2,并尝试通过hive接口和Beeline\JDBC创建表。我通过配置单元接口创建表没有问题,但是当通过jdbc访问时,我得到一个权限被拒绝的错误。 从异常中,我看到它试图在一个不存在的目录中创建表(/user/hive/warehouse/...) 那么它为什么要在/user/hive/warehouse下创建metastore_db呢?

  • 我试图写一个存储过程。通过SQL浏览器创建它很顺利,但是当我把它保存在SQL文件中并通过SQLTool加载它时,它失败了 我收到以下错误 调用SqlTool。objectMain(sqlToolParams); 在哪里 我需要帮助纠正语法。 我试图从他那里得到线索http://hsqldb.org/doc/2.0/util-guide/sqltool-chapt.html#sqltool_raw-

  • 我在通过作曲家安装的谷歌 apiclient 2.0.0 连接时遇到问题。 以下是我到目前为止所做的: 我通过作曲家安装了蜜蜂。 我去https://console.cloud.google.com/apis/credentials?my-project导航到API管理器 我为服务帐户创建了凭据并下载了json。然后我将json上传到我的服务器。 我通过管理我的服务帐户为该帐户启用了域范围委托。

  • 经过安装Spring屋顶的痛苦。我正在尝试创建一个项目。然而,在通过spring shell创建了pojo之后,我现在正在创建spring存储库。我运行了以下命令来创建POJO 到目前为止一切都很好,但麻烦来了: 我立刻得到这个消息——实体选项应该是一个实体。我被卡住了。我尝试删除pojo并运行以下命令: 我得到的消息是:< code >“选项‘test automatically’,‘activ