Skip to content

Azure Storage component doesn't work with Azure Storage RunAsEmulator #5078

Description

@eerhardt

Repro Steps

In your AppHost:

var builder = DistributedApplication.CreateBuilder(args);

var blobs = builder.AddAzureStorage("Storage")
    // Use the Azurite storage emulator for local development
    .RunAsEmulator()
    .AddBlobs("BlobConnection");

builder.AddProject<Projects.AspireApp21_Web>("webfrontend")
    .WithExternalHttpEndpoints()
    .WithReference(blobs);

In your webfrontend project:

var builder = WebApplication.CreateBuilder(args);

// Add service defaults & Aspire components.
builder.AddServiceDefaults();

// add this line
builder.AddAzureBlobClient("BlobConnection");

F5

hit the webfrontend/health endpoint

Expected results

Healthy

Actual results

Unhealthy

Logs

      client assembly: Azure.Storage.Blobs
2024-07-25T12:37:42.5405046 warn: Azure.Core[8]
      Error response [ab557070-d043-4751-975d-10a24ee30e85] 400 The API version 2024-08-04 is not supported by Azurite. Please upgrade Azurite to latest version and retry. If you are using Azurite in Visual Studio, please check you have installed latest Visual Studio patch. Azurite command line parameter "--skipApiVersionCheck" or Visual Studio Code configuration "Skip Api Version Check" can skip this error.  (00.0s)
      Server:Azurite-Blob/3.30.0
      x-ms-error-code:InvalidHeaderValue
      x-ms-request-id:d221c3a6-dc25-4191-ab4f-0da95f77d798
      Date:Thu, 25 Jul 2024 17:37:42 GMT
      Connection:keep-alive
      Keep-Alive:REDACTED
      Transfer-Encoding:chunked
      Content-Type:application/xml
      
2024-07-25T12:37:42.5596003 fail: Microsoft.Extensions.Diagnostics.HealthChecks.DefaultHealthCheckService[103]
      Health check Azure_BlobServiceClient with status Unhealthy completed after 69.5226ms with message '(null)'
      Azure.RequestFailedException: The API version 2024-08-04 is not supported by Azurite. Please upgrade Azurite to latest version and retry. If you are using Azurite in Visual Studio, please check you have installed latest Visual Studio patch. Azurite command line parameter "--skipApiVersionCheck" or Visual Studio Code configuration "Skip Api Version Check" can skip this error. 
RequestId:d221c3a6-dc25-4191-ab4f-0da95f77d798
Time:2024-07-25T17:37:42.527Z
      Status: 400 (The API version 2024-08-04 is not supported by Azurite. Please upgrade Azurite to latest version and retry. If you are using Azurite in Visual Studio, please check you have installed latest Visual Studio patch. Azurite command line parameter "--skipApiVersionCheck" or Visual Studio Code configuration "Skip Api Version Check" can skip this error. )
      ErrorCode: InvalidHeaderValue

If we update to image tag 3.31.0 here, the problem goes away:

https://github.com/dotnet/aspire/blob/e0552c0bbf3330c2694e72961a97941a5773e139/src/Aspire.Hosting.Azure.Storage/AzureStorageExtensions.cs#L114-L119

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-app-modelIssues pertaining to the APIs in Aspire.Hosting, e.g. DistributedApplication

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions