Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion playground/AspireEventHub/EventHubs.AppHost/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// required for the event processor client which will use the connectionName to get the connectionString.
var blob = builder.AddAzureStorage("ehstorage")
.RunAsEmulator()
.AddBlobs("checkpoints");
.AddBlobService("checkpoints");

var eventHub = builder.AddAzureEventHubs("eventhubns")
.RunAsEmulator()
Expand Down
2 changes: 1 addition & 1 deletion playground/AspireEventHub/EventHubsConsumer/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
else
{
// required for checkpointing our position in the event stream
builder.AddAzureBlobClient("checkpoints");
builder.AddAzureBlobServiceClient("checkpoints");

builder.AddAzureEventProcessorClient("eventhubOne");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
builder.AddServiceDefaults();

builder.AddCosmosDbContext<TestCosmosContext>("account", "db");
builder.AddAzureBlobClient("blobs");
builder.AddAzureBlobServiceClient("blobs");

var app = builder.Build();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
storage.AllowBlobPublicAccess = false;
})
.RunAsEmulator(c => c.WithLifetime(ContainerLifetime.Persistent));
var blobs = storage.AddBlobs("blobs");
var blobs = storage.AddBlobService("blobs");

// Testing projects
builder.AddProject<Projects.AzureAppService_ApiService>("api")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
builder.AddServiceDefaults();

builder.AddCosmosDbContext<TestCosmosContext>("account", "db");
builder.AddAzureBlobClient("blobs");
builder.AddAzureBlobServiceClient("blobs");
builder.AddRedisClient("cache");

var app = builder.Build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
// Testing a connection string
var storage = builder.AddAzureStorage("storage")
.RunAsEmulator(c => c.WithLifetime(ContainerLifetime.Persistent));
var blobs = storage.AddBlobs("blobs");
var blobs = storage.AddBlobService("blobs");

// Testing docker files

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@

// Add service defaults & Aspire client integrations.
builder.AddServiceDefaults();
builder.AddAzureQueueClient("queue");
builder.AddAzureBlobClient("blob");
builder.AddAzureQueueServiceClient("queue");
builder.AddAzureBlobServiceClient("blob");
builder.AddAzureEventHubProducerClient("myhub");
#if !SKIP_UNSTABLE_EMULATORS
builder.AddAzureServiceBusClient("messaging");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
builder.AddAzureContainerAppEnvironment("env");

var storage = builder.AddAzureStorage("storage").RunAsEmulator();
var queue = storage.AddQueues("queue");
var blob = storage.AddBlobs("blob");
var myBlobContainer = blob.AddBlobContainer("myblobcontainer");
var queue = storage.AddQueueService("queue");
var blob = storage.AddBlobService("blob");
var myBlobContainer = storage.AddBlobContainer("myblobcontainer");

var eventHub = builder.AddAzureEventHubs("eventhubs")
.RunAsEmulator()
Expand All @@ -24,11 +24,11 @@
var funcApp = builder.AddAzureFunctionsProject<Projects.AzureFunctionsEndToEnd_Functions>("funcapp")
.WithExternalHttpEndpoints()
.WithReference(eventHub).WaitFor(eventHub)
.WithReference(myBlobContainer).WaitFor(myBlobContainer)
#if !SKIP_UNSTABLE_EMULATORS
.WithReference(serviceBus).WaitFor(serviceBus)
.WithReference(cosmosDb).WaitFor(cosmosDb)
#endif
.WithReference(myBlobContainer).WaitFor(myBlobContainer)
.WithReference(blob)
.WithReference(queue);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace AzureFunctionsEndToEnd.Functions;

