Closed skywalkerisnull closed 3 years ago
A workaround for this is to create a custom domain with an associated A/AAAA record that follows the pattern of *.blob.custom.domain.io where the ".blob" component is mandatory and what the AzCopy is looking for in the URL.
I have setup a testing edge device and it did reveal multiple bugs in our code. At the meantime, AzCopy is aware of the domain name bug and is working on a fix. Both fixes will have to wait until 1.21.0.
@skywalkerisnull 1.21.0 is now live and gradually rolling out. If you haven't received the update yet, you can manually download it from https://storageexplorer.com
Please give that version a try and let us know if your issue is now fixed. Thanks!
@MRayermannMSFT I have downloaded 1.21.0 and will now setup a IoT blob storage that is not using the .blob. domain name and check the deleting blob functionality.
What I have noticed right away though, 1.21.0 is significantly slower at accessing the containers for the first time, and even the account for the first time on opening Storage Explorer. When I double click on a container to view the contents, there is over 14 seconds between when I clicked, and it opening. Possible worse is that there is no feedback in the UI that the request has been acknowledged and it is attempting to open the container. Navigating directories once the container is open is fine. As is closing the container and re-opening the container.
@MRayermannMSFT I have setup the local Azure Blob IoT and can confirm that I can delete blobs even without the *.blob. domain name (i.e. connecting to localhost). I did also observe the same large latency when connecting to this IoT blob instance even when it is on the same machine.
@skywalkerisnull huh, that's definitely not expected. Can you gather and share your Storage Explorer logs with us? Also if you're able to post a screen or gif recording of what you are visually seeing that would be super helpful as well.
@JasonYeMSFT let's try to figure out what is going on here.
Hello @MRayermannMSFT.
Here are the logs: logs.zip
Video of what is happening: https://youtu.be/_1tGr5P_c_A
This repo may help you more quickly test against the Azure IoT Blob instead of setting up an entire environment: https://github.com/skywalkerisnull/azure-blob-iot
In our shared blob container code, we make API call to getAccountInfo to get necessary information before loading the node or opening the container.
The IoT Edge based blob service takes a significant long time to process the request and returns a 500 internal error. Even though it is listed as an unsupported API, I would expect it to fail immediately with some reasonable error instead of such an internal error.
There is a workaround for you to access this type of resource without such delays. In Storage Explorer, you can toggle the Azure Stack option (App Menu > Edit > Target Azure Stack API) to force using API at version 2017-04-17. According to IoT Edge documentation, it happens to be the API version that it is consistent to at the moment IoT Edge supported APIs. When the API version is set, the same request won't trigger the problematic code path on the server and fail immediately.
@JasonYeMSFT enabling "Target Azure Stack API" does make it significantly faster to access.
Let's close this issue as mitigated. We should notify the service team to protect unsupported APIs.
Storage Explorer Version: 1.17 Build Number: 20201211.10 Platform/OS: Windows 10 Architecture: x64 Regression From: unknown
Bug Description
Attempt to delete any blob in the container results in an error message.
Steps to Reproduce
Expected Experience
The blob to be deleted and no error message
Actual Experience
The blob does not get deleted and I get an error message
Additional Context
The blob is an IoT blob deployed using this guide: https://docs.microsoft.com/en-us/azure/iot-edge/how-to-deploy-blob?view=iotedge-2018-06 It is generally connected to via a proxy server that will server a valid TLS certificate on 443. It is possible to connect (from my workstation) directly to VM that is running the blob pod/container via the VM IP address on port 11002.
Logs with tokens redacted and domains sanitized:
Error:
Details:
AzCopy Command:
Azure Storage Explorer logs:
Azure Blob IoT logs: