microsoft / AzureStorageExplorer

Easily manage the contents of your storage account with Azure Storage Explorer. Upload, download, and manage blobs, files, queues, tables, and Cosmos DB entities. Gain easy access to manage your virtual machine disks. Work with either Azure Resource Manager or classic storage accounts, plus manage and configure cross-origin resource sharing (CORS) rules.
Creative Commons Attribution 4.0 International
371 stars 85 forks source link

Failed to get properties for blob using Azurite #5658

Open j71h opened 2 years ago

j71h commented 2 years ago

Preflight Checklist

Storage Explorer Version

1.23.1

Regression From

No response

Architecture

x64

Storage Explorer Build Number

20220406.1

Platform

Windows

OS Version

Windows 10

Bug Description

Selecting any blob and asking for its properties results in a 500 failure. The same request from C# code works just fine.

Workaround: Set azurite to use loose mode. https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azurite?tabs=visual-studio#loose-mode

Steps to Reproduce

  1. Launch Sorage Explorer
  2. Navigare to a blob in the attached local Azurite instance
  3. Request properties for the blob.

Actual Experience

The request takes along time and eventually fails

Expected Experience

You get the properties for the blob

Additional Context

Azurite version: 3.14.2


{
  "name": "RestError",
  "message": "",
  "stack": "RestError\n    at handleErrorResponse (C:\\Program Files (x86)\\Microsoft Azure Storage Explorer\\resources\\app\\node_modules\\@azure\\core-http\\dist\\index.js:3161:19)\n    at C:\\Program Files (x86)\\Microsoft Azure Storage Explorer\\resources\\app\\node_modules\\@azure\\core-http\\dist\\index.js:3097:49\n    at processTicksAndRejections (node:internal/process/task_queues:96:5)",
  "statusCode": 500,
  "request": {
    "streamResponseStatusCodes": {},
    "url": "http://127.0.0.1:10000/devstoreaccount1/folder-1/folder-2%2F44ff8ee1-411a-447b-bb0e-c86deecd1cc8",
    "method": "HEAD",
    "headers": {
      "_headersMap": {
        "x-ms-version": {
          "name": "x-ms-version",
          "value": "2019-07-07"
        },
        "accept": {
          "name": "Accept",
          "value": "application/xml"
        },
        "x-ms-encryption-algorithm": {
          "name": "x-ms-encryption-algorithm",
          "value": "AES256"
        },
        "user-agent": {
          "name": "User-Agent",
          "value": "Microsoft Azure Storage Explorer, 1.23.1, win32 azsdk-js-storageblob/12.8.0 (NODE-VERSION v16.9.1; Windows_NT 10.0.19043)"
        },
...
}```
MRayermannMSFT commented 2 years ago

@j71h yes, this is a known issue for now. Azurite does not support the "x-ms-encryption-algorithm" header. You can ask them to support it here: https://github.com/Azure/Azurite/issues/676