Чтобы получить статус устойчивой функции Azure, вы можете использовать различные методы в зависимости от ваших требований и используемого языка программирования. Вот несколько примеров на разных языках:
- C#:
using Microsoft.Azure.WebJobs.Extensions.DurableTask;
public static async Task<HttpResponseMessage> GetFunctionStatus(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "status/{instanceId}")] HttpRequestMessage req,
[DurableClient] IDurableClient client,
string instanceId)
{
DurableOrchestrationStatus status = await client.GetStatusAsync(instanceId);
if (status == null)
{
return req.CreateResponse(HttpStatusCode.NotFound);
}
return req.CreateResponse(HttpStatusCode.OK, status);
}
- JavaScript/TypeScript:
const df = require("durable-functions");
module.exports = async function (context, req) {
const client = df.getClient(context);
const instanceId = req.params.instanceId;
const status = await client.getStatus(instanceId);
if (!status) {
context.res = {
status: 404,
body: "Instance not found"
};
return;
}
context.res = {
body: status
};
};
- Python:
import azure.functions as func
import azure.durable_functions as df
async def main(req: func.HttpRequest, starter: str) -> func.HttpResponse:
client = df.DurableOrchestrationClient(starter)
instance_id = req.route_params.get('instanceId')
status = await client.get_status(instance_id)
if not status:
return func.HttpResponse("Instance not found", status_code=404)
return func.HttpResponse(status)
В этих примерах показано, как получить статус устойчивой функции Azure с помощью C#, JavaScript/TypeScript и Python.