public async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", "put", "patch", "delete", "head", "options", "trace", Route = "{binId}")] HttpRequest request, [DurableClient] IDurableClient client, string binId, ILogger log) { try { log.LogInformation(new EventId(100), "{BinId}, {Message}", binId, $"Request received for bin '{binId}'."); if (!RequestBinService.IsBinIdValid(binId, out var validationMessage)) { log.LogError(new EventId(191), "{BinId}, {Message}", binId, $"Invalid Bin Id '{binId}'."); return(new BadRequestObjectResult(validationMessage)); } var requestDescription = await RequestBinService.GetRequestDescriptionAsync(request); var encodedBinId = RequestBinService.EncodeBinId(binId); //Send a one-way message to an entity (via an abstracted queue) using a proxy object for type-safe calls. await client.SignalEntityAsync <IRequestBin>(encodedBinId, x => x.Add(requestDescription)); log.LogInformation(new EventId(110), "{BinId}, {Message}", binId, $"Request for bin '{binId}' stored."); return(new OkResult()); } catch (Exception ex) { log.LogError(new EventId(190), ex, "{BinId}, {Message}", binId, $"Error occurred while trying to persist request into bin: '{binId}'."); throw; } }