Hello Chris Karagiannis,
Welcome to the Microsoft Q&A and thank you for posting your questions here.
I understand that you are having issues with Azure Bot Service File Attachments Across Regions.
These issues might be due to several factors and there are few ways to troubleshooting with the steps below:
- Compare the exact URLs used in both regions. Check for differences in the domain, path, query parameters (like SAS tokens), container names, blob names.
- Check the storage account's logs (Azure Storage Analytics logs or Azure Monitor) to see the requests coming in. See if the 404 requests are hitting the storage account and why they're failing. The logs might show the requested URL and the reason for the 404.
- Verify the network configuration of the storage account. Ensure that it allows traffic from the problem region. Check firewall settings, virtual networks, and whether public access is allowed.
- Check the replication status if using geo-redundant storage. Ensure that the data is replicated to the secondary region if that's the setup.
- Test accessing the URL directly from a machine in the problem region. Use curl or a browser to see if the file is accessible. This can help determine if it's an application issue or a network/storage issue.
- Check for any regional endpoints or DNS configurations that might be redirecting incorrectly.
- Ensure that the SAS tokens (if used) are valid in terms of expiration time and permissions. Also, check the clock synchronization between the client and server.
- Look into the possibility of the storage account being in a different region than the bot service, leading to higher latency or timeouts, but that might result in different errors.
- Test with a new file upload in the problem region and see if it can be downloaded immediately, to check for replication delays.
- Verify that the application code doesn't have any region-specific logic that might be altering the file paths or storage account references.
I hope these steps are helpful! Do not hesitate to let me know if you have any other questions or clarifications.
Please don't forget to close up the thread here by upvoting and accept it as an answer if it is helpful.