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

在Google Cloud Storage Go运行时客户端API上公开新创建的文件

龙毅
2023-03-14

Im使用Google Cloud Storage Go Runtime client API将Go server中的字符串写入默认bucket中的文件。这是代码

wc := storage.NewWriter(d.ctx, bucket, fileName)
wc.ContentType = "text/plain"
if _, err := wc.Write([]byte(myData)); err != nil {
        d.errorf("createFile: unable to write data to bucket %q, file %q: %v", bucket, fileName, err)
        return
}

但我无法在wc对象上设置正确的ACL权限以使文件公开??如何做到这一点,使创建的文件成为公共文件?

共有2个答案

微生毅
2023-03-14

你也可以这样做。

acl := client.Bucket(bucket).Object(object).ACL()
if err := acl.Set(ctx, storage.AllUsers, storage.RoleReader); err != nil {
        return err
}

这里是文档的链接。

子车劲
2023-03-14

尝试设置:

wc.ACL = []storage.ACLRule{{storage.AllUsers, storage.RoleReader}}

或者,您还可以更改bucket上的默认对象ACL,以便新创建的对象默认为公共可读。

 类似资料:
  • 创建客户端有两种方式,一种是直接使用特化的构造器函数,另一种是使用工厂构造器函数。 第一种方式返回的是具体的客户端结构体指针对象,第二种方式返回的是客户端接口对象。 使用特化的构造器函数创建客户端 特化的构造器函数有下面几个: func NewHTTPClient(uri ...string) (client *HTTPClient) func NewTCPClient(uri ...string

  • 问题内容: 我已经在crate上成功安装了elasticsearch head插件,可以访问其Web UI,但无法连接。我希望能够使用它来可视化基础Elasticsearch存储中的数据。有没有一种方法可以直接访问elasticsearch API,以便头部可以工作? 问题答案: 您将需要启用在文件内部完成的API 。更改的设置是: 但是,Elasticsearch插件可能无法立即使用,因为Cra

  • 我有一个RESTful服务在Java14SpringBoot微服务上运行。我从运行在Java 7应用程序上的客户机调用这个。 我有一个调用api的RESful客户端。当我从test方法调用它时,它成功工作,我得到了预期的结果,客户端和服务器上没有错误。 问题 当我在JBoss中启动Java7(Struts)应用程序,并通过同一个RESTful客户端调用api时,我收到了错误。 在 Java 14

  • 应如何管理它们? 一些更具体的问题: 根据定义,本机应用程序(实际上是公共客户端)不能安全地存储其凭据(client_id+secret)。是未注册的客户吗?如果我不能使用秘密来验证/验证它,我还应该做什么? 客户端注册≠endpoint注册:第一个是关于注册客户端凭据();第二个关于注册客户端重定向endpoint。重定向endpoint注册是否足以授予客户端的真实性? 客户端凭据授予是否使用相

  • 以下是我收到的错误: 文件“/users/abdul/documents/igui/rest/views.py”,第60行,在post new_project.create()文件“/users/abdul/istiovirenv/lib/python3.6/site-packages/google/cloud/resource_manager/project.py”,第138行,在create

  • 我是java和web服务以及的新手。我最近使用一些教程创建了一个web服务。当我第一次学习eclipse教程时,让我创建一个客户机。但是当我尝试创建一个新项目和一个新的web服务客户机时,它会给出。具体如下所示: im使用Axis2-1.6.1,它说java遵从性级别是6,我搜索了一下,但是找不到解决这个问题的相关方案。感谢任何帮助。