Exemple #1
0
        public async Task Run(
            [ServiceBusTrigger("neo-events", "%SubscriptionName%", Connection = "NEOEventsTopic")] DetectedNeoEvent detectedNeoEvent,
            [DurableClient] IDurableClient durableClient,
            ILogger log)
        {
            var instanceId = await durableClient.StartNewAsync(nameof(NeoEventProcessingOrchestrator),
                                                               detectedNeoEvent);

            log.LogInformation($"Servicebus started orchestration with ID {instanceId}.");
        }
Exemple #2
0
 public static ProcessedNeoEvent Build(
     DetectedNeoEvent detectedNeoEvent,
     float impactProbability,
     float kineticEnergyInMegatonTnt,
     int torinoImpact)
 {
     return(new ProcessedNeoEvent(
                detectedNeoEvent,
                kineticEnergyInMegatonTnt,
                impactProbability,
                torinoImpact));
 }
        public async Task <KineticEnergyResult> Run(
            [ActivityTrigger] DetectedNeoEvent neoEvent,
            ILogger logger)
        {
            var kineticEnergyEndpoint = new Uri(Environment.GetEnvironmentVariable("KineticEnergyEndpoint"));
            var apiManagementKey      = Environment.GetEnvironmentVariable("ApiManagementKey");

            _client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", apiManagementKey);
            var response = await _client.PostAsJsonAsync(kineticEnergyEndpoint, neoEvent);

            if (!response.IsSuccessStatusCode)
            {
                var content = await response.Content.ReadAsStringAsync();

                throw new ApplicationException(content);
            }
            var result = await response.Content.ReadAsAsync <KineticEnergyResult>();

            return(result);
        }