How to access IoTHubClient_Auth_Get_SasToken
We currently call IoTHubDeviceClient_LL_AzureStorageInitializeBlobUpload
and pass the SAS token to an external process. We are going to upload larger files and do not want to do it in the C/ADU code, thus the external process.
if (IoTHubDeviceClient_LL_AzureStorageInitializeBlobUpload(
device_ll_handle, path, &uploadCorrelationId, sas)
!= IOTHUB_CLIENT_OK)
The issue is that we also need to call IoTHubDeviceClient_LL_AzureStorageNotifyBlobUploadCompletion
or the files/notifications
endpoint or we get error 403006 "Number of active file upload requests exceeded limit"
AducIotAgent[21124]: Info: HTTP Response:{"Message":"{\"errorCode\":403006,\"message\":\"Number of active file upload requests exceeded limit\",\"trackingId\":\"395BB5681CF848498AA9C3227DE274D5-G2:-TimeStamp:2024-09-10T12:45:06.852386663Z\",\"timestampUtc\":\"2024-09-10T12:45:06.852386663Z\",\"info\":null}","ExceptionMessage":""}
We were planning to notify IoT by calling in the external process the equivalent of POST to https://our_iot_hub.azure-devices.net/devices/my-device/files/notifications
curl --request POST \
--url 'https://our_iot_hub.azure-devices.net/devices/my-device/files/notifications?api-version=2021-04-12' \
--header 'Authorization: SharedAccessSignature sr=our_iot_hub.azure-devices.net&sig=[REDACTED]&se=1726066175&skn=iothubowner' \
--header 'content-type: application/json' \
--data '{
"correlationId": "MjA....",
"isSuccess": true,
"statusCode": 200,
"statusDescription": "File uploaded successfully"
}'
In order to get this signature we would like to call the equivalent from the Azure IoT C SDK IoTHubClient_Auth_Get_SasToken
Any way we can do this?