我使用Google Cloud存储JavaXML API
将文件从客户端上传到Google Cloud Bucket,文件正在成功上传,但我希望上传的文件可以公开访问(希望文件具有公共-读取权限),如何在上传的文件上设置公共读取
ACL,从而使其公开访问。这是我用过的密码
httpTransport = GoogleNetHttpTransport.newTrustedTransport();
String p12Content = Files.readFirstLine(new File("key.p12"), Charset.defaultCharset());
Preconditions.checkArgument(!p12Content.startsWith("Please"), p12Content);
//[START snippet]
// Build a service account credential.
Path path = Paths.get(MyFilePath);
byte[] byteArray = java.nio.file.Files.readAllBytes(path);
HttpContent contentsend = new ByteArrayContent("text/plain", byteArray );
GoogleCredential credential = new GoogleCredential.Builder().setTransport(httpTransport)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId(SERVICE_ACCOUNT_EMAIL)
.setServiceAccountScopes(Collections.singleton(STORAGE_SCOPE))
.setServiceAccountPrivateKeyFromP12File(new File("key.p12"))
.build();
// Set up and execute a Google Cloud Storage request.
String URI = "https://storage.googleapis.com/" + BUCKET_NAME + "/myfile";
HttpRequestFactory requestFactory = httpTransport.createRequestFactory(credential);
GenericUrl url = new GenericUrl(URI);
HttpRequest request = requestFactory.buildPutRequest(url,contentsend);
HttpResponse response = request.execute();
包括一个"x-goog-acl"标头,其值为"Public-read",如下所示:
request.setHeader("x-goog-acl", "public-read");
更多信息,您可以查看这些留档页面:
https://cloud.google.com/storage/docs/reference-headers#xgoogacl https://cloud.google.com/storage/docs/access-control
我正在尝试建立一个基于python的基本谷歌应用引擎站点,允许用户将文件上传到谷歌云存储(主要是图像) 我已经阅读了JSON API和GCS客户端库概述(以及blobstore等)的文档,但仍然没有很好地了解哪种方法是最好的以及它们之间的关系。如果有人能概述一下,或者给我指出一些我可以查看的资源,那就太好了 此外,任何相关的示例代码都会非常有用。我已经能够在此处运行上载示例,但不确定它们是否对应用
我有一个要求,我需要上传文件到谷歌云存储(他拥有并完全维护它)桶。 这个谷歌云存储桶是由我的客户创建的。 我是谷歌云的新手,有亚马逊S3的经验。我在服务器上运行SSI,以将事务数据加载到平面文件。 我为谷歌云创建了一个示例帐户,并安装了谷歌SDK。我可以通过gsutil手动上传文件。 我的问题是 > 我应该如何建议我的客户共享凭据? 我如何连接到谷歌云存储与提供凭据独立? 如何通过以上两个步骤将文
我的情况是,当我以JSON字符串的形式从其他来源接收数据时,我希望将此字符串上载到Google云存储,而不将此字符串写入本地文件并上载此文件。有没有办法做到这一点。非常感谢。如下代码所示 因此,我预计Google云存储将有一个文件test.json,其中包含来自jsonString的内容
我正在考虑从Blobstore切换到Google云存储,以便在项目中上传图像(因为Google称Blobstore为“被取代”)。 在Blobstore中,多部分表单将直接提交(上传)到Blobstore,然后Blobstore将重写请求并重定向到GAE应用程序,以处理BlobKey。这意味着GAE应用程序的负载非常小。 有没有办法通过谷歌云存储(GCS)实现类似的工作流? 在读取和写入Googl
我在本地开发服务器上运行代码,但使用在项目上配置的GCS默认桶名。 Python 2.7版
如果在GCS上存储了一个。txt文件,该文件包含将用作一部分的单词列表,可以在apache beam管道中动态访问该列表吗?我知道我可以将这个列表定义为管道中的全局变量,但我不确定如何将整个文件读入列表,以及是否有任何beam技巧来实现这一点。有什么建议吗?这是我当前的实现,这是不工作的… 我得到以下错误“TypeError:类型'_invalidunpickledpCollection'的参数不