在 Julia 应用程序中使用 google 云存储

Working with google cloud storage in julia applications

我有一个与 julia 应用程序的 google 云存储相关的查询。 目前,我在 GCP 上托管了一个 julia 应用程序(docker 容器),并希望允许该应用程序利用云存储桶来写入和读取数据。

我探索了几个承诺执行此操作的包。

  1. GoogleCloud.jl 文档中的这个包显示了实现的清晰简洁的表示。但是,添加此包会导致 incremental compilation warning 许多包无法编译。我在他们的 github 页面上打开了一个问题:https://github.com/JuliaCloud/GoogleCloud.jl/issues/41

  2. GCP.jl 范围有限,目前只支持BigQuery

  3. Python 包裹google 这是非常有用和可操作的,但会影响代码的性能。但请告知这是否是唯一可行的选择。

我想知道是否有其他方法可用于配置 julia 应用程序以使用 google 存储?

谢谢期待建议!

GCP.jl 很有前途,而且如果 Julia 支持 gRPC(见下文),您也许可以使用 gRPC。

发现

Google 有两种类型的 SDK(也称为客户端库)。 API 客户端库可用于 所有 Google 的 APIs| 服务。

云客户端库更新,语言更加特殊,但 可用于云。 Google 云存储 (GCS) 是云的一部分,但在这种情况下,我认为 API 客户端库值得追求...

Google 的 API (!) 客户端库是从所谓的发现文档自动生成的。有趣的是,GCP.jl specifically describes using Discovery 生成 BigQuery SDK 并提到您可以对任何其他 API 客户端库(即 GCS)使用相同的机制。

NOTE Explanation of Google Discovery

我不熟悉 Julia,但是,如果您能充分了解该 repo 以确认它正在使用 Discovery 文档生成 APIs,并且,如果您能弄清楚如何为 GCS 重新配置它,这种方法将为您提供 100% 保真度的云存储 SDK(以及任何其他 Google API|服务)。

其他人尝试使用该代码为表格生成 SDK,并且有一个 issue,因此它可能并不完美。

gRPC

Google publishes for the subset of its services that support gRPC. If you'd prefer to use gRPC, it ought be possible to use the Protobufs in Google's repo to define a gRPC client for Cloud Storage