I am not sure which Azure Functions Programming Model you are using (In Process vs Isolated). Since Isolated is the way forward, follow these steps.
Create Azure Functions Project
Note: Visual Studio 2022 will automatically start Azurite Services.
Right-click on Connected Services
and click on Manage Connected Services
. Note Storage Azurite emulator
is already set up.
Update the HTTP Trigger function as follows.
using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Http;
using Microsoft.Extensions.Logging;
using System.Net;
namespace FunctionApp1
{
public class Function1
{
private readonly ILogger _logger;
public Function1(ILoggerFactory loggerFactory)
{
_logger = loggerFactory.CreateLogger<Function1>();
}
[Function("Function1")]
public MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequestData req)
{
_logger.LogInformation("C# HTTP trigger function processed a request.");
var message = "Welcome to Azure Functions!";
var response = req.CreateResponse(HttpStatusCode.OK);
response.Headers.Add("Content-Type", "text/plain; charset=utf-8");
response.WriteString(message);
// Return a response to both HTTP trigger and storage output binding.
return new MultiResponse()
{
// Write a single message.
Messages = new string[] { message },
HttpResponse = response
};
}
}
public class MultiResponse
{
[QueueOutput("queue-items", Connection = "AzureWebJobsStorage")]
public string[] Messages { get; set; }
public HttpResponseData HttpResponse { get; set; }
}
}
Run the Function App, hit the endpoint, and check the queue.