public class MyAzureBlobTrigger(ILogger<MyAzureBlobTrigger> logger, BlobContainerClient containerClient)
public class MyAzureBlobTrigger(BlobContainerClient containerClient, ILogger<MyAzureBlobTrigger> logger)
{
[Function(nameof(MyAzureBlobTrigger))]
[BlobOutput("test-files/{name}.txt", Connection = "blob")]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ public class MyAzureQueueTrigger(ILogger<MyAzureQueueTrigger> logger)
{
[Function(nameof(MyAzureQueueTrigger))]
public void Run([QueueTrigger("queue", Connection = "queue")] QueueMessage message)
{
{
logger.LogInformation("C# Queue trigger function processed: {Text}", message.MessageText);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
var builder = FunctionsApplication.CreateBuilder(args);

builder.AddServiceDefaults();
builder.AddAzureQueueClient("queue");
builder.AddAzureBlobClient("blob");
builder.AddAzureQueueServiceClient("queue");
builder.AddAzureBlobServiceClient("blob");
builder.AddAzureBlobContainerClient("myblobcontainer");
builder.AddAzureEventHubProducerClient("myhub");
#if !SKIP_UNSTABLE_EMULATORS
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,17 @@

builder.AddServiceDefaults();

builder.AddAzureBlobClient("blobs");
builder.AddAzureBlobServiceClient("blobs");

builder.AddKeyedAzureBlobContainerClient("foocontainer");

builder.AddAzureQueueClient("queues");
builder.AddKeyedAzureQueue("myqueue");

var app = builder.Build();

app.MapDefaultEndpoints();

app.MapGet("/", async (BlobServiceClient bsc, QueueServiceClient qsc, [FromKeyedServices("foocontainer")] BlobContainerClient keyedContainerClient1) =>
app.MapGet("/", async (BlobServiceClient bsc, [FromKeyedServices("myqueue")] QueueClient queue, [FromKeyedServices("foocontainer")] BlobContainerClient keyedContainerClient1) =>
{
var blobNames = new List<string>();
var blobNameAndContent = Guid.NewGuid().ToString();
Expand All @@ -30,8 +31,6 @@
await ReadBlobsAsync(directContainerClient, blobNames);
await ReadBlobsAsync(keyedContainerClient1, blobNames);

var queue = qsc.GetQueueClient("myqueue");
await queue.CreateIfNotExistsAsync();
await queue.SendMessageAsync("Hello, world!");

return blobNames;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,24 @@
container.WithDataBindMount();
});

var blobs = storage.AddBlobs("blobs");
blobs.AddBlobContainer("mycontainer1", blobContainerName: "test-container-1");
blobs.AddBlobContainer("mycontainer2", blobContainerName: "test-container-2");
var blobs = storage.AddBlobService("blobs");
storage.AddBlobContainer("mycontainer1", blobContainerName: "test-container-1");
storage.AddBlobContainer("mycontainer2", blobContainerName: "test-container-2");

var queues = storage.AddQueues("queues");
var myqueue = storage.AddQueue("myqueue", queueName: "my-queue");

var storage2 = builder.AddAzureStorage("storage2").RunAsEmulator(container =>
{
container.WithDataBindMount();
});
var blobs2 = storage2.AddBlobs("blobs2");
var blobContainer2 = blobs2.AddBlobContainer("foocontainer", blobContainerName: "foo-container");

var blobContainer2 = storage2.AddBlobContainer("foocontainer", blobContainerName: "foo-container");

builder.AddProject<Projects.AzureStorageEndToEnd_ApiService>("api")
.WithExternalHttpEndpoints()
.WithReference(blobs).WaitFor(blobs)
.WithReference(blobContainer2).WaitFor(blobContainer2)
.WithReference(queues).WaitFor(queues);
.WithReference(myqueue).WaitFor(myqueue);

#if !SKIP_DASHBOARD_REFERENCE
// This project is only added in playground projects to support development/debugging
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,19 @@
"type": "value.v0",
"connectionString": "Endpoint={storage.outputs.blobEndpoint};ContainerName=test-container-2"
},
"queues": {
"storage-queues": {
"type": "value.v0",
"connectionString": "{storage.outputs.queueEndpoint}"
},
"myqueue": {
"type": "value.v0",
"connectionString": "Endpoint={storage.outputs.queueEndpoint};QueueName=my-queue"
},
"storage2": {
"type": "azure.bicep.v0",
"path": "storage2.module.bicep"
},
"blobs2": {
"storage2-blobs": {
"type": "value.v0",
"connectionString": "{storage2.outputs.blobEndpoint}"
},
Expand All @@ -44,7 +48,7 @@
"HTTP_PORTS": "{api.bindings.http.targetPort}",
"ConnectionStrings__blobs": "{blobs.connectionString}",
"ConnectionStrings__foocontainer": "{foocontainer.connectionString}",
"ConnectionStrings__queues": "{queues.connectionString}"
"ConnectionStrings__myqueue": "{myqueue.connectionString}"
},
"bindings": {
"http": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,16 @@ resource mycontainer2 'Microsoft.Storage/storageAccounts/blobServices/containers
parent: blobs
}

resource storage_queues 'Microsoft.Storage/storageAccounts/queueServices@2024-01-01' = {
name: 'default'
parent: storage
}

resource myqueue 'Microsoft.Storage/storageAccounts/queueServices/queues@2024-01-01' = {
name: 'my-queue'
parent: storage_queues
}

output blobEndpoint string = storage.properties.primaryEndpoints.blob

output queueEndpoint string = storage.properties.primaryEndpoints.queue
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@ resource storage2 'Microsoft.Storage/storageAccounts@2024-01-01' = {
}
}

resource blobs 'Microsoft.Storage/storageAccounts/blobServices@2024-01-01' = {
resource storage2_blobs 'Microsoft.Storage/storageAccounts/blobServices@2024-01-01' = {
name: 'default'
parent: storage2
}

resource foocontainer 'Microsoft.Storage/storageAccounts/blobServices/containers@2024-01-01' = {
name: 'foo-container'
parent: blobs
parent: storage2_blobs
}

output blobEndpoint string = storage2.properties.primaryEndpoints.blob
Expand Down
6 changes: 3 additions & 3 deletions playground/bicep/BicepSample.ApiService/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@
builder.AddNpgsqlDbContext<MyPgDbContext>("db2");
builder.AddAzureCosmosClient("cosmos");
builder.AddRedisClient("redis");
builder.AddAzureBlobClient("blob");
builder.AddAzureTableClient("table");
builder.AddAzureQueueClient("queue");
builder.AddAzureBlobServiceClient("blob");
builder.AddAzureTableServiceClient("table");
builder.AddAzureQueueServiceClient("queue");
builder.AddAzureServiceBusClient("sb");

var app = builder.Build();
Expand Down
6 changes: 3 additions & 3 deletions playground/bicep/BicepSample.AppHost/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@
var storage = builder.AddAzureStorage("storage");
// .RunAsEmulator();

var blobs = storage.AddBlobs("blob");
var tables = storage.AddTables("table");
var queues = storage.AddQueues("queue");
var blobs = storage.AddBlobService("blob");
var tables = storage.AddTableService("table");
var queues = storage.AddQueueService("queue");

var sqlServer = builder.AddAzureSqlServer("sql").AddDatabase("db");

Expand Down
2 changes: 1 addition & 1 deletion playground/cdk/CdkSample.ApiService/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

builder.AddServiceDefaults();

builder.AddAzureBlobClient("blobs");
builder.AddAzureBlobServiceClient("blobs");
builder.AddSqlServerDbContext<SqlContext>("sqldb");
builder.AddAzureKeyVaultClient("mykv");
builder.AddRedisClient("cache");
Expand Down
2 changes: 1 addition & 1 deletion playground/cdk/CdkSample.AppHost/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
account.Location = locationOverride.AsProvisioningParameter(infrastructure);
});

var blobs = storage.AddBlobs("blobs");
var blobs = storage.AddBlobService("blobs");

var sqldb = builder.AddAzureSqlServer("sql").AddDatabase("sqldb");

Expand Down
4 changes: 2 additions & 2 deletions playground/orleans/Orleans.AppHost/Program.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
var builder = DistributedApplication.CreateBuilder(args);

var storage = builder.AddAzureStorage("storage").RunAsEmulator();
var clusteringTable = storage.AddTables("clustering");
var grainStorage = storage.AddBlobs("grainstate");
var clusteringTable = storage.AddTableService("clustering");
var grainStorage = storage.AddBlobService("grainstate");

var orleans = builder.AddOrleans("my-app")
.WithClustering(clusteringTable)
Expand Down
2 changes: 1 addition & 1 deletion playground/orleans/OrleansClient/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
var builder = WebApplication.CreateBuilder(args);

builder.AddServiceDefaults();
builder.AddKeyedAzureTableClient("clustering");
builder.AddKeyedAzureTableServiceClient("clustering");
builder.UseOrleansClient();

var app = builder.Build();
Expand Down
4 changes: 2 additions & 2 deletions playground/orleans/OrleansServer/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
var builder = WebApplication.CreateBuilder(args);

builder.AddServiceDefaults();
builder.AddKeyedAzureTableClient("clustering");
builder.AddKeyedAzureBlobClient("grainstate");
builder.AddKeyedAzureTableServiceClient("clustering");
builder.AddKeyedAzureBlobServiceClient("grainstate");
builder.UseOrleans();

var app = builder.Build();
Expand Down
4 changes: 2 additions & 2 deletions src/Aspire.Hosting.Azure.Functions/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ using Aspire.Hosting.Azure.Functions;
var builder = new DistributedApplicationBuilder();

var storage = builder.AddAzureStorage("storage").RunAsEmulator();
var queue = storage.AddQueues("queue");
var blob = storage.AddBlobs("blob");
var queue = storage.AddQueueService("queue");
var blob = storage.AddBlobService("blob");

builder.AddAzureFunctionsProject<Projects.Company_FunctionApp>("my-functions-project")
.WithReference(queue)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
<ItemGroup>
<ProjectReference Include="..\Aspire.Hosting.Azure\Aspire.Hosting.Azure.csproj" />
<PackageReference Include="AspNetCore.HealthChecks.Azure.Storage.Blobs" />
<PackageReference Include="AspNetCore.HealthChecks.Azure.Storage.Queues" />
<PackageReference Include="Azure.Provisioning" />
<PackageReference Include="Azure.Provisioning.Storage" />
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ void IResourceWithAzureFunctionsConfig.ApplyAzureFunctionsConfiguration(IDiction
target[$"{connectionName}__queueServiceUri"] = Parent.QueueEndpoint;

// Injected to support Aspire client integration for Azure Storage.
// We don't inject the queue resource here since we on;y want it to
// We don't inject the queue resource here since we only want it to
// be accessible by the Functions host.
target[$"{AzureStorageResource.BlobsConnectionKeyPrefix}__{connectionName}__ServiceUri"] = Parent.BlobEndpoint;
}
Expand Down
Loading