I was revising some concepts on Azure Durable function to become ready for a new project and facing an issues with Azure Storage emulator. The azure storage emulator uses the following ports:
<service name="Blob" url="http://127.0.0.1:10000/"/>
<service name="Queue" url="http://127.0.0.1:10001/"/>
<service name="Table" url="http://127.0.0.1:10002/"/>
The problem is that I cant use 10000-10002 because some other services are already running and I cant control it as they are controlled by admins. I was able to change the ports in AzureStorageEmulator.exe.config
<service name="Blob" url="http://127.0.0.1:10003/"/>
<service name="Queue" url="http://127.0.0.1:10004/"/>
<service name="Table" url="http://127.0.0.1:10005/"/>
The problem I face now is that my durable function still looks at 10000-10002 and fails. How can I change the ports for storage account emulator for my durable function.
You should be able to change the Storage connection string that you use locally to this form:
DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;
In there you can define the port numbers. The account name and key should work as those are the default ones for the emulator. Documentation: https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azurite?tabs=visual-studio#connection-strings