|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
using Azure.Storage.Blobs;
using Azure.Storage.Queues;
var builder = WebApplication.CreateBuilder(args);
builder.AddServiceDefaults();
builder.AddAzureBlobContainerClient("mycontainer");
builder.AddKeyedAzureQueue("myqueue");
var app = builder.Build();
app.MapDefaultEndpoints();
app.MapGet("/", async (BlobContainerClient containerClient, [FromKeyedServices("myqueue")] QueueClient queue) =>
{
var blobNames = new List<string>();
var blobNameAndContent = Guid.NewGuid().ToString();
await containerClient.UploadBlobAsync(blobNameAndContent, new BinaryData(blobNameAndContent));
await ReadBlobsAsync(containerClient, blobNames);
await queue.SendMessageAsync("Hello, world!");
return blobNames;
});
app.Run();
static async Task ReadBlobsAsync(BlobContainerClient containerClient, List<string> output)
{
output.Add(containerClient.Uri.ToString());
var blobs = containerClient.GetBlobsAsync();
await foreach (var blob in blobs)
{
output.Add(blob.Name);
}
}
|