feat: expose `DELETE_OBJECT` in `AsyncGrpcClient` by chandra-siri · Pull Request #1718 · googleapis/python-storage · GitHub
Skip to content
This repository was archived by the owner on Mar 31, 2026. It is now read-only.

feat: expose DELETE_OBJECT in AsyncGrpcClient#1718

Merged
chandra-siri merged 5 commits into
mainfrom
metadata_ops_in_grpc
Jan 30, 2026
Merged

feat: expose DELETE_OBJECT in AsyncGrpcClient#1718
chandra-siri merged 5 commits into
mainfrom
metadata_ops_in_grpc

Conversation

@chandra-siri

@chandra-siri chandra-siri commented Jan 26, 2026

Copy link
Copy Markdown
Collaborator

Expose DELETE_OBJECT in AsyncGrpcClient

@product-auto-label product-auto-label Bot added size: m Pull request size is medium. api: storage Issues related to the googleapis/python-storage API. labels Jan 26, 2026
@gemini-code-assist

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

The pull request introduces an async_grpc_client with a delete_object method and includes corresponding unit and system tests. The delete_object method correctly constructs the gRPC request. However, there are some inconsistencies and potential issues in the system test's usage of the new method and a minor documentation detail in the async_grpc_client's docstring. The example usage in async_grpc_client.py also has a minor issue with error re-raising.

Comment thread tests/system/test_zonal.py Outdated
Comment on lines +577 to +578
"""
Test that a new writer when specifies `None` overrides the existing object.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The docstring for test_delete_object_using_grpc_client is incorrect. It describes a test for overriding an existing object, not for deleting an object. Please update it to accurately reflect the purpose of this test.

Suggested change

Comment thread tests/system/test_zonal.py Outdated
Comment thread google/cloud/storage/_experimental/asyncio/async_grpc_client.py Outdated
Comment thread google/cloud/storage/_experimental/asyncio/async_grpc_client.py Outdated
Comment thread google/cloud/storage/_experimental/asyncio/async_grpc_client.py Outdated
Comment thread google/cloud/storage/_experimental/asyncio/async_grpc_client.py Outdated
Comment thread google/cloud/storage/_experimental/asyncio/async_grpc_client.py Outdated
@chandra-siri chandra-siri changed the title init code for exposing metadata ops into grpcCient Expose DELETE_OBJECT in AsyncGrpcClient Jan 29, 2026
@chandra-siri chandra-siri marked this pull request as ready for review January 29, 2026 13:11
@chandra-siri chandra-siri requested review from a team January 29, 2026 13:11
@chandra-siri chandra-siri requested a review from a team as a code owner January 29, 2026 13:11
@chandra-siri chandra-siri changed the title Expose DELETE_OBJECT in AsyncGrpcClient feat: expose DELETE_OBJECT in AsyncGrpcClient Jan 29, 2026
@chandra-siri chandra-siri merged commit c8dd7a0 into main Jan 30, 2026
18 checks passed
@chandra-siri chandra-siri deleted the metadata_ops_in_grpc branch January 30, 2026 06:39
chandra-siri added a commit that referenced this pull request Feb 2, 2026
PR created by the Librarian CLI to initialize a release. Merging this PR
will auto trigger a release.

Librarian Version: v1.0.2-0.20251119154421-36c3e21ad3ac
Language Image:
us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:8e2c32496077054105bd06c54a59d6a6694287bc053588e24debe6da6920ad91
<details><summary>google-cloud-storage: 3.9.0</summary>

##
[3.9.0](v3.8.0...v3.9.0)
(2026-02-02)

### Features

* update generation for MRD (#1730)
([08bc708](08bc7082))

* add get_object method for async grpc client (#1735)
([0e5ec29](0e5ec29b))

* Add micro-benchmarks for reads comparing standard (regional) vs rapid
(zonal) buckets. (#1697)
([1917649](1917649f))

* Add support for opening via `write_handle` and fix `write_handle` type
(#1715)
([2bc15fa](2bc15fa5))

* add samples for appendable objects writes and reads
([2e1a1eb](2e1a1eb5))

* add samples for appendable objects writes and reads (#1705)
([2e1a1eb](2e1a1eb5))

* add context manager to mrd (#1724)
([5ac2808](5ac2808a))

* Move Zonal Buckets features of `_experimental` (#1728)
([74c9ecc](74c9ecc5))

* add default user agent for grpc (#1726)
([7b31946](7b319469))

* expose finalized_time in blob.py applicable for GET_OBJECT in ZB
(#1719)
([8e21a7f](8e21a7fe))

* expose `DELETE_OBJECT` in `AsyncGrpcClient` (#1718)
([c8dd7a0](c8dd7a0b))

* send `user_agent` to grpc channel (#1712)
([cdb2486](cdb2486b))

* integrate writes strategy and appendable object writer (#1695)
([dbd162b](dbd162b3))

* Add micro-benchmarks for writes comparing standard (regional) vs rapid
(zonal) buckets. (#1707)
([dbe9d8b](dbe9d8b8))

* add support for `generation=0` to avoid overwriting existing objects
and add `is_stream_open` support (#1709)
([ea0f5bf](ea0f5bf8))

* add support for `generation=0` to prevent overwriting existing objects
([ea0f5bf](ea0f5bf8))

* add `is_stream_open` property to AsyncAppendableObjectWriter for
stream status check
([ea0f5bf](ea0f5bf8))

### Bug Fixes

* receive eof while closing reads stream (#1733)
([2ef6339](2ef63396))

* update write handle on every recv() (#1716)
([5d9fafe](5d9fafe1))

* implement requests_done method to signal end of requests in async
streams. Gracefully close streams. (#1700)
([6c16079](6c160794))

* implement requests_done method to signal end of requests in async
streams. Gracefully close streams.
([6c16079](6c160794))

* instance grpc client once per process in benchmarks (#1725)
([721ea2d](721ea2dd))

* Fix formatting in setup.py dependencies list (#1713)
([cc4831d](cc4831d7))

* Change contructors of MRD and AAOW AsyncGrpcClient.grpc_client to
AsyncGrpcClient (#1727)
([e730bf5](e730bf50))

</details>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

api: storage Issues related to the googleapis/python-storage API. size: m Pull request size is medium.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants