From 95d70ff34807f0a4d0621f4d856cd2c4d19dbf73 Mon Sep 17 00:00:00 2001 From: Libba Lawrence Date: Tue, 11 Jun 2024 16:03:36 -0700 Subject: [PATCH 1/8] update patch --- .../azure-eventgrid/azure/eventgrid/_operations/_patch.py | 6 ++++-- .../azure/eventgrid/aio/_operations/_patch.py | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_operations/_patch.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_operations/_patch.py index 166c23e99d12..3c6bcaa108e2 100644 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_operations/_patch.py +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_operations/_patch.py @@ -118,6 +118,8 @@ def send( # Try to send via namespace self._publish(self._namespace, _serialize_events(events), **kwargs) except Exception as exception: # pylint: disable=broad-except + if exception.response.status_code == 400: + raise HttpResponseError("Are the provided event(s) in CloudEvent format?") from exception self._http_response_error_handler(exception) raise exception else: @@ -307,8 +309,8 @@ def _serialize_events(events): # Try to serialize CNCF Cloud Events return [_from_cncf_events(e) for e in events] else: - # Does not conform to format - raise TypeError("Invalid event data. Please check the data is of Cloud Event type/format and try again.") + # Does not conform to format, try to send + return events def _serialize_cloud_event(cloud_event): diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_operations/_patch.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_operations/_patch.py index cf4bcf026e85..8947f9acdae0 100644 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_operations/_patch.py +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_operations/_patch.py @@ -102,6 +102,8 @@ async def send( # Try to send via namespace await self._publish(self._namespace, _serialize_events(events), **kwargs) except Exception as exception: # pylint: disable=broad-except + if exception.response.status_code == 400: + raise HttpResponseError("Are the provided event(s) in CloudEvent format?") from exception self._http_response_error_handler(exception) raise exception else: From 32cf94be20b4f19107da0e03ea976f36d80fd830 Mon Sep 17 00:00:00 2001 From: Libba Lawrence Date: Tue, 11 Jun 2024 16:03:53 -0700 Subject: [PATCH 2/8] update date --- sdk/eventgrid/azure-eventgrid/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/eventgrid/azure-eventgrid/CHANGELOG.md b/sdk/eventgrid/azure-eventgrid/CHANGELOG.md index 5fef29e01795..b9ebd38e51bb 100644 --- a/sdk/eventgrid/azure-eventgrid/CHANGELOG.md +++ b/sdk/eventgrid/azure-eventgrid/CHANGELOG.md @@ -1,6 +1,6 @@ # Release History -## 4.20.0 (2024-06-11) +## 4.20.0 (2024-06-12) ### Features Added From 362526e8efbe0fa07e6e980fe94ad431f559d286 Mon Sep 17 00:00:00 2001 From: Libba Lawrence Date: Tue, 11 Jun 2024 16:05:30 -0700 Subject: [PATCH 3/8] update link --- sdk/eventgrid/azure-eventgrid/migration_guide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/eventgrid/azure-eventgrid/migration_guide.md b/sdk/eventgrid/azure-eventgrid/migration_guide.md index 747d0746f29b..404e8a5aa69d 100644 --- a/sdk/eventgrid/azure-eventgrid/migration_guide.md +++ b/sdk/eventgrid/azure-eventgrid/migration_guide.md @@ -64,7 +64,7 @@ cloud_event = { | In v1.3 | Equivalent in v4.0 | Sample | |---|---|---| -|`EventGridClient(credentials)`|`EventGridPublisherClient(endpoint, credential)`|[Sample for client construction](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/eventgrid/azure-eventgrid/samples/sync_samples/sample_publish_events_using_cloud_events_1.0_schema.py)| +|`EventGridClient(credentials)`|`EventGridPublisherClient(endpoint, credential)`|[Sample for client construction](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/eventgrid/azure-eventgrid/samples/basic/sync_samples/sample_publish_events_using_cloud_events_1.0_schema.py)| ### Publishing Events @@ -72,7 +72,7 @@ The `publish_events` API is replaced with `send` in v4.0. Additionally, `send` A | In v1.3 | Equivalent in v4.0 | Sample | |---|---|---| -|`EventGridClient(credentials).publish_events(topic_hostname, events)`|`EventGridPublisherClient(endpoint, credential).send(events)`|[Sample for client construction](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/eventgrid/azure-eventgrid/samples/sync_samples/sample_publish_events_using_cloud_events_1.0_schema.py)| +|`EventGridClient(credentials).publish_events(topic_hostname, events)`|`EventGridPublisherClient(endpoint, credential).send(events)`|[Sample for client construction](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/eventgrid/azure-eventgrid/samples/basic/sync_samples/sample_publish_events_using_cloud_events_1.0_schema.py)| ### Consuming Events From ad2977a08c70e90a780afe9cf64ce30b34030349 Mon Sep 17 00:00:00 2001 From: Libba Lawrence Date: Tue, 11 Jun 2024 16:14:44 -0700 Subject: [PATCH 4/8] httpresponseerror --- sdk/eventgrid/azure-eventgrid/tests/test_dual_client_async.py | 2 +- sdk/eventgrid/azure-eventgrid/tests/test_eg_dual_client.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/eventgrid/azure-eventgrid/tests/test_dual_client_async.py b/sdk/eventgrid/azure-eventgrid/tests/test_dual_client_async.py index 47d3c66f234f..0e55ed91bfef 100644 --- a/sdk/eventgrid/azure-eventgrid/tests/test_dual_client_async.py +++ b/sdk/eventgrid/azure-eventgrid/tests/test_dual_client_async.py @@ -90,7 +90,7 @@ async def test_eg_dual_client_send_custom_event(self, **kwargs): await basic_client.send(custom_event) - with pytest.raises(TypeError): + with pytest.raises(HttpResponseError): await namespace_client.send(custom_event) @pytest.mark.live_test_only diff --git a/sdk/eventgrid/azure-eventgrid/tests/test_eg_dual_client.py b/sdk/eventgrid/azure-eventgrid/tests/test_eg_dual_client.py index 895609dc70d7..116f20928797 100644 --- a/sdk/eventgrid/azure-eventgrid/tests/test_eg_dual_client.py +++ b/sdk/eventgrid/azure-eventgrid/tests/test_eg_dual_client.py @@ -87,7 +87,7 @@ def test_eg_dual_client_send_custom_event(self, **kwargs): basic_client.send(custom_event) - with pytest.raises(TypeError): + with pytest.raises(HttpResponseError): namespace_client.send(custom_event) @pytest.mark.live_test_only From 32a8fc36afd7f97399836ccc7e34586b093c3f41 Mon Sep 17 00:00:00 2001 From: Libba Lawrence Date: Tue, 11 Jun 2024 16:19:27 -0700 Subject: [PATCH 5/8] update --- .../azure-eventgrid/azure/eventgrid/_operations/_patch.py | 5 ++++- .../azure/eventgrid/aio/_operations/_patch.py | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_operations/_patch.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_operations/_patch.py index 3c6bcaa108e2..67e94a90a81b 100644 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_operations/_patch.py +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_operations/_patch.py @@ -119,7 +119,10 @@ def send( self._publish(self._namespace, _serialize_events(events), **kwargs) except Exception as exception: # pylint: disable=broad-except if exception.response.status_code == 400: - raise HttpResponseError("Are the provided event(s) in CloudEvent format?") from exception + e = HttpResponseError("Are the provided event(s) in CloudEvent format?") + e.status_code = exception.response.status_code + e.reason = exception.response.reason + raise e self._http_response_error_handler(exception) raise exception else: diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_operations/_patch.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_operations/_patch.py index 8947f9acdae0..64fd3027b520 100644 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_operations/_patch.py +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_operations/_patch.py @@ -103,7 +103,10 @@ async def send( await self._publish(self._namespace, _serialize_events(events), **kwargs) except Exception as exception: # pylint: disable=broad-except if exception.response.status_code == 400: - raise HttpResponseError("Are the provided event(s) in CloudEvent format?") from exception + e = HttpResponseError("Are the provided event(s) in CloudEvent format?") + e.status_code = exception.response.status_code + e.reason = exception.response.reason + raise e self._http_response_error_handler(exception) raise exception else: From 445f68c43e2d794a25ea1ebba959bde7a21f4c9f Mon Sep 17 00:00:00 2001 From: Libba Lawrence Date: Tue, 11 Jun 2024 18:17:04 -0700 Subject: [PATCH 6/8] pylint --- .../azure/eventgrid/_operations/_patch.py | 11 ++++++----- .../azure/eventgrid/aio/_operations/_patch.py | 11 ++++++----- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_operations/_patch.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_operations/_patch.py index 67e94a90a81b..ec83d08b050e 100644 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_operations/_patch.py +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_operations/_patch.py @@ -118,11 +118,12 @@ def send( # Try to send via namespace self._publish(self._namespace, _serialize_events(events), **kwargs) except Exception as exception: # pylint: disable=broad-except - if exception.response.status_code == 400: - e = HttpResponseError("Are the provided event(s) in CloudEvent format?") - e.status_code = exception.response.status_code - e.reason = exception.response.reason - raise e + if isinstance(exception, HttpResponseError): + if exception.response.status_code == 400: + e = HttpResponseError("Are the provided event(s) in CloudEvent format?") + e.status_code = exception.response.status_code + e.reason = exception.response.reason + raise e # prlint: disable=raise-missing-from self._http_response_error_handler(exception) raise exception else: diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_operations/_patch.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_operations/_patch.py index 64fd3027b520..38d64dbf1566 100644 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_operations/_patch.py +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_operations/_patch.py @@ -102,11 +102,12 @@ async def send( # Try to send via namespace await self._publish(self._namespace, _serialize_events(events), **kwargs) except Exception as exception: # pylint: disable=broad-except - if exception.response.status_code == 400: - e = HttpResponseError("Are the provided event(s) in CloudEvent format?") - e.status_code = exception.response.status_code - e.reason = exception.response.reason - raise e + if isinstance(exception, HttpResponseError): + if exception.response.status_code == 400: + e = HttpResponseError("Are the provided event(s) in CloudEvent format?") + e.status_code = exception.response.status_code + e.reason = exception.response.reason + raise e # pylint: disable=raise-missing-from self._http_response_error_handler(exception) raise exception else: From b04c27bb1e8314bca1afe133bca774d23efc0043 Mon Sep 17 00:00:00 2001 From: Libba Lawrence Date: Tue, 11 Jun 2024 18:17:28 -0700 Subject: [PATCH 7/8] pylint --- .../azure-eventgrid/azure/eventgrid/_operations/_patch.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_operations/_patch.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_operations/_patch.py index ec83d08b050e..1ea51bd53b0d 100644 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_operations/_patch.py +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_operations/_patch.py @@ -123,7 +123,7 @@ def send( e = HttpResponseError("Are the provided event(s) in CloudEvent format?") e.status_code = exception.response.status_code e.reason = exception.response.reason - raise e # prlint: disable=raise-missing-from + raise e # pylint: disable=raise-missing-from self._http_response_error_handler(exception) raise exception else: From 36d1138d07d20508e21fc160fe8425f99c82cd21 Mon Sep 17 00:00:00 2001 From: Libba Lawrence Date: Wed, 12 Jun 2024 11:51:00 -0700 Subject: [PATCH 8/8] remove wrap --- .../azure-eventgrid/azure/eventgrid/_operations/_patch.py | 6 ------ .../azure/eventgrid/aio/_operations/_patch.py | 6 ------ 2 files changed, 12 deletions(-) diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_operations/_patch.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_operations/_patch.py index 1ea51bd53b0d..53855612b076 100644 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_operations/_patch.py +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/_operations/_patch.py @@ -118,12 +118,6 @@ def send( # Try to send via namespace self._publish(self._namespace, _serialize_events(events), **kwargs) except Exception as exception: # pylint: disable=broad-except - if isinstance(exception, HttpResponseError): - if exception.response.status_code == 400: - e = HttpResponseError("Are the provided event(s) in CloudEvent format?") - e.status_code = exception.response.status_code - e.reason = exception.response.reason - raise e # pylint: disable=raise-missing-from self._http_response_error_handler(exception) raise exception else: diff --git a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_operations/_patch.py b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_operations/_patch.py index 38d64dbf1566..cf4bcf026e85 100644 --- a/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_operations/_patch.py +++ b/sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_operations/_patch.py @@ -102,12 +102,6 @@ async def send( # Try to send via namespace await self._publish(self._namespace, _serialize_events(events), **kwargs) except Exception as exception: # pylint: disable=broad-except - if isinstance(exception, HttpResponseError): - if exception.response.status_code == 400: - e = HttpResponseError("Are the provided event(s) in CloudEvent format?") - e.status_code = exception.response.status_code - e.reason = exception.response.reason - raise e # pylint: disable=raise-missing-from self._http_response_error_handler(exception) raise exception else: