Skip to content

Commit edce123

Browse files
authored
Service bus delivery count (#26)
1 parent 3d19c2a commit edce123

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

azure/functions/_servicebus.py

+6
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@ def correlation_id(self) -> typing.Optional[str]:
2323
"""Message correlation identifier."""
2424
pass
2525

26+
@property
27+
@abc.abstractmethod
28+
def delivery_count(self) -> typing.Optional[int]:
29+
"""Number of times delivery has been attempted."""
30+
pass
31+
2632
@property
2733
@abc.abstractmethod
2834
def expiration_time(self) -> typing.Optional[datetime.datetime]:

azure/functions/servicebus.py

+8
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ def __init__(
1414
body: bytes,
1515
content_type: typing.Optional[str]=None,
1616
correlation_id: typing.Optional[str]=None,
17+
delivery_count: typing.Optional[int]=0,
1718
expiration_time: typing.Optional[datetime.datetime]=None,
1819
label: typing.Optional[str]=None,
1920
message_id: str,
@@ -29,6 +30,7 @@ def __init__(
2930
self.__body = body
3031
self.__content_type = content_type
3132
self.__correlation_id = correlation_id
33+
self.__delivery_count = delivery_count
3234
self.__expiration_time = expiration_time
3335
self.__label = label
3436
self.__message_id = message_id
@@ -52,6 +54,10 @@ def content_type(self) -> typing.Optional[str]:
5254
def correlation_id(self) -> typing.Optional[str]:
5355
return self.__correlation_id
5456

57+
@property
58+
def delivery_count(self) -> typing.Optional[int]:
59+
return self.__delivery_count
60+
5561
@property
5662
def expiration_time(self) -> typing.Optional[datetime.datetime]:
5763
return self.__expiration_time
@@ -143,6 +149,8 @@ def decode(cls, data: meta.Datum, *,
143149
trigger_metadata, 'ContentType', python_type=str),
144150
correlation_id=cls._decode_trigger_metadata_field(
145151
trigger_metadata, 'CorrelationId', python_type=str),
152+
delivery_count=cls._decode_trigger_metadata_field(
153+
trigger_metadata, 'DeliveryCount', python_type=int),
146154
expiration_time=cls._parse_datetime_metadata(
147155
trigger_metadata, 'ExpirationTime'),
148156
label=cls._decode_trigger_metadata_field(

setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
setup(
55
name='azure-functions',
6-
version='1.0.3',
6+
version='1.0.4',
77
description='Azure Functions for Python',
88
author='Microsoft Corporation',
99
author_email='[email protected]',

0 commit comments

Comments
 (0)