问题标签 [gcloud-java]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
125 浏览

java - Google Cloud Java 客户端库未通过 gradle 编译

我使用谷歌云端点作为后端服务器和谷歌云存储来托管项目的图像。现在我想创建一个端点来将图像文件上传到谷歌云存储桶。为此,我最终访问了这个google cloud java client github page

他们说,如果你想使用 gradle 编译,那么使用这一行:

编译'com.google.gcloud:gcloud-java:jar:0.1.0'

但是当我将此行添加到 gradle 文件时,它会在编译时出错:

错误:(35, 13) 无法解析:com.google.gcloud:gcloud-java:jar

我该如何解决这个问题?

谢谢!

0 投票
1 回答
597 浏览

java - 从 Gcloud 存储下载的图像或 Pdf 文件已损坏

我正在使用从 Gcloud 存储下载的文件作为 Mandrill API 的附件,以作为电子邮件附件发送。问题是它仅适用于文本文件,但对于图像或 Pdf,附件已损坏。 以下代码用于下载文件并将其转换为 Base64 编码的字符串。

我在 Mandrill API 的 MessageContent 的内容中设置了这个字符串。

0 投票
1 回答
592 浏览

google-cloud-storage - gcloud-java-storage Storage.BlobListOption.recursive(false) 不工作

我正在尝试根据这个建议在 appengine 之外的 GCS 存储桶上使用gcloud-java 存储来做一个非递归列表

然而,它似乎没有按预期工作,即它仍然列出了所有文件,尽管我已经设置了Storage.BlobListOption.recursive(false)

我的代码结构基本上是这样的: Storage client = StorageOptions.defaultInstance().service(); Page<Blob> blobPage = client.list(my_bucket, Storage.BlobListOption.recursive(false)); for (Blob blob : blobPage.values()) { // it is still iterating all the leaf files in my_bucket }

实际上后来我发现似乎没有一个BlobListOption似乎受到影响(maxResultsprefix)并且列表无论如何都会返回所有叶子文件......

我是否使用了错误的 API 或者可能是什么问题?

0 投票
1 回答
2084 浏览

java - 如何使用 Google Cloud Storage 验证我的 Java 应用程序?

我正在编写一个 Java 应用程序来与 Google Cloud Storage 中的文件进行交互。我发现gcloud-java我正在努力工作。

查看他们的示例,似乎我应该能够在使用 登录后简单地运行它们gcloud,但它似乎不起作用。我正在尝试运行StorageExample,上面写着“如果未提供,将使用已登录的项目”,但尽管登录,无论我是否指定,我都无法访问我的项目。

很明显我的环境出了点问题,但我该怎么做才能修复它?我想更正我的环境而不是更改示例。

笔记:

  • 我在 Windows 10 上的 Cygwin 2.0.4 中运行
  • 我不是通过 Maven 构建的,但我认为这不是问题的根源
0 投票
1 回答
157 浏览

java - 从 Google Cloud Storage 获取归档版本

如何通过 获取文件的存档版本gcloud-java列表?我在 中没有看到选项Bucket.list(),还有其他地方我应该寻找吗?

0 投票
0 回答
1942 浏览

java - 从 Google Cloud Storage 检索某个日期之前上传的最新文件

我正在尝试检索启用版本控制的 GCS 存储桶中某个时间之前上传的最新文件。例如:

假设我想获取在 2016 年 2 月 28 日结束时处于活动状态的文件(即#1456707567816000本例中的生成)。有没有比获取所有版本的列表并遍历它们更好的选择?

更新现实世界的例子:

我的工作是不断地重新生成一组文件(来自外部源)。一旦完成,它就会重新开始。来自外部源的错误在时间 X 开始,并呈现在该日期之后生成的所有文件损坏。我知道时间 X,但我不知道哪组文件已损坏。识别最新有效文件集(即比 X 更早的最新一代)的最简单方法是什么?

0 投票
1 回答
725 浏览

email - 将邮件从 GCLOUD 发送到其他电子邮件(gmail、yahoo)。喜欢邮箱验证链接、订阅确认

我不想去 sendgrid/google-email-api/mailgun 我已经映射了 DNS-A(host) @ 23.236.49.96 600 seconds sharenodes.com 但无法发送邮件。试过 properties.put("mail.smtp.port", "2525"); 但是没有收到邮件也没有错误。对于端口 25、465、587,它会抛出错误,因为 google 已阻止这些端口

0 投票
1 回答
506 浏览

google-cloud-platform - 如何使用 gcloud Java 客户端向实体添加列表属性?

我可以将属性设置为新实体:

我可以看到一种将列表添加为属性的方法:

但是,我找不到如何创建这个Value<String>. DatastoreV1 中有一个DatastoreHelper.makeValue()方法,但它创建了一个不同的Value对象。

0 投票
0 回答
84 浏览

google-app-engine - 模型数据存储应用程序

我正在寻找如何创建一个有效的模型来满足我在下面提出的要求。我曾尝试使用 gcloud-node,但注意到它在读取一致性、引用等方面存在限制。我更愿意将其编写为 nodejs,但只要它可以改进我的模型,就可以使用 java 或 python 编写。我正在围绕将于 ​​7 月 1 日推出的新定价模式进行构建。

我的应用程序包含一个封闭的电子邮件系统。本质上,发生的事情是用户注册到该站点。这些用户可以交朋友。然后他们可以互相发送电子邮件。

应用程序的组件:

用户 - 无限数量的用户可以加入。

好友 - 一个用户可以拥有 200 个已确认好友和 100 个待处理好友请求。检索好友列表时,它应该显示好友的姓名。(我还需要接收朋友的 ID,以便我可以在客户端使用它来创建电子邮件)。

电子邮件 - 用户可以向他们的朋友发送电子邮件,也可以接收来自朋友的电子邮件。然后,用户可以独立查看所有已发送的电子邮件(发件箱)和所有收到的电子邮件(收件箱)。他们还可以按最新查看自己和朋友订单之间发送的电子邮件。电子邮件应显示发件人和收件人姓名。阅读电子邮件后,需要将其标记为已读。

我的模型看起来像这样,但正如您所见,它们效率低下。

数据存储种类:

申请程序:

注册- 获取操作以查看是否存在使用此电子邮件的用户。如果不插入密钥。

登录- 获取基于电子邮件获取用户的操作。如果存在,则从实体中检索 hash_password 并与用户的输入进行比较。

发送好友请求- 好友数据将为每个关系写入两次。然后使用friend1上的索引和status上的索引,我将查询所有朋友的用户并仅过滤那些“待定”的朋友。然后我将计算这些朋友,看看他们是否超过 X。我将为其他用户再次执行此操作。如果他们都没有超过挂起的限制,我将插入好友请求。这需要在事务中运行。

接受好友请求- 好友数据将为每个关系写入两次。然后使用friend1 上的索引和status 上的索引,我将查询一个用户的所有朋友并仅过滤那些未决的朋友。然后我将计算这些朋友,看看他们是否超过 X。我将为其他用户再次执行此操作。如果它们都没有超过挂起的限制,我会将两个实体的状态更改为接受为交易。

显示已确认的好友- 好友数据将为每个关系写入两次。然后使用friend1上的索引和status上的索引,我将查询所有朋友的用户并仅过滤那些被接受的朋友。不知道我将如何显示朋友的名字(例如,如果用户更改了他们的名字会发生什么,这需要反映在所有朋友关系和电子邮件中!)。

显示待处理的朋友- 朋友数据将为每个关系写入两次。然后使用friend1 上的索引和status 上的索引,我将查询一个用户的所有朋友并仅过滤那些未决的朋友。不知道我将如何显示朋友的名字(例如,如果用户更改了他们的名字会发生什么,这需要反映在所有朋友关系和电子邮件中!)。

查看已发送的电子邮件- 使用 from 属性上的索引,我将查询以按 created_date 排序的时间(最新的优先)一次从用户 5 获取所有已发送的电子邮件。(例如,如果用户更改了他们的名字会发生什么,这需要反映在所有的朋友关系和电子邮件中!)。

查看收到的电子邮件- 使用 to 属性上的索引,我将查询一次将所有收到的电子邮件发送给用户 5,按 created_date 排序(最新的优先)。当看到一封电子邮件时,它会将实体 has_seen 属性更新为 true。(例如,如果用户更改了他们的名字会发生什么,这需要反映在所有的朋友关系和电子邮件中!)。

查看 2 个用户之间的电子邮件- 使用基于 [lower_lexicographic_email]:[higher_lexicographic_email] 的mutual_id 上的索引来查询相互电子邮件。按最新订购,一次 5 个。(例如,如果用户更改了他们的名字会发生什么,这需要反映在所有的朋友关系和电子邮件中!)。

创建电子邮件- 使用friend1 和状态索引我将确认用户是朋友。如果他们是朋友,我会插入一封电子邮件。

0 投票
2 回答
343 浏览

google-app-engine - gcloud-java 身份验证数据存储(在 0.1.7/0.2.0 中升级到 v1beta3)

我有一个使用 gcloud-java 0.1.4 运行一段时间的 java GAE 应用程序,并且想升级到 gcloud-java 0.1.7/0.2.0,因为我们遇到了几个 404 等(另一个问题)。当我们连接到另一个 GAE 应用程序中的数据存储实例时,我们正在使用 gcloud。

但是升级包后,我们的认证失败了。根据我在发行说明中读到的内容,我们必须在“主机”应用程序上重新启用 datastore-api,所以我们这样做了,但没有任何结果。再次“降级”时,应用程序按预期工作,但仍存在一些稳定性问题。

是否有其他未记录的修复/方法可以使其正常工作?

我的连接代码/功能看起来像(剥离):

编辑:

这是我得到的一些堆栈跟踪。