Hello,
I installed an Orthanc server (version 1.12.7) on my workstation in order to test the AzureBlobStorage plugin (version 2.3.1).
On the azure side, I’ve created a storage account dedicated to my “storthanctest” need.
The plugin is configured like this:
{
"AzureBlobStorage" : {
"ConnectionString": "DefaultEndpointsProtocol=https;AccountName=storthanctest;AccountKey=;EndpointSuffix=core.windows.net",
"ContainerName" : "test-orthanc-storage-plugin",
"CreateContainerIfNotExists": true,
"RootPath": "",
"MigrationFromFileSystemEnabled": false,
"StorageStructure": "flat",
"HybridMode": "WriteToFileSystem"
}
}
The connection string is a copy/past from the “Access keys” menu in my storage account. I checked it with “Microsoft Azure Storage Explorer” and I can freely upload/delete file in the container “test-orthanc-storage-plugin”.
But, each time I try to upload a new Dicom, I have this error: "
E0611 15:22:02.081167 HTTP-6 PluginsManager.cpp:154] Azure Blob Storage: error while deleting object 0f4e7403-88eb-40a0-bbb5-761b050c1127: AzureBlobStorage: error while deleting file 0f4e7403-88eb-40a0-bbb5-761b050c1127.dcm: 404 The specified blob does not exist.
The specified blob does not exist.
RequestId:bfb49522-401e-00a9-7bd3-da73a0000000
Time:2025-06-11T13:22:02.1710468Z
Request ID: bfb49522-401e-00a9-7bd3-da73a0000000
I don’t understand why it’s trying to delete a file that doesn’t exist on the blob.
has anyone ever had this problem?
Have I misconfigured something on the orthanc side, or is it the rights on the Azure side?
Thanks for your help.
Hi Chris,
You should share more than one line of logs, logs in verbose mode tell a story 
Are you uploading a DICOM that is already in Orthanc ? If yes, Orthanc will have to delete either the new one or the old one and, in Hybrid mode, since the plugin does not know where the file is stored, it tries to delete it both from the local disk and from the blob. When it does not find it on the blob, it generates an error that is actually not an error (I already have a TODO about that).
For reference, this has been discussed here (about Google plugin)
Hope this helps,
Alain
Hi Alain,
Thanks for your reply.
I’ve enabled debug mode for more logs:
I0612 12:41:01.304282 HTTP-8 OrthancRestApi.cpp:164] (http) Receiving a DICOM file of 1.62MB through HTTP
I0612 12:41:01.304282 HTTP-9 OrthancRestApi.cpp:164] (http) Receiving a DICOM file of 1.62MB through HTTP
I0612 12:41:01.311840 HTTP-8 PluginsManager.cpp:162] (plugins) Azure Blob Storage (Primary: file-system): creating attachment 509713ca-3874-468e-9d01-ed505a6597e6 of type 1
I0612 12:41:01.311840 HTTP-9 PluginsManager.cpp:162] (plugins) Azure Blob Storage (Primary: file-system): creating attachment b9a3114a-f3e1-4874-a52e-7e00d63acbc8 of type 1
I0612 12:41:01.317146 HTTP-8 PluginsManager.cpp:162] (plugins) Azure Blob Storage (Primary: file-system): created attachment 509713ca-3874-468e-9d01-ed505a6597e6 (1.62MB in 5.31ms = 2.57Gbps)
I0612 12:41:01.317146 HTTP-9 PluginsManager.cpp:162] (plugins) Azure Blob Storage (Primary: file-system): created attachment b9a3114a-f3e1-4874-a52e-7e00d63acbc8 (1.62MB in 5.31ms = 2.57Gbps)
I0612 12:41:01.318151 HTTP-8 PluginsManager.cpp:162] (plugins) Azure Blob Storage (Primary: file-system): deleting attachment 509713ca-3874-468e-9d01-ed505a6597e6 of type 1
I0612 12:41:01.319158 HTTP-9 PluginsManager.cpp:162] (plugins) Azure Blob Storage (Primary: file-system): deleting attachment b9a3114a-f3e1-4874-a52e-7e00d63acbc8 of type 1
I0612 12:41:01.319158 HTTP-8 PluginsManager.cpp:162] (plugins) Azure Blob Storage (Secondary: object-storage): deleting attachment 509713ca-3874-468e-9d01-ed505a6597e6 of type 1
I0612 12:41:01.319158 HTTP-9 PluginsManager.cpp:162] (plugins) Azure Blob Storage (Secondary: object-storage): deleting attachment b9a3114a-f3e1-4874-a52e-7e00d63acbc8 of type 1
E0612 12:41:01.435579 HTTP-8 PluginsManager.cpp:154] Azure Blob Storage: error while deleting object 509713ca-3874-468e-9d01-ed505a6597e6: AzureBlobStorage: error while deleting file 509713ca-3874-468e-9d01-ed505a6597e6.dcm: 404 The specified blob does not exist.
The specified blob does not exist.
RequestId:04de3190-b01e-00cf-4986-db3c80000000
Time:2025-06-12T10:41:01.5798457Z
Request ID: 04de3190-b01e-00cf-4986-db3c80000000
E0612 12:41:01.440137 HTTP-9 PluginsManager.cpp:154] Azure Blob Storage: error while deleting object b9a3114a-f3e1-4874-a52e-7e00d63acbc8: AzureBlobStorage: error while deleting file b9a3114a-f3e1-4874-a52e-7e00d63acbc8.dcm: 404 The specified blob does not exist.
The specified blob does not exist.
RequestId:aa6d753b-b01e-00e0-3386-db314b000000
Time:2025-06-12T10:41:01.5710661Z
Request ID: aa6d753b-b01e-00e0-3386-db314b000000
And I can confirm the phenomenon: DICOM already had an entry in the database.
He tried to delete it in both places.
By deleting the Study, it got through.
And by set “OverwriteInstances” at true, it worked too.
Thank you for your help.
Chris