googleapis / googleapis/google-cloud-python

Provide a complete/high-level async client API

Đang mở
#15,918 8 bình luận 14 reaction 1 người được giao Được @larkee nhận Xem trên GitHub
api: spanner
Ngôn ngữ chính
Python
Star
5.4k
Fork
1.8k
Merge trung bình
3 ngày 4 giờ
Pull request đã merge (30 ngày)
122

Mô tả

**Is your feature request related to a problem? Please describe.**
The high-level `spanner.Client` API is all blocking methods. To develop a FastAPI service using Spanner as a datastore it would be good to be able to take advantage of Python's async features and interact with Spanner in an asyncio context.

**Describe the solution you'd like**
Provide a `spanner.AsyncClient` class that mirrors the API of `spanner.Client` but with `async` methods that allow usage in an async context without having to block on IO calls.

**Describe alternatives you've considered**
There is a low-level `AsyncSpannerClient` class that wraps the underlying gRPC API, but making use of this requires re-implementing large parts of the existing `spanner.Client` API and then having to maintain that code separately to the `python-spanner` library - in particular needing to manage session pooling and `ResultSet`/`PartialResultSet` response types, which is frustrating when a lot of this functionality already exists in this library, but only behind a blocking API

**Additional context**
I'm happy to contribute this feature if it is accepted.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.