public static async Task HttpStart( [EventGridTrigger] EventGridEvent eventGridEvent, [OrchestrationClient] DurableOrchestrationClient starter, ILogger log) { var eventGridData = (dynamic)eventGridEvent.Data; var operation = eventGridEvent.EventType; var apiReference = (string)eventGridData.apiReference; await starter.PurgeInstanceHistoryAsync(apiReference); if (operation == Events.ReferenceDelete) { var eventGrid = new EventGrid( EnvironmentVariables.EventGridReferenceUpdatedEndpoint, EnvironmentVariables.EventGridReferenceUpdatedKey); await eventGrid.SendReferenceEvent(apiReference, Events.ReferenceDelete); } else { await starter.StartNewAsync( Functions.Orchestrator, apiReference, null ); } }
public static async Task Trigger([ActivityTrigger] PreprocessorActivityInput input, ILogger log) { var eventGrid = new EventGrid( EnvironmentVariables.EventGridReferenceRequestedEndpoint, EnvironmentVariables.EventGridReferenceRequestedKey ); var eventType = input.IsPreview == "true" ? Events.ReferencePreview : Events.ReferenceInitialize; await eventGrid.SendReferenceEvent(input.Codename, eventType, input.IsTest); }
public static async Task EventGridStart( [EventGridTrigger] EventGridEvent eventGridEvent, [OrchestrationClient] DurableOrchestrationClient starter, ILogger log) { var eventGridData = (dynamic)eventGridEvent.Data; var blobUrl = (string)eventGridData.url; var instanceId = blobUrl .Split("/") .Last() .Split(".") .First(); await starter.RaiseEventWithRetryAsync(instanceId, blobUrl); if (!blobUrl.Contains("preview")) { var eventGrid = new EventGrid( EnvironmentVariables.EventGridReferenceUpdatedEndpoint, EnvironmentVariables.EventGridReferenceUpdatedKey); await eventGrid.SendReferenceEvent(instanceId, Events.ReferenceUpdated); } }