Получите статус устойчивых функций Azure с помощью примеров кода

Чтобы получить статус устойчивой функции Azure, вы можете использовать различные методы в зависимости от ваших требований и используемого языка программирования. Вот несколько примеров на разных языках:

  1. 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);
}
  1. 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
    };
};
  1. 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.