23次发布
0.11.3 | 2024年7月2日 |
---|---|
0.11.2 | 2023年12月11日 |
0.10.0 | 2023年5月6日 |
0.7.8 |
|
0.6.3 | 2021年10月25日 |
#149 in 异步
996 每月下载量
在hedwig中使用
1MB
16K SLoC
另一个Google Cloud Platform包
ya-gcp提供了一组用于与Google Cloud Platform (GCP)服务交互的API和实用工具。
当前支持的服务
生产成熟度:
- PubSub
Alpha成熟度:
- Google Cloud Storage
- Bigtable
不同的服务API可以通过启用编译时功能的模块访问。请参阅以下支持的功能列表。服务客户端使用ClientBuilder
创建,它作为此库的入口点。
功能标志
以下标志可以启用以更改包含的代码
服务
pubsub
启用PubSub APIstorage
启用GCS APIbigtable
启用Bigtable API
杂项
rustls
使用Rustls进行TLS支持,默认启用openssl
使用OpenSSL进行TLS支持emulators
包含对服务仿真的支持(可用于测试)
与其他crate的比较
一般来说,这个crate旨在为支持的服务提供开箱即用的舒适和健壮的接口。例如,身份验证处理应该是简单的,用户只需要提供凭证而不需要调用其他库。同样,应该提供惯用的Rust trait,例如为PubSub的订阅和发布提供Stream
和Sink
。其他与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