Determine this is the right repository
Summary of the feature request
Currently there is no way to pass additional information from client using python-storage sdk asycio grpc client. Passing metadata per call is often necessary for providing additional client information for observability to the underlying gRPC streams. Exposing metadata in each call so upstream clients can pass necessary headers and info.
Desired code experience
fromgoogle.cloud.storage.asyncioimportStorageAsyncClientasyncdefmain():
client=StorageAsyncClient()
# Example passing custom client info metadataawaitclient.get_object(
bucket_name="my-bucket",
object_name="my-object",
metadata=(("x-goog-api-client", "test-ua/additional-info"),)
)
### Expected results_e.g. `my_new_feature()`shouldreturnFOO_### API client name and version`google-cloud-storage`### Use caseThisfeatureisusefulinobservabilityandtrackingscenarioswherecustominformation (likean`x-goog-api-client`header) needstobepassedasynchronouslyfromthepython-storageSDKdowntotheunderlyinggRPCstream.
### Additional contextIcurrentlyhaveaPRdraftedthatimplementsthisfunctionalityacross`async_grpc_client.py`, `AsyncAppendableObjectWriter`, and`AsyncMultiRangeDownloader`.
Determine this is the right repository
Summary of the feature request
Currently there is no way to pass additional information from client using python-storage sdk asycio grpc client. Passing metadata per call is often necessary for providing additional client information for observability to the underlying gRPC streams. Exposing
metadatain each call so upstream clients can pass necessary headers and info.Desired code experience