23次发布

0.11.3 2024年7月2日
0.11.2 2023年12月11日
0.10.0 2023年5月6日
0.7.8 2023年3月21日
0.6.3 2021年10月25日

#149 in 异步

Download history 153/week @ 2024-05-03 79/week @ 2024-05-10 184/week @ 2024-05-17 83/week @ 2024-05-24 150/week @ 2024-05-31 239/week @ 2024-06-07 250/week @ 2024-06-14 268/week @ 2024-06-21 511/week @ 2024-06-28 252/week @ 2024-07-05 281/week @ 2024-07-12 213/week @ 2024-07-19 328/week @ 2024-07-26 224/week @ 2024-08-02 201/week @ 2024-08-09 211/week @ 2024-08-16

996 每月下载量
hedwig中使用

MIT/Apache

1MB
16K SLoC

另一个Google Cloud Platform包

Build status Crate Docs License

ya-gcp提供了一组用于与Google Cloud Platform (GCP)服务交互的API和实用工具。

当前支持的服务

生产成熟度:

  • PubSub

Alpha成熟度:

  • Google Cloud Storage
  • Bigtable

不同的服务API可以通过启用编译时功能的模块访问。请参阅以下支持的功能列表。服务客户端使用ClientBuilder创建,它作为此库的入口点。

功能标志

以下标志可以启用以更改包含的代码

服务

  • pubsub启用PubSub API
  • storage启用GCS API
  • bigtable启用Bigtable API

杂项

  • rustls使用Rustls进行TLS支持,默认启用
  • openssl使用OpenSSL进行TLS支持
  • emulators包含对服务仿真的支持(可用于测试)

与其他crate的比较

一般来说,这个crate旨在为支持的服务提供开箱即用的舒适和健壮的接口。例如,身份验证处理应该是简单的,用户只需要提供凭证而不需要调用其他库。同样,应该提供惯用的Rust trait,例如为PubSub的订阅和发布提供StreamSink。其他与GCP交互的crate可能提供不同的权衡,例如支持更广泛的服务。

  • cloud-storage - 一个专门提供访问Google Cloud Storage的库。虽然其功能集很好,但并不特别灵活。它不支持替代的HTTP客户端或不同的身份验证流程。
  • tame-gcs - 一个允许访问GCS的库,但本身不提供执行IO的方法。ya-gcp内部使用tame-gcs为其GCS支持(提供IO层)
  • google-cloud - 一个结构与哲学与ya-gcp相似的库。支持更多的服务,尽管支持深度有时较少(例如,没有流式传输拉取请求和PubSub的重连)
  • google-pubsub1 - 这个crate,如同google-apis-rs中同一生成系统的其他crate,为其连接的服务提供了相对底层的绑定。用户需要自己提供HTTP客户端和身份验证,这使得使用变得困难。尽管如此,生成的crate彻底覆盖了许多 Google服务
  • google-cloud-rust - 仍然在很大程度上处于实验阶段。基于grpcio,它封装了C gRPC库,而ya-gcp基于Rust中的tonic

依赖项

~17–29MB
~543K SLoC