in TasksTracker.Processor.Backend.Svc/Controllers/ExternalTasksProcessorController.cs [23:52]
public async Task<IActionResult> ProcessTaskAndStore([FromBody] TaskModel taskModel)
{
try
{
_logger.LogInformation("Started processing external task message from storage queue. Task Name: '{0}'", taskModel.TaskName);
taskModel.TaskId = Guid.NewGuid();
taskModel.TaskCreatedOn = DateTime.UtcNow;
//Dapr SideCar Invocation (save task to a state store)
await _daprClient.InvokeMethodAsync(HttpMethod.Post, "tasksmanager-backend-api", $"api/tasks", taskModel);
_logger.LogInformation("Saved external task to the state store successfully. Task name: '{0}', Task Id: '{1}'", taskModel.TaskName, taskModel.TaskId);
IReadOnlyDictionary<string,string> metaData = new Dictionary<string, string>()
{
{ "blobName", $"{taskModel.TaskId}.json" },
};
await _daprClient.InvokeBindingAsync(OUTPUT_BINDING_NAME, OUTPUT_BINDING_OPERATION, taskModel, metaData);
_logger.LogInformation("Invoked output binding '{0}' for external task. Task name: '{1}', Task Id: '{2}'", OUTPUT_BINDING_NAME, taskModel.TaskName, taskModel.TaskId);
return Ok();
}
catch (Exception)
{
throw;
}
}