Azure / Azure/azure-functions-python-library

[BUG] Service Bus Session ID is not available to Function code

Open
#103 2 comments 0 reactions 0 assignees View on GitHub
bug needs-investigation
Dominant language
Python
Stars
179
Forks
79
Avg merge
2d 8h
Merged PRs (30d)
2

Description

### Investigative information
###### Please provide the following:
IcM: 283549053 has an impacted function app with relevant detail

### Repro steps
1. Create a Function App that triggers off a Service bus session enabled queue.
###### Provide the steps required to reproduce the problem:

### Expected behavior
###### Provide a description of the expected behavior.

### Actual behavior
###### Provide a description of the actual behavior observed.

### Known workarounds
###### Provide a description of any known workarounds.
Fetch the session id from the nested field in the message:
msg.metadata["MessageSession"]["SessionId"]

### Contents of the requirements.txt file:
###### Provide the requirements.txt file to help us find out module related issues.
N/A

### Related information
###### Provide any related information

* Bindings used: Service Bus

```python
def main(msg: func.ServiceBusMessage):
logging.info('Python ServiceBus queue trigger processed message: %s',
msg.get_body().decode('utf-8'))
logging.info('Python msg.session_id - : %s', msg.metadata["MessageSession"]["SessionId"])
logging.info('Python msg.session_id1 - : %s', msg.session_id)
```

Output
```logs
[2022-02-09T00:36:58.242Z] Python msg.session_id - : {12229E1-B37B-4D29-AA0A-E367906C206E}
[2022-02-09T00:36:58.242Z] Python msg.session_id1 - : None
```

The [location where library sets session_id](https://github.com/Azure/azure-functions-python-library/blob/dev/azure/functions/servicebus.py#L274-L275).

```bash
curl -H "Authorization: SharedAccessSignature sr=SERVICE_BUS.servicebus.windows.net%2FINPUT_QUEUE&sig=XXXXXX&se=YYY&skn=RootManageSharedAccessKey" \
-H 'BrokerProperties: {"SessionId": "{12229E1-B37B-4D29-AA0A-E367906C206E}"}' \
-H "Content-Type: application/json" \
-d "HelloWorld" \
-X POST -i "https://servicebus-test-vameru.servicebus.windows.net/myinputqueue/messages\?timeout\=60"

HTTP/1.1 201 Created
Transfer-Encoding: chunked
Content-Type: application/xml; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000
Date: Wed, 09 Feb 2022 00:36:57 GMT
```

The Complete Metadata
```json
{
"UserProperties": {},
"DeliveryCount": 1,
"LockToken": "fc949e24-410f-4a78-853b-7b8ce125cb99",
"MessageSession": {
"LockedUntilUtc": "2022-02-08T22: 30: 52.33697Z",
"SessionId": "{17729E1-B37B-4D29-AA0A-E367906C206E}",
"RegisteredPlugins": [],
"ReceiveMode": 0,
"PrefetchCount": 0,
"LastPeekedSequenceNumber": 0,
"Path": "myinputqueue",
"OperationTimeout": "00: 01: 00",
"ServiceBusConnection": {
"Endpoint": "sb://servicebus-test-vameru.servicebus.windows.net",
"OperationTimeout": "00:01:00",
"RetryPolicy": {
"MinimalBackoff": "00:00:00",
"MaximumBackoff": "00:00:30",
"DeltaBackoff": "00:00:03",
"MaxRetryCount": 5,
"IsServerBusy": False,
"ServerBusyExceptionMessage": None
},
"TransportType": 0,
"TokenProvider": {},
"IsClosedOrClosing": False
},
"IsClosedOrClosing": False,
"OwnsConnection": False,
"ClientId": "MessageSession27myinputqueue_{17729E1-B37B-4D29-AA0A-E367906C206E}",
"RetryPolicy": {
"MinimalBackoff": "00:00:00",
"MaximumBackoff": "00:00:30",
"DeltaBackoff": "00:00:03",
"MaxRetryCount": 5,
"IsServerBusy": False,
"ServerBusyExceptionMessage": None
}
},
"ContentType": "application/json",
"SequenceNumber": 13,
"MessageReceiver": {
"LockedUntilUtc": "2022-02-08T22:30:52.33697Z",
"SessionId": "{17729E1-B37B-4D29-AA0A-E367906C206E}",
"RegisteredPlugins": [],
"ReceiveMode": 0,
"PrefetchCount": 0,
"LastPeekedSequenceNumber": 0,
"Path": "myinputqueue",
"OperationTimeout": "00:01:00",
"ServiceBusConnection": {
"Endpoint": "sb://servicebus-test-vameru.servicebus.windows.net",
"OperationTimeout": "00:01:00",
"RetryPolicy": {
"MinimalBackoff": "00:00:00",
"MaximumBackoff": "00:00:30",
"DeltaBackoff": "00:00:03",
"MaxRetryCount": 5,
"IsServerBusy": False,
"ServerBusyExceptionMessage": None
},
"TransportType": 0,
"TokenProvider": {},
"IsClosedOrClosing": False
},
"IsClosedOrClosing": False,
"OwnsConnection": False,
"ClientId": "MessageSession27myinputqueue_{17729E1-B37B-4D29-AA0A-E367906C206E}",
"RetryPolicy": {
"MinimalBackoff": "00:00:00",
"MaximumBackoff": "00:00:30",
"DeltaBackoff": "00:00:03",
"MaxRetryCount": 5,
"IsServerBusy": False,
"ServerBusyExceptionMessage": None
}
},
"EnqueuedTimeUtc": "2022-02-08T22:22:19.292Z",
"ExpiresAtUtc": "2022-02-22T22:22:19.292Z",
"MessageId": "806c77a2924441fe855697d39647e096"
}
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.