コード例 #1
0
        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
                    );
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
            }
        }