From c4aa350fa1f7c62e033e8e79e6862fdf7a90b0ba Mon Sep 17 00:00:00 2001 From: Vincent Tran Date: Wed, 22 Feb 2023 17:15:28 -0800 Subject: [PATCH 1/9] sync 80% done need *, logic --- .../azure/storage/queue/_queue_client.py | 110 ++++++++---------- 1 file changed, 50 insertions(+), 60 deletions(-) diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py index fa3c046150dd..2ea030491239 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py @@ -108,7 +108,7 @@ def __init__( self._client._config.version = get_api_version(kwargs) # pylint: disable=protected-access self._configure_encryption(kwargs) - def _format_url(self, hostname): + def _format_url(self, hostname: str) -> str: """Format the endpoint URL according to the current location mode hostname. """ @@ -200,17 +200,19 @@ def from_connection_string( conn_str, credential, 'queue') if 'secondary_hostname' not in kwargs: kwargs['secondary_hostname'] = secondary - return cls(account_url, queue_name=queue_name, credential=credential, **kwargs) # type: ignore + return cls(account_url, queue_name=queue_name, credential=credential, **kwargs) @distributed_trace - def create_queue(self, **kwargs): - # type: (Any) -> None + def create_queue( + self, metadata: Optional[Dict[str, Any]] = None, + **kwargs: Any + ) -> None: """Creates a new queue in the storage account. If a queue with the same name already exists, the operation fails with a `ResourceExistsError`. - :keyword dict(str,str) metadata: + :keyword Dict[str,str] metadata: A dict containing name-value pairs to associate with the queue as metadata. Note that metadata names preserve the case with which they were created, but are case-insensitive when set or read. @@ -234,11 +236,10 @@ def create_queue(self, **kwargs): :caption: Create a queue. """ headers = kwargs.pop('headers', {}) - metadata = kwargs.pop('metadata', None) timeout = kwargs.pop('timeout', None) - headers.update(add_metadata_headers(metadata)) # type: ignore + headers.update(add_metadata_headers(metadata)) try: - return self._client.queue.create( # type: ignore + return self._client.queue.create( metadata=metadata, timeout=timeout, headers=headers, @@ -248,8 +249,7 @@ def create_queue(self, **kwargs): process_storage_error(error) @distributed_trace - def delete_queue(self, **kwargs): - # type: (Any) -> None + def delete_queue(self, **kwargs: Any) -> None: """Deletes the specified queue and any messages it contains. When a queue is successfully deleted, it is immediately marked for deletion @@ -284,8 +284,7 @@ def delete_queue(self, **kwargs): process_storage_error(error) @distributed_trace - def get_queue_properties(self, **kwargs): - # type: (Any) -> QueueProperties + def get_queue_properties(self, **kwargs: Any) -> "QueueProperties": """Returns all user-defined metadata for the specified queue. The data returned does not include the queue's list of messages. @@ -313,14 +312,14 @@ def get_queue_properties(self, **kwargs): except HttpResponseError as error: process_storage_error(error) response.name = self.queue_name - return response # type: ignore + return response @distributed_trace - def set_queue_metadata(self, - metadata=None, # type: Optional[Dict[str, Any]] - **kwargs # type: Any - ): - # type: (...) -> None + def set_queue_metadata( + self, + metadata: Optional[Dict[str, Any]] = None, + **kwargs: Any + ) -> None: """Sets user-defined metadata on the specified queue. Metadata is associated with the queue as name-value pairs. @@ -328,7 +327,7 @@ def set_queue_metadata(self, :param metadata: A dict containing name-value pairs to associate with the queue as metadata. - :type metadata: dict(str, str) + :type metadata: Dict[str, str] :keyword int timeout: Sets the server-side timeout for the operation in seconds. For more details see https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. @@ -347,9 +346,9 @@ def set_queue_metadata(self, """ timeout = kwargs.pop('timeout', None) headers = kwargs.pop('headers', {}) - headers.update(add_metadata_headers(metadata)) # type: ignore + headers.update(add_metadata_headers(metadata)) try: - return self._client.queue.set_metadata( # type: ignore + return self._client.queue.set_metadata( timeout=timeout, headers=headers, cls=return_response_headers, @@ -358,8 +357,7 @@ def set_queue_metadata(self, process_storage_error(error) @distributed_trace - def get_queue_access_policy(self, **kwargs): - # type: (Any) -> Dict[str, AccessPolicy] + def get_queue_access_policy(self, **kwargs: Any) -> Dict[str, AccessPolicy]: """Returns details about any stored access policies specified on the queue that may be used with Shared Access Signatures. @@ -370,7 +368,7 @@ def get_queue_access_policy(self, **kwargs): see `here `_. :return: A dictionary of access policies associated with the queue. - :rtype: dict(str, ~azure.storage.queue.AccessPolicy) + :rtype: Dict[str, ~azure.storage.queue.AccessPolicy] """ timeout = kwargs.pop('timeout', None) try: @@ -383,11 +381,11 @@ def get_queue_access_policy(self, **kwargs): return {s.id: s.access_policy or AccessPolicy() for s in identifiers} @distributed_trace - def set_queue_access_policy(self, - signed_identifiers, # type: Dict[str, AccessPolicy] - **kwargs # type: Any - ): - # type: (...) -> None + def set_queue_access_policy( + self, + signed_identifiers: Dict[str, AccessPolicy], + **kwargs: Any + ) -> None: """Sets stored access policies for the queue that may be used with Shared Access Signatures. @@ -406,7 +404,7 @@ def set_queue_access_policy(self, SignedIdentifier access policies to associate with the queue. This may contain up to 5 elements. An empty dict will clear the access policies set on the service. - :type signed_identifiers: dict(str, ~azure.storage.queue.AccessPolicy) + :type signed_identifiers: Dict[str, ~azure.storage.queue.AccessPolicy] :keyword int timeout: Sets the server-side timeout for the operation in seconds. For more details see https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. @@ -434,7 +432,7 @@ def set_queue_access_policy(self, value.start = serialize_iso(value.start) value.expiry = serialize_iso(value.expiry) identifiers.append(SignedIdentifier(id=key, access_policy=value)) - signed_identifiers = identifiers # type: ignore + signed_identifiers = identifiers try: self._client.queue.set_access_policy( queue_acl=signed_identifiers or None, @@ -446,10 +444,9 @@ def set_queue_access_policy(self, @distributed_trace def send_message( self, - content, # type: Any - **kwargs # type: Any - ): - # type: (...) -> QueueMessage + content: Any, + **kwargs: Any + ) -> "QueueMessage": """Adds a new message to the back of the message queue. The visibility timeout specifies the time that the message will be @@ -540,8 +537,7 @@ def send_message( process_storage_error(error) @distributed_trace - def receive_message(self, **kwargs): - # type: (Any) -> QueueMessage + def receive_message(self, **kwargs: Any) -> QueueMessage: """Removes one message from the front of the queue. When the message is retrieved from the queue, the response includes the message @@ -600,8 +596,7 @@ def receive_message(self, **kwargs): process_storage_error(error) @distributed_trace - def receive_messages(self, **kwargs): - # type: (Any) -> ItemPaged[QueueMessage] + def receive_messages(self, **kwargs: Any) -> ItemPaged[QueueMessage]: """Removes one or more messages from the front of the queue. When a message is retrieved from the queue, the response includes the message @@ -684,13 +679,11 @@ def receive_messages(self, **kwargs): process_storage_error(error) @distributed_trace - def update_message(self, - message, # type: Any - pop_receipt=None, # type: Optional[str] - content=None, # type: Optional[Any] - **kwargs # type: Any - ): - # type: (...) -> QueueMessage + def update_message( + self, message: Any, + pop_receipt: Optional[str] = None, + content: Optional[Any] = None, **kwargs: Any + ) -> QueueMessage: """Updates the visibility timeout of a message. You can also use this operation to update the contents of a message. @@ -781,7 +774,7 @@ def update_message(self, encoded_message_text = self._config.message_encode_policy(message_text) updated = GenQueueMessage(message_text=encoded_message_text) else: - updated = None # type: ignore + updated = None try: response = self._client.message_id.update( queue_message=updated, @@ -803,11 +796,10 @@ def update_message(self, process_storage_error(error) @distributed_trace - def peek_messages(self, - max_messages=None, # type: Optional[int] - **kwargs # type: Any - ): - # type: (...) -> List[QueueMessage] + def peek_messages( + self, max_messages: Optional[int] = None, + **kwargs: Any + ) -> List[QueueMessage]: """Retrieves one or more messages from the front of the queue, but does not alter the visibility of the message. @@ -868,8 +860,7 @@ def peek_messages(self, process_storage_error(error) @distributed_trace - def clear_messages(self, **kwargs): - # type: (Any) -> None + def clear_messages(self, **kwargs: Any) -> None: """Deletes all messages from the specified queue. :keyword int timeout: @@ -895,12 +886,11 @@ def clear_messages(self, **kwargs): process_storage_error(error) @distributed_trace - def delete_message(self, - message, # type: Any - pop_receipt=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> None + def delete_message( + self, message: Any, + pop_receipt: Optional[str] = None, + **kwargs: Any + ) -> None: """Deletes the specified message. Normally after a client retrieves a message with the receive messages operation, From edc596be18b6cd92224ed4a85aaee3749b69bbe5 Mon Sep 17 00:00:00 2001 From: Vincent Tran Date: Wed, 22 Feb 2023 17:46:17 -0800 Subject: [PATCH 2/9] First attempt at *, --- .../azure/storage/queue/_queue_client.py | 28 ++++++++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py index 2ea030491239..db9307dc25af 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py @@ -445,6 +445,9 @@ def set_queue_access_policy( def send_message( self, content: Any, + *, + visibility_timeout: Optional[int] = None, + time_to_live: Optional[int] = 7, **kwargs: Any ) -> "QueueMessage": """Adds a new message to the back of the message queue. @@ -537,7 +540,12 @@ def send_message( process_storage_error(error) @distributed_trace - def receive_message(self, **kwargs: Any) -> QueueMessage: + def receive_message( + self, + *, + visibility_timeout: Optional[int] = None, + **kwargs: Any + ) -> QueueMessage: """Removes one message from the front of the queue. When the message is retrieved from the queue, the response includes the message @@ -596,7 +604,14 @@ def receive_message(self, **kwargs: Any) -> QueueMessage: process_storage_error(error) @distributed_trace - def receive_messages(self, **kwargs: Any) -> ItemPaged[QueueMessage]: + def receive_messages( + self, + *, + messages_per_page: Optional[int] = None, + visibility_timeout: Optional[int] = None, + max_messages: Optional[int] = None, + **kwargs: Any + ) -> ItemPaged[QueueMessage]: """Removes one or more messages from the front of the queue. When a message is retrieved from the queue, the response includes the message @@ -654,10 +669,7 @@ def receive_messages(self, **kwargs: Any) -> ItemPaged[QueueMessage]: :dedent: 12 :caption: Receive messages from the queue. """ - messages_per_page = kwargs.pop('messages_per_page', None) - visibility_timeout = kwargs.pop('visibility_timeout', None) timeout = kwargs.pop('timeout', None) - max_messages = kwargs.pop('max_messages', None) self._config.message_decode_policy.configure( require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, @@ -682,7 +694,10 @@ def receive_messages(self, **kwargs: Any) -> ItemPaged[QueueMessage]: def update_message( self, message: Any, pop_receipt: Optional[str] = None, - content: Optional[Any] = None, **kwargs: Any + content: Optional[Any] = None, + *, + visibility_timeout: Optional[int] = None, + **kwargs: Any ) -> QueueMessage: """Updates the visibility timeout of a message. You can also use this operation to update the contents of a message. @@ -734,7 +749,6 @@ def update_message( :dedent: 12 :caption: Update a message. """ - visibility_timeout = kwargs.pop('visibility_timeout', None) timeout = kwargs.pop('timeout', None) try: message_id = message.id From d8dc8c9e479be2c457659a6034ff604e396b86c6 Mon Sep 17 00:00:00 2001 From: Vincent Tran Date: Mon, 27 Feb 2023 15:54:37 -0800 Subject: [PATCH 3/9] Async + unify sync spacing --- .../azure/storage/queue/_queue_client.py | 12 +- .../storage/queue/aio/_queue_client_async.py | 113 ++++++++++-------- 2 files changed, 67 insertions(+), 58 deletions(-) diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py index db9307dc25af..cb32193a2063 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py @@ -168,7 +168,7 @@ def from_connection_string( queue_name: str, credential: Optional[Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]] = None, # pylint: disable=line-too-long **kwargs: Any - ) -> Self: + ) -> Self: """Create QueueClient from a Connection String. :param str conn_str: @@ -204,7 +204,7 @@ def from_connection_string( @distributed_trace def create_queue( - self, metadata: Optional[Dict[str, Any]] = None, + self, metadata: Optional[Dict[str, str]] = None, **kwargs: Any ) -> None: """Creates a new queue in the storage account. @@ -316,8 +316,7 @@ def get_queue_properties(self, **kwargs: Any) -> "QueueProperties": @distributed_trace def set_queue_metadata( - self, - metadata: Optional[Dict[str, Any]] = None, + self, metadata: Optional[Dict[str, str]] = None, **kwargs: Any ) -> None: """Sets user-defined metadata on the specified queue. @@ -447,7 +446,7 @@ def send_message( content: Any, *, visibility_timeout: Optional[int] = None, - time_to_live: Optional[int] = 7, + time_to_live: Optional[int] = None, **kwargs: Any ) -> "QueueMessage": """Adds a new message to the back of the message queue. @@ -499,8 +498,6 @@ def send_message( :dedent: 12 :caption: Send messages. """ - visibility_timeout = kwargs.pop('visibility_timeout', None) - time_to_live = kwargs.pop('time_to_live', None) timeout = kwargs.pop('timeout', None) try: self._config.message_encode_policy.configure( @@ -583,7 +580,6 @@ def receive_message( :dedent: 12 :caption: Receive one message from the queue. """ - visibility_timeout = kwargs.pop('visibility_timeout', None) timeout = kwargs.pop('timeout', None) self._config.message_decode_policy.configure( require_encryption=self.require_encryption, diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py b/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py index d70caf0452b9..ae8ee6510d01 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py @@ -95,14 +95,16 @@ def __init__( account_url, queue_name=queue_name, credential=credential, loop=loop, **kwargs ) self._client = AzureQueueStorage(self.url, base_url=self.url, - pipeline=self._pipeline, loop=loop) # type: ignore + pipeline=self._pipeline, loop=loop) self._client._config.version = get_api_version(kwargs) # pylint: disable=protected-access self._loop = loop self._configure_encryption(kwargs) @distributed_trace_async - async def create_queue(self, **kwargs): - # type: (Optional[Any]) -> None + async def create_queue( + self, metadata: Optional[Dict[str, str]] = None, + **kwargs: Any + ) -> None: """Creates a new queue in the storage account. If a queue with the same name already exists, the operation fails with @@ -134,17 +136,16 @@ async def create_queue(self, **kwargs): metadata = kwargs.pop('metadata', None) timeout = kwargs.pop('timeout', None) headers = kwargs.pop("headers", {}) - headers.update(add_metadata_headers(metadata)) # type: ignore + headers.update(add_metadata_headers(metadata)) try: - return await self._client.queue.create( # type: ignore + return await self._client.queue.create( metadata=metadata, timeout=timeout, headers=headers, cls=deserialize_queue_creation, **kwargs ) except HttpResponseError as error: process_storage_error(error) @distributed_trace_async - async def delete_queue(self, **kwargs): - # type: (Optional[Any]) -> None + async def delete_queue(self, **kwargs: Any) -> None: """Deletes the specified queue and any messages it contains. When a queue is successfully deleted, it is immediately marked for deletion @@ -179,8 +180,7 @@ async def delete_queue(self, **kwargs): process_storage_error(error) @distributed_trace_async - async def get_queue_properties(self, **kwargs): - # type: (Optional[Any]) -> QueueProperties + async def get_queue_properties(self, **kwargs: Any) -> "QueueProperties": """Returns all user-defined metadata for the specified queue. The data returned does not include the queue's list of messages. @@ -207,11 +207,13 @@ async def get_queue_properties(self, **kwargs): except HttpResponseError as error: process_storage_error(error) response.name = self.queue_name - return response # type: ignore + return response @distributed_trace_async - async def set_queue_metadata(self, metadata=None, **kwargs): - # type: (Optional[Dict[str, Any]], Optional[Any]) -> None + async def set_queue_metadata( + self, metadata: Optional[Dict[str, str]] = None, + **kwargs: Any + ) -> None: """Sets user-defined metadata on the specified queue. Metadata is associated with the queue as name-value pairs. @@ -238,17 +240,16 @@ async def set_queue_metadata(self, metadata=None, **kwargs): """ timeout = kwargs.pop('timeout', None) headers = kwargs.pop("headers", {}) - headers.update(add_metadata_headers(metadata)) # type: ignore + headers.update(add_metadata_headers(metadata)) try: - return await self._client.queue.set_metadata( # type: ignore + return await self._client.queue.set_metadata( timeout=timeout, headers=headers, cls=return_response_headers, **kwargs ) except HttpResponseError as error: process_storage_error(error) @distributed_trace_async - async def get_queue_access_policy(self, **kwargs): - # type: (Optional[Any]) -> Dict[str, Any] + async def get_queue_access_policy(self, **kwargs: Any) -> Dict[str, AccessPolicy]: """Returns details about any stored access policies specified on the queue that may be used with Shared Access Signatures. @@ -271,8 +272,11 @@ async def get_queue_access_policy(self, **kwargs): return {s.id: s.access_policy or AccessPolicy() for s in identifiers} @distributed_trace_async - async def set_queue_access_policy(self, signed_identifiers, **kwargs): - # type: (Dict[str, AccessPolicy], Optional[Any]) -> None + async def set_queue_access_policy( + self, + signed_identifiers: Dict[str, AccessPolicy], + **kwargs: Any + ) -> None: """Sets stored access policies for the queue that may be used with Shared Access Signatures. @@ -320,19 +324,21 @@ async def set_queue_access_policy(self, signed_identifiers, **kwargs): value.start = serialize_iso(value.start) value.expiry = serialize_iso(value.expiry) identifiers.append(SignedIdentifier(id=key, access_policy=value)) - signed_identifiers = identifiers # type: ignore + signed_identifiers = identifiers try: await self._client.queue.set_access_policy(queue_acl=signed_identifiers or None, timeout=timeout, **kwargs) except HttpResponseError as error: process_storage_error(error) @distributed_trace_async - async def send_message( # type: ignore - self, - content, # type: Any - **kwargs # type: Optional[Any] - ): - # type: (...) -> QueueMessage + async def send_message( + self, + content: Any, + *, + visibility_timeout: Optional[int] = None, + time_to_live: Optional[int] = None, + **kwargs: Any + ) -> "QueueMessage": """Adds a new message to the back of the message queue. The visibility timeout specifies the time that the message will be @@ -382,8 +388,6 @@ async def send_message( # type: ignore :dedent: 16 :caption: Send messages. """ - visibility_timeout = kwargs.pop('visibility_timeout', None) - time_to_live = kwargs.pop('time_to_live', None) timeout = kwargs.pop('timeout', None) try: self._config.message_encode_policy.configure( @@ -424,8 +428,12 @@ async def send_message( # type: ignore process_storage_error(error) @distributed_trace_async - async def receive_message(self, **kwargs): - # type: (Optional[Any]) -> QueueMessage + async def receive_message( + self, + *, + visibility_timeout: Optional[int] = None, + **kwargs: Any + ) -> QueueMessage: """Removes one message from the front of the queue. When the message is retrieved from the queue, the response includes the message @@ -463,7 +471,6 @@ async def receive_message(self, **kwargs): :dedent: 12 :caption: Receive one message from the queue. """ - visibility_timeout = kwargs.pop('visibility_timeout', None) timeout = kwargs.pop('timeout', None) self._config.message_decode_policy.configure( require_encryption=self.require_encryption, @@ -484,8 +491,14 @@ async def receive_message(self, **kwargs): process_storage_error(error) @distributed_trace - def receive_messages(self, **kwargs): - # type: (Optional[Any]) -> AsyncItemPaged[QueueMessage] + def receive_messages( + self, + *, + messages_per_page: Optional[int] = None, + visibility_timeout: Optional[int] = None, + max_messages: Optional[int] = None, + **kwargs: Any + ) -> AsyncItemPaged[QueueMessage]: """Removes one or more messages from the front of the queue. When a message is retrieved from the queue, the response includes the message @@ -534,10 +547,7 @@ def receive_messages(self, **kwargs): :dedent: 16 :caption: Receive messages from the queue. """ - messages_per_page = kwargs.pop('messages_per_page', None) - visibility_timeout = kwargs.pop('visibility_timeout', None) timeout = kwargs.pop('timeout', None) - max_messages = kwargs.pop('max_messages', None) self._config.message_decode_policy.configure( require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, @@ -561,13 +571,13 @@ def receive_messages(self, **kwargs): @distributed_trace_async async def update_message( - self, - message, - pop_receipt=None, - content=None, - **kwargs - ): - # type: (Any, int, Optional[str], Optional[Any], Any) -> QueueMessage + self, message: Any, + pop_receipt: Optional[str] = None, + content: Optional[Any] = None, + *, + visibility_timeout: Optional[int] = None, + **kwargs: Any + ) -> QueueMessage: """Updates the visibility timeout of a message. You can also use this operation to update the contents of a message. @@ -618,7 +628,6 @@ async def update_message( :dedent: 16 :caption: Update a message. """ - visibility_timeout = kwargs.pop('visibility_timeout', None) timeout = kwargs.pop('timeout', None) try: message_id = message.id @@ -660,7 +669,7 @@ async def update_message( encoded_message_text = self._config.message_encode_policy(message_text) updated = GenQueueMessage(message_text=encoded_message_text) else: - updated = None # type: ignore + updated = None try: response = await self._client.message_id.update( queue_message=updated, @@ -683,8 +692,10 @@ async def update_message( process_storage_error(error) @distributed_trace_async - async def peek_messages(self, max_messages=None, **kwargs): - # type: (Optional[int], Optional[Any]) -> List[QueueMessage] + async def peek_messages( + self, max_messages: Optional[int] = None, + **kwargs: Any + ) -> List[QueueMessage]: """Retrieves one or more messages from the front of the queue, but does not alter the visibility of the message. @@ -744,8 +755,7 @@ async def peek_messages(self, max_messages=None, **kwargs): process_storage_error(error) @distributed_trace_async - async def clear_messages(self, **kwargs): - # type: (Optional[Any]) -> None + async def clear_messages(self, **kwargs: Any) -> None: """Deletes all messages from the specified queue. :keyword int timeout: @@ -771,8 +781,11 @@ async def clear_messages(self, **kwargs): process_storage_error(error) @distributed_trace_async - async def delete_message(self, message, pop_receipt=None, **kwargs): - # type: (Any, Optional[str], Any) -> None + async def delete_message( + self, message: Any, + pop_receipt: Optional[str] = None, + **kwargs: Any + ) -> None: """Deletes the specified message. Normally after a client retrieves a message with the receive messages operation, From b575bd86f38b1ec437392c229c4708c18d08cde9 Mon Sep 17 00:00:00 2001 From: Vincent Tran Date: Mon, 6 Mar 2023 14:12:57 -0800 Subject: [PATCH 4/9] Fix CI --- .../storage/queue/aio/_queue_client_async.py | 1 - ...e_queue_fail_on_exist_different_metadata.json | 16 ++++++++-------- ...orageQueuetest_create_queue_with_options.json | 12 ++++++------ 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py b/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py index 45ce41c3f0fa..2659ca55a31a 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py @@ -133,7 +133,6 @@ async def create_queue( :dedent: 12 :caption: Create a queue. """ - metadata = kwargs.pop('metadata', None) timeout = kwargs.pop('timeout', None) headers = kwargs.pop("headers", {}) headers.update(add_metadata_headers(metadata)) diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_fail_on_exist_different_metadata.json b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_fail_on_exist_different_metadata.json index d73b2249c2b6..83b3c39cba7b 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_fail_on_exist_different_metadata.json +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_fail_on_exist_different_metadata.json @@ -7,15 +7,15 @@ "Accept": "application/xml", "Accept-Encoding": "gzip, deflate", "Content-Length": "0", - "User-Agent": "azsdk-python-storage-queue/12.5.1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", - "x-ms-date": "Thu, 27 Oct 2022 22:34:58 GMT", + "User-Agent": "azsdk-python-storage-queue/12.7.0b1 Python/3.11.1 (Windows-10-10.0.22621-SP0)", + "x-ms-date": "Mon, 06 Mar 2023 22:12:05 GMT", "x-ms-version": "2021-02-12" }, "RequestBody": null, "StatusCode": 201, "ResponseHeaders": { "Content-Length": "0", - "Date": "Thu, 27 Oct 2022 22:34:57 GMT", + "Date": "Mon, 06 Mar 2023 22:11:45 GMT", "Server": [ "Windows-Azure-Queue/1.0", "Microsoft-HTTPAPI/2.0" @@ -31,8 +31,8 @@ "Accept": "application/xml", "Accept-Encoding": "gzip, deflate", "Content-Length": "0", - "User-Agent": "azsdk-python-storage-queue/12.5.1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", - "x-ms-date": "Thu, 27 Oct 2022 22:34:58 GMT", + "User-Agent": "azsdk-python-storage-queue/12.7.0b1 Python/3.11.1 (Windows-10-10.0.22621-SP0)", + "x-ms-date": "Mon, 06 Mar 2023 22:12:06 GMT", "x-ms-meta": "{\u0027val\u0027: \u0027value\u0027}", "x-ms-meta-val": "value", "x-ms-version": "2021-02-12" @@ -42,7 +42,7 @@ "ResponseHeaders": { "Content-Length": "222", "Content-Type": "application/xml", - "Date": "Thu, 27 Oct 2022 22:34:57 GMT", + "Date": "Mon, 06 Mar 2023 22:11:45 GMT", "Server": [ "Windows-Azure-Queue/1.0", "Microsoft-HTTPAPI/2.0" @@ -52,8 +52,8 @@ }, "ResponseBody": [ "\uFEFF\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003CError\u003E\u003CCode\u003EQueueAlreadyExists\u003C/Code\u003E\u003CMessage\u003EThe specified queue already exists.\n", - "RequestId:d57bc4b7-1003-0035-4954-ea9a35000000\n", - "Time:2022-10-27T22:34:58.1531981Z\u003C/Message\u003E\u003C/Error\u003E" + "RequestId:87cf181a-4003-0081-2278-5056fb000000\n", + "Time:2023-03-06T22:11:45.3353094Z\u003C/Message\u003E\u003C/Error\u003E" ] } ], diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_with_options.json b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_with_options.json index 8c9282339d2f..d3fc6af1fa78 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_with_options.json +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_with_options.json @@ -7,8 +7,8 @@ "Accept": "application/xml", "Accept-Encoding": "gzip, deflate", "Content-Length": "0", - "User-Agent": "azsdk-python-storage-queue/12.5.1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", - "x-ms-date": "Thu, 27 Oct 2022 22:34:58 GMT", + "User-Agent": "azsdk-python-storage-queue/12.7.0b1 Python/3.11.1 (Windows-10-10.0.22621-SP0)", + "x-ms-date": "Mon, 06 Mar 2023 22:11:41 GMT", "x-ms-meta": "{\u0027val1\u0027: \u0027test\u0027, \u0027val2\u0027: \u0027blah\u0027}", "x-ms-meta-val1": "test", "x-ms-meta-val2": "blah", @@ -18,7 +18,7 @@ "StatusCode": 201, "ResponseHeaders": { "Content-Length": "0", - "Date": "Thu, 27 Oct 2022 22:34:57 GMT", + "Date": "Mon, 06 Mar 2023 22:11:20 GMT", "Server": [ "Windows-Azure-Queue/1.0", "Microsoft-HTTPAPI/2.0" @@ -33,8 +33,8 @@ "RequestHeaders": { "Accept": "application/xml", "Accept-Encoding": "gzip, deflate", - "User-Agent": "azsdk-python-storage-queue/12.5.1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", - "x-ms-date": "Thu, 27 Oct 2022 22:34:58 GMT", + "User-Agent": "azsdk-python-storage-queue/12.7.0b1 Python/3.11.1 (Windows-10-10.0.22621-SP0)", + "x-ms-date": "Mon, 06 Mar 2023 22:11:42 GMT", "x-ms-version": "2021-02-12" }, "RequestBody": null, @@ -42,7 +42,7 @@ "ResponseHeaders": { "Cache-Control": "no-cache", "Content-Length": "0", - "Date": "Thu, 27 Oct 2022 22:34:57 GMT", + "Date": "Mon, 06 Mar 2023 22:11:21 GMT", "Server": [ "Windows-Azure-Queue/1.0", "Microsoft-HTTPAPI/2.0" From dfd24cfd546ae057c778233fd4668b4f1f09a8c1 Mon Sep 17 00:00:00 2001 From: Vincent Tran Date: Tue, 7 Mar 2023 13:38:40 -0800 Subject: [PATCH 5/9] Revert recordings --- ...queue_fail_on_exist_different_metadata.json | 18 +++++++++--------- ...ageQueuetest_create_queue_with_options.json | 14 +++++++------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_fail_on_exist_different_metadata.json b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_fail_on_exist_different_metadata.json index 83b3c39cba7b..528fbcd8f5d4 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_fail_on_exist_different_metadata.json +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_fail_on_exist_different_metadata.json @@ -7,15 +7,15 @@ "Accept": "application/xml", "Accept-Encoding": "gzip, deflate", "Content-Length": "0", - "User-Agent": "azsdk-python-storage-queue/12.7.0b1 Python/3.11.1 (Windows-10-10.0.22621-SP0)", - "x-ms-date": "Mon, 06 Mar 2023 22:12:05 GMT", + "User-Agent": "azsdk-python-storage-queue/12.5.1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 27 Oct 2022 22:34:58 GMT", "x-ms-version": "2021-02-12" }, "RequestBody": null, "StatusCode": 201, "ResponseHeaders": { "Content-Length": "0", - "Date": "Mon, 06 Mar 2023 22:11:45 GMT", + "Date": "Thu, 27 Oct 2022 22:34:57 GMT", "Server": [ "Windows-Azure-Queue/1.0", "Microsoft-HTTPAPI/2.0" @@ -31,8 +31,8 @@ "Accept": "application/xml", "Accept-Encoding": "gzip, deflate", "Content-Length": "0", - "User-Agent": "azsdk-python-storage-queue/12.7.0b1 Python/3.11.1 (Windows-10-10.0.22621-SP0)", - "x-ms-date": "Mon, 06 Mar 2023 22:12:06 GMT", + "User-Agent": "azsdk-python-storage-queue/12.5.1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 27 Oct 2022 22:34:58 GMT", "x-ms-meta": "{\u0027val\u0027: \u0027value\u0027}", "x-ms-meta-val": "value", "x-ms-version": "2021-02-12" @@ -42,7 +42,7 @@ "ResponseHeaders": { "Content-Length": "222", "Content-Type": "application/xml", - "Date": "Mon, 06 Mar 2023 22:11:45 GMT", + "Date": "Thu, 27 Oct 2022 22:34:57 GMT", "Server": [ "Windows-Azure-Queue/1.0", "Microsoft-HTTPAPI/2.0" @@ -52,10 +52,10 @@ }, "ResponseBody": [ "\uFEFF\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003CError\u003E\u003CCode\u003EQueueAlreadyExists\u003C/Code\u003E\u003CMessage\u003EThe specified queue already exists.\n", - "RequestId:87cf181a-4003-0081-2278-5056fb000000\n", - "Time:2023-03-06T22:11:45.3353094Z\u003C/Message\u003E\u003C/Error\u003E" + "RequestId:d57bc4b7-1003-0035-4954-ea9a35000000\n", + "Time:2022-10-27T22:34:58.1531981Z\u003C/Message\u003E\u003C/Error\u003E" ] } ], "Variables": {} -} +} \ No newline at end of file diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_with_options.json b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_with_options.json index d3fc6af1fa78..1d09ace4fbf1 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_with_options.json +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_with_options.json @@ -7,8 +7,8 @@ "Accept": "application/xml", "Accept-Encoding": "gzip, deflate", "Content-Length": "0", - "User-Agent": "azsdk-python-storage-queue/12.7.0b1 Python/3.11.1 (Windows-10-10.0.22621-SP0)", - "x-ms-date": "Mon, 06 Mar 2023 22:11:41 GMT", + "User-Agent": "azsdk-python-storage-queue/12.5.1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 27 Oct 2022 22:34:58 GMT", "x-ms-meta": "{\u0027val1\u0027: \u0027test\u0027, \u0027val2\u0027: \u0027blah\u0027}", "x-ms-meta-val1": "test", "x-ms-meta-val2": "blah", @@ -18,7 +18,7 @@ "StatusCode": 201, "ResponseHeaders": { "Content-Length": "0", - "Date": "Mon, 06 Mar 2023 22:11:20 GMT", + "Date": "Thu, 27 Oct 2022 22:34:57 GMT", "Server": [ "Windows-Azure-Queue/1.0", "Microsoft-HTTPAPI/2.0" @@ -33,8 +33,8 @@ "RequestHeaders": { "Accept": "application/xml", "Accept-Encoding": "gzip, deflate", - "User-Agent": "azsdk-python-storage-queue/12.7.0b1 Python/3.11.1 (Windows-10-10.0.22621-SP0)", - "x-ms-date": "Mon, 06 Mar 2023 22:11:42 GMT", + "User-Agent": "azsdk-python-storage-queue/12.5.1 Python/3.10.2 (Windows-10-10.0.19044-SP0)", + "x-ms-date": "Thu, 27 Oct 2022 22:34:58 GMT", "x-ms-version": "2021-02-12" }, "RequestBody": null, @@ -42,7 +42,7 @@ "ResponseHeaders": { "Cache-Control": "no-cache", "Content-Length": "0", - "Date": "Mon, 06 Mar 2023 22:11:21 GMT", + "Date": "Thu, 27 Oct 2022 22:34:57 GMT", "Server": [ "Windows-Azure-Queue/1.0", "Microsoft-HTTPAPI/2.0" @@ -57,4 +57,4 @@ } ], "Variables": {} -} +} \ No newline at end of file From 54fb7bca8ff6dc42a1081c43365dcd50cef01a04 Mon Sep 17 00:00:00 2001 From: Vincent Tran Date: Wed, 8 Mar 2023 16:50:54 -0800 Subject: [PATCH 6/9] PR feedback --- .../azure/storage/queue/_queue_client.py | 25 ++++++++----------- .../storage/queue/aio/_queue_client_async.py | 25 ++++++++----------- 2 files changed, 22 insertions(+), 28 deletions(-) diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py index fdcfe0936fb1..eaa04a1fdb70 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py @@ -204,7 +204,8 @@ def from_connection_string( @distributed_trace def create_queue( - self, metadata: Optional[Dict[str, str]] = None, + self, *, + metadata: Optional[Dict[str, str]] = None, **kwargs: Any ) -> None: """Creates a new queue in the storage account. @@ -381,8 +382,7 @@ def get_queue_access_policy(self, **kwargs: Any) -> Dict[str, AccessPolicy]: @distributed_trace def set_queue_access_policy( - self, - signed_identifiers: Dict[str, AccessPolicy], + self, signed_identifiers: Dict[str, AccessPolicy], **kwargs: Any ) -> None: """Sets stored access policies for the queue that may be used with Shared @@ -442,8 +442,7 @@ def set_queue_access_policy( @distributed_trace def send_message( - self, - content: Any, + self, content: Any, *, visibility_timeout: Optional[int] = None, time_to_live: Optional[int] = None, @@ -538,11 +537,10 @@ def send_message( @distributed_trace def receive_message( - self, - *, + self, *, visibility_timeout: Optional[int] = None, **kwargs: Any - ) -> QueueMessage: + ) -> Optional[QueueMessage]: """Removes one message from the front of the queue. When the message is retrieved from the queue, the response includes the message @@ -601,8 +599,7 @@ def receive_message( @distributed_trace def receive_messages( - self, - *, + self, *, messages_per_page: Optional[int] = None, visibility_timeout: Optional[int] = None, max_messages: Optional[int] = None, @@ -644,14 +641,14 @@ def receive_messages( larger than 7 days. The visibility timeout of a message cannot be set to a value later than the expiry time. visibility_timeout should be set to a value smaller than the time-to-live value. + :keyword int max_messages: + An integer that specifies the maximum number of messages to retrieve from the queue. :keyword int timeout: Sets the server-side timeout for the operation in seconds. For more details see https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. This value is not tracked or validated on the client. To configure client-side network timesouts see `here `_. - :keyword int max_messages: - An integer that specifies the maximum number of messages to retrieve from the queue. :return: Returns a message iterator of dict-like Message objects. :rtype: ~azure.core.paging.ItemPaged[~azure.storage.queue.QueueMessage] @@ -688,7 +685,7 @@ def receive_messages( @distributed_trace def update_message( - self, message: Any, + self, message: Union[str, QueueMessage], pop_receipt: Optional[str] = None, content: Optional[Any] = None, *, @@ -897,7 +894,7 @@ def clear_messages(self, **kwargs: Any) -> None: @distributed_trace def delete_message( - self, message: Any, + self, message: Union[str, QueueMessage], pop_receipt: Optional[str] = None, **kwargs: Any ) -> None: diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py b/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py index 2659ca55a31a..2ae4219f177e 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py @@ -102,7 +102,8 @@ def __init__( @distributed_trace_async async def create_queue( - self, metadata: Optional[Dict[str, str]] = None, + self, *, + metadata: Optional[Dict[str, str]] = None, **kwargs: Any ) -> None: """Creates a new queue in the storage account. @@ -272,8 +273,7 @@ async def get_queue_access_policy(self, **kwargs: Any) -> Dict[str, AccessPolicy @distributed_trace_async async def set_queue_access_policy( - self, - signed_identifiers: Dict[str, AccessPolicy], + self, signed_identifiers: Dict[str, AccessPolicy], **kwargs: Any ) -> None: """Sets stored access policies for the queue that may be used with Shared @@ -331,8 +331,7 @@ async def set_queue_access_policy( @distributed_trace_async async def send_message( - self, - content: Any, + self, content: Any, *, visibility_timeout: Optional[int] = None, time_to_live: Optional[int] = None, @@ -428,11 +427,10 @@ async def send_message( @distributed_trace_async async def receive_message( - self, - *, + self, *, visibility_timeout: Optional[int] = None, **kwargs: Any - ) -> QueueMessage: + ) -> Optional[QueueMessage]: """Removes one message from the front of the queue. When the message is retrieved from the queue, the response includes the message @@ -491,8 +489,7 @@ async def receive_message( @distributed_trace def receive_messages( - self, - *, + self, *, messages_per_page: Optional[int] = None, visibility_timeout: Optional[int] = None, max_messages: Optional[int] = None, @@ -525,14 +522,14 @@ def receive_messages( larger than 7 days. The visibility timeout of a message cannot be set to a value later than the expiry time. visibility_timeout should be set to a value smaller than the time-to-live value. + :keyword int max_messages: + An integer that specifies the maximum number of messages to retrieve from the queue. :keyword int timeout: Sets the server-side timeout for the operation in seconds. For more details see https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. This value is not tracked or validated on the client. To configure client-side network timesouts see `here `_. - :keyword int max_messages: - An integer that specifies the maximum number of messages to retrieve from the queue. :return: Returns a message iterator of dict-like Message objects. :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.storage.queue.QueueMessage] @@ -570,7 +567,7 @@ def receive_messages( @distributed_trace_async async def update_message( - self, message: Any, + self, message: Union[str, QueueMessage], pop_receipt: Optional[str] = None, content: Optional[Any] = None, *, @@ -781,7 +778,7 @@ async def clear_messages(self, **kwargs: Any) -> None: @distributed_trace_async async def delete_message( - self, message: Any, + self, message: Union[str, QueueMessage], pop_receipt: Optional[str] = None, **kwargs: Any ) -> None: From ae3f685bfeeb85a37e2f6e4b49f86851c53ee961 Mon Sep 17 00:00:00 2001 From: Vincent Tran Date: Thu, 16 Mar 2023 11:47:18 -0700 Subject: [PATCH 7/9] Revert recording, fix indents --- .../azure/storage/queue/_queue_client.py | 24 +++++++++---------- .../storage/queue/aio/_queue_client_async.py | 20 ++++++++-------- ...ueue_fail_on_exist_different_metadata.json | 2 +- ...geQueuetest_create_queue_with_options.json | 2 +- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py index eaa04a1fdb70..0c4f903b33df 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py @@ -82,7 +82,7 @@ def __init__( queue_name: str, credential: Optional[Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]] = None, # pylint: disable=line-too-long **kwargs: Any - ) -> None: + ) -> None: try: if not account_url.lower().startswith('http'): account_url = "https://" + account_url @@ -124,7 +124,7 @@ def from_queue_url( cls, queue_url: str, credential: Optional[Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]] = None, # pylint: disable=line-too-long **kwargs: Any - ) -> Self: + ) -> Self: """A client to interact with a specific Queue. :param str queue_url: The full URI to the queue, including SAS token if used. @@ -168,7 +168,7 @@ def from_connection_string( queue_name: str, credential: Optional[Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]] = None, # pylint: disable=line-too-long **kwargs: Any - ) -> Self: + ) -> Self: """Create QueueClient from a Connection String. :param str conn_str: @@ -207,7 +207,7 @@ def create_queue( self, *, metadata: Optional[Dict[str, str]] = None, **kwargs: Any - ) -> None: + ) -> None: """Creates a new queue in the storage account. If a queue with the same name already exists, the operation fails with @@ -319,7 +319,7 @@ def get_queue_properties(self, **kwargs: Any) -> "QueueProperties": def set_queue_metadata( self, metadata: Optional[Dict[str, str]] = None, **kwargs: Any - ) -> None: + ) -> None: """Sets user-defined metadata on the specified queue. Metadata is associated with the queue as name-value pairs. @@ -384,7 +384,7 @@ def get_queue_access_policy(self, **kwargs: Any) -> Dict[str, AccessPolicy]: def set_queue_access_policy( self, signed_identifiers: Dict[str, AccessPolicy], **kwargs: Any - ) -> None: + ) -> None: """Sets stored access policies for the queue that may be used with Shared Access Signatures. @@ -447,7 +447,7 @@ def send_message( visibility_timeout: Optional[int] = None, time_to_live: Optional[int] = None, **kwargs: Any - ) -> "QueueMessage": + ) -> "QueueMessage": """Adds a new message to the back of the message queue. The visibility timeout specifies the time that the message will be @@ -540,7 +540,7 @@ def receive_message( self, *, visibility_timeout: Optional[int] = None, **kwargs: Any - ) -> Optional[QueueMessage]: + ) -> Optional[QueueMessage]: """Removes one message from the front of the queue. When the message is retrieved from the queue, the response includes the message @@ -604,7 +604,7 @@ def receive_messages( visibility_timeout: Optional[int] = None, max_messages: Optional[int] = None, **kwargs: Any - ) -> ItemPaged[QueueMessage]: + ) -> ItemPaged[QueueMessage]: """Removes one or more messages from the front of the queue. When a message is retrieved from the queue, the response includes the message @@ -691,7 +691,7 @@ def update_message( *, visibility_timeout: Optional[int] = None, **kwargs: Any - ) -> QueueMessage: + ) -> QueueMessage: """Updates the visibility timeout of a message. You can also use this operation to update the contents of a message. @@ -806,7 +806,7 @@ def update_message( def peek_messages( self, max_messages: Optional[int] = None, **kwargs: Any - ) -> List[QueueMessage]: + ) -> List[QueueMessage]: """Retrieves one or more messages from the front of the queue, but does not alter the visibility of the message. @@ -897,7 +897,7 @@ def delete_message( self, message: Union[str, QueueMessage], pop_receipt: Optional[str] = None, **kwargs: Any - ) -> None: + ) -> None: """Deletes the specified message. Normally after a client retrieves a message with the receive messages operation, diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py b/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py index 2ae4219f177e..8a56f047af25 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py @@ -88,7 +88,7 @@ def __init__( queue_name: str, credential: Optional[Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]] = None, # pylint: disable=line-too-long **kwargs: Any - ) -> None: + ) -> None: kwargs["retry_policy"] = kwargs.get("retry_policy") or ExponentialRetry(**kwargs) loop = kwargs.pop('loop', None) super(QueueClient, self).__init__( @@ -105,7 +105,7 @@ async def create_queue( self, *, metadata: Optional[Dict[str, str]] = None, **kwargs: Any - ) -> None: + ) -> None: """Creates a new queue in the storage account. If a queue with the same name already exists, the operation fails with @@ -213,7 +213,7 @@ async def get_queue_properties(self, **kwargs: Any) -> "QueueProperties": async def set_queue_metadata( self, metadata: Optional[Dict[str, str]] = None, **kwargs: Any - ) -> None: + ) -> None: """Sets user-defined metadata on the specified queue. Metadata is associated with the queue as name-value pairs. @@ -275,7 +275,7 @@ async def get_queue_access_policy(self, **kwargs: Any) -> Dict[str, AccessPolicy async def set_queue_access_policy( self, signed_identifiers: Dict[str, AccessPolicy], **kwargs: Any - ) -> None: + ) -> None: """Sets stored access policies for the queue that may be used with Shared Access Signatures. @@ -336,7 +336,7 @@ async def send_message( visibility_timeout: Optional[int] = None, time_to_live: Optional[int] = None, **kwargs: Any - ) -> "QueueMessage": + ) -> "QueueMessage": """Adds a new message to the back of the message queue. The visibility timeout specifies the time that the message will be @@ -430,7 +430,7 @@ async def receive_message( self, *, visibility_timeout: Optional[int] = None, **kwargs: Any - ) -> Optional[QueueMessage]: + ) -> Optional[QueueMessage]: """Removes one message from the front of the queue. When the message is retrieved from the queue, the response includes the message @@ -494,7 +494,7 @@ def receive_messages( visibility_timeout: Optional[int] = None, max_messages: Optional[int] = None, **kwargs: Any - ) -> AsyncItemPaged[QueueMessage]: + ) -> AsyncItemPaged[QueueMessage]: """Removes one or more messages from the front of the queue. When a message is retrieved from the queue, the response includes the message @@ -573,7 +573,7 @@ async def update_message( *, visibility_timeout: Optional[int] = None, **kwargs: Any - ) -> QueueMessage: + ) -> QueueMessage: """Updates the visibility timeout of a message. You can also use this operation to update the contents of a message. @@ -691,7 +691,7 @@ async def update_message( async def peek_messages( self, max_messages: Optional[int] = None, **kwargs: Any - ) -> List[QueueMessage]: + ) -> List[QueueMessage]: """Retrieves one or more messages from the front of the queue, but does not alter the visibility of the message. @@ -781,7 +781,7 @@ async def delete_message( self, message: Union[str, QueueMessage], pop_receipt: Optional[str] = None, **kwargs: Any - ) -> None: + ) -> None: """Deletes the specified message. Normally after a client retrieves a message with the receive messages operation, diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_fail_on_exist_different_metadata.json b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_fail_on_exist_different_metadata.json index 528fbcd8f5d4..d73b2249c2b6 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_fail_on_exist_different_metadata.json +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_fail_on_exist_different_metadata.json @@ -58,4 +58,4 @@ } ], "Variables": {} -} \ No newline at end of file +} diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_with_options.json b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_with_options.json index 1d09ace4fbf1..8c9282339d2f 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_with_options.json +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.pyTestAsyncStorageQueuetest_create_queue_with_options.json @@ -57,4 +57,4 @@ } ], "Variables": {} -} \ No newline at end of file +} From 1ac7b51a46539dbd5317410cfcb6a670fe128472 Mon Sep 17 00:00:00 2001 From: Vincent Tran Date: Thu, 16 Mar 2023 16:23:39 -0700 Subject: [PATCH 8/9] indent, again :D --- .../azure/storage/queue/_queue_client.py | 84 +++++++++---------- .../storage/queue/aio/_queue_client_async.py | 70 ++++++++-------- 2 files changed, 77 insertions(+), 77 deletions(-) diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py index 0c4f903b33df..03b509d642be 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py @@ -78,10 +78,10 @@ class QueueClient(StorageAccountHostsMixin, StorageEncryptionMixin): :caption: Create the queue client with url and credential. """ def __init__( - self, account_url: str, - queue_name: str, - credential: Optional[Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]] = None, # pylint: disable=line-too-long - **kwargs: Any + self, account_url: str, + queue_name: str, + credential: Optional[Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]] = None, # pylint: disable=line-too-long + **kwargs: Any ) -> None: try: if not account_url.lower().startswith('http'): @@ -121,9 +121,9 @@ def _format_url(self, hostname: str) -> str: @classmethod def from_queue_url( - cls, queue_url: str, - credential: Optional[Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]] = None, # pylint: disable=line-too-long - **kwargs: Any + cls, queue_url: str, + credential: Optional[Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]] = None, # pylint: disable=line-too-long + **kwargs: Any ) -> Self: """A client to interact with a specific Queue. @@ -164,10 +164,10 @@ def from_queue_url( @classmethod def from_connection_string( - cls, conn_str: str, - queue_name: str, - credential: Optional[Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]] = None, # pylint: disable=line-too-long - **kwargs: Any + cls, conn_str: str, + queue_name: str, + credential: Optional[Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]] = None, # pylint: disable=line-too-long + **kwargs: Any ) -> Self: """Create QueueClient from a Connection String. @@ -204,9 +204,9 @@ def from_connection_string( @distributed_trace def create_queue( - self, *, - metadata: Optional[Dict[str, str]] = None, - **kwargs: Any + self, *, + metadata: Optional[Dict[str, str]] = None, + **kwargs: Any ) -> None: """Creates a new queue in the storage account. @@ -317,8 +317,8 @@ def get_queue_properties(self, **kwargs: Any) -> "QueueProperties": @distributed_trace def set_queue_metadata( - self, metadata: Optional[Dict[str, str]] = None, - **kwargs: Any + self, metadata: Optional[Dict[str, str]] = None, + **kwargs: Any ) -> None: """Sets user-defined metadata on the specified queue. @@ -382,8 +382,8 @@ def get_queue_access_policy(self, **kwargs: Any) -> Dict[str, AccessPolicy]: @distributed_trace def set_queue_access_policy( - self, signed_identifiers: Dict[str, AccessPolicy], - **kwargs: Any + self, signed_identifiers: Dict[str, AccessPolicy], + **kwargs: Any ) -> None: """Sets stored access policies for the queue that may be used with Shared Access Signatures. @@ -442,11 +442,11 @@ def set_queue_access_policy( @distributed_trace def send_message( - self, content: Any, - *, - visibility_timeout: Optional[int] = None, - time_to_live: Optional[int] = None, - **kwargs: Any + self, content: Any, + *, + visibility_timeout: Optional[int] = None, + time_to_live: Optional[int] = None, + **kwargs: Any ) -> "QueueMessage": """Adds a new message to the back of the message queue. @@ -537,9 +537,9 @@ def send_message( @distributed_trace def receive_message( - self, *, - visibility_timeout: Optional[int] = None, - **kwargs: Any + self, *, + visibility_timeout: Optional[int] = None, + **kwargs: Any ) -> Optional[QueueMessage]: """Removes one message from the front of the queue. @@ -599,11 +599,11 @@ def receive_message( @distributed_trace def receive_messages( - self, *, - messages_per_page: Optional[int] = None, - visibility_timeout: Optional[int] = None, - max_messages: Optional[int] = None, - **kwargs: Any + self, *, + messages_per_page: Optional[int] = None, + visibility_timeout: Optional[int] = None, + max_messages: Optional[int] = None, + **kwargs: Any ) -> ItemPaged[QueueMessage]: """Removes one or more messages from the front of the queue. @@ -685,12 +685,12 @@ def receive_messages( @distributed_trace def update_message( - self, message: Union[str, QueueMessage], - pop_receipt: Optional[str] = None, - content: Optional[Any] = None, - *, - visibility_timeout: Optional[int] = None, - **kwargs: Any + self, message: Union[str, QueueMessage], + pop_receipt: Optional[str] = None, + content: Optional[Any] = None, + *, + visibility_timeout: Optional[int] = None, + **kwargs: Any ) -> QueueMessage: """Updates the visibility timeout of a message. You can also use this operation to update the contents of a message. @@ -804,8 +804,8 @@ def update_message( @distributed_trace def peek_messages( - self, max_messages: Optional[int] = None, - **kwargs: Any + self, max_messages: Optional[int] = None, + **kwargs: Any ) -> List[QueueMessage]: """Retrieves one or more messages from the front of the queue, but does not alter the visibility of the message. @@ -894,9 +894,9 @@ def clear_messages(self, **kwargs: Any) -> None: @distributed_trace def delete_message( - self, message: Union[str, QueueMessage], - pop_receipt: Optional[str] = None, - **kwargs: Any + self, message: Union[str, QueueMessage], + pop_receipt: Optional[str] = None, + **kwargs: Any ) -> None: """Deletes the specified message. diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py b/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py index 8a56f047af25..8e4a2d908f0f 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py @@ -84,10 +84,10 @@ class QueueClient(AsyncStorageAccountHostsMixin, QueueClientBase, StorageEncrypt """ def __init__( - self, account_url: str, - queue_name: str, - credential: Optional[Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]] = None, # pylint: disable=line-too-long - **kwargs: Any + self, account_url: str, + queue_name: str, + credential: Optional[Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]] = None, # pylint: disable=line-too-long + **kwargs: Any ) -> None: kwargs["retry_policy"] = kwargs.get("retry_policy") or ExponentialRetry(**kwargs) loop = kwargs.pop('loop', None) @@ -102,9 +102,9 @@ def __init__( @distributed_trace_async async def create_queue( - self, *, - metadata: Optional[Dict[str, str]] = None, - **kwargs: Any + self, *, + metadata: Optional[Dict[str, str]] = None, + **kwargs: Any ) -> None: """Creates a new queue in the storage account. @@ -211,8 +211,8 @@ async def get_queue_properties(self, **kwargs: Any) -> "QueueProperties": @distributed_trace_async async def set_queue_metadata( - self, metadata: Optional[Dict[str, str]] = None, - **kwargs: Any + self, metadata: Optional[Dict[str, str]] = None, + **kwargs: Any ) -> None: """Sets user-defined metadata on the specified queue. @@ -273,8 +273,8 @@ async def get_queue_access_policy(self, **kwargs: Any) -> Dict[str, AccessPolicy @distributed_trace_async async def set_queue_access_policy( - self, signed_identifiers: Dict[str, AccessPolicy], - **kwargs: Any + self, signed_identifiers: Dict[str, AccessPolicy], + **kwargs: Any ) -> None: """Sets stored access policies for the queue that may be used with Shared Access Signatures. @@ -331,11 +331,11 @@ async def set_queue_access_policy( @distributed_trace_async async def send_message( - self, content: Any, - *, - visibility_timeout: Optional[int] = None, - time_to_live: Optional[int] = None, - **kwargs: Any + self, content: Any, + *, + visibility_timeout: Optional[int] = None, + time_to_live: Optional[int] = None, + **kwargs: Any ) -> "QueueMessage": """Adds a new message to the back of the message queue. @@ -427,9 +427,9 @@ async def send_message( @distributed_trace_async async def receive_message( - self, *, - visibility_timeout: Optional[int] = None, - **kwargs: Any + self, *, + visibility_timeout: Optional[int] = None, + **kwargs: Any ) -> Optional[QueueMessage]: """Removes one message from the front of the queue. @@ -489,11 +489,11 @@ async def receive_message( @distributed_trace def receive_messages( - self, *, - messages_per_page: Optional[int] = None, - visibility_timeout: Optional[int] = None, - max_messages: Optional[int] = None, - **kwargs: Any + self, *, + messages_per_page: Optional[int] = None, + visibility_timeout: Optional[int] = None, + max_messages: Optional[int] = None, + **kwargs: Any ) -> AsyncItemPaged[QueueMessage]: """Removes one or more messages from the front of the queue. @@ -567,12 +567,12 @@ def receive_messages( @distributed_trace_async async def update_message( - self, message: Union[str, QueueMessage], - pop_receipt: Optional[str] = None, - content: Optional[Any] = None, - *, - visibility_timeout: Optional[int] = None, - **kwargs: Any + self, message: Union[str, QueueMessage], + pop_receipt: Optional[str] = None, + content: Optional[Any] = None, + *, + visibility_timeout: Optional[int] = None, + **kwargs: Any ) -> QueueMessage: """Updates the visibility timeout of a message. You can also use this operation to update the contents of a message. @@ -689,8 +689,8 @@ async def update_message( @distributed_trace_async async def peek_messages( - self, max_messages: Optional[int] = None, - **kwargs: Any + self, max_messages: Optional[int] = None, + **kwargs: Any ) -> List[QueueMessage]: """Retrieves one or more messages from the front of the queue, but does not alter the visibility of the message. @@ -778,9 +778,9 @@ async def clear_messages(self, **kwargs: Any) -> None: @distributed_trace_async async def delete_message( - self, message: Union[str, QueueMessage], - pop_receipt: Optional[str] = None, - **kwargs: Any + self, message: Union[str, QueueMessage], + pop_receipt: Optional[str] = None, + **kwargs: Any ) -> None: """Deletes the specified message. From 1f6e1367a9ffecb5e55de7aecc678e6bfecd2393 Mon Sep 17 00:00:00 2001 From: Vincent Tran Date: Mon, 20 Mar 2023 15:00:50 -0700 Subject: [PATCH 9/9] Fix content docstring --- .../azure-storage-queue/azure/storage/queue/_queue_client.py | 4 ++-- .../azure/storage/queue/aio/_queue_client_async.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py index 03b509d642be..09e107e126a9 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_queue_client.py @@ -461,7 +461,7 @@ def send_message( If the key-encryption-key field is set on the local service object, this method will encrypt the content before uploading. - :param obj content: + :param Any content: Message content. Allowed type is determined by the encode_function set on the service. Default is str. The encoded message can be up to 64KB in size. @@ -712,7 +712,7 @@ def update_message( :param str pop_receipt: A valid pop receipt value returned from an earlier call to the :func:`~receive_messages` or :func:`~update_message` operation. - :param obj content: + :param Any content: Message content. Allowed type is determined by the encode_function set on the service. Default is str. :keyword int visibility_timeout: diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py b/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py index 8e4a2d908f0f..0eaf9010007f 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/aio/_queue_client_async.py @@ -350,7 +350,7 @@ async def send_message( If the key-encryption-key field is set on the local service object, this method will encrypt the content before uploading. - :param obj content: + :param Any content: Message content. Allowed type is determined by the encode_function set on the service. Default is str. The encoded message can be up to 64KB in size. @@ -594,7 +594,7 @@ async def update_message( :param str pop_receipt: A valid pop receipt value returned from an earlier call to the :func:`~receive_messages` or :func:`~update_message` operation. - :param obj content: + :param Any content: Message content. Allowed type is determined by the encode_function set on the service. Default is str. :keyword int visibility_timeout: