public async Task Run(
            [ActivityTrigger] ProcessedNeoEvent processedNeoEvent,
            IBinder binder,
            ILogger logger)
        {
            var blobPath           = $"neo/processed/{processedNeoEvent.DateDetected:yyyyMMdd}/{processedNeoEvent.TorinoImpact}/{processedNeoEvent.Id}.json";
            var dynamicBlobBinding = new BlobAttribute(blobPath: blobPath)
            {
                Connection = "ProcessedNeoStorage"
            };

            using (var writer = await binder.BindAsync <TextWriter>(dynamicBlobBinding))
            {
                await writer.WriteAsync(JsonConvert.SerializeObject(processedNeoEvent, Formatting.Indented));
            }
        }
        public async Task Run(
            [ActivityTrigger] ProcessedNeoEvent processedNeoEvent,
            [SendGrid(ApiKey = "SendGrid.MailSendKey")] IAsyncCollector <SendGridMessage> messageCollector,
            ILogger logger)
        {
            var message = new SendGridMessage();

            message.AddTo("*****@*****.**");
            message.SetFrom("*****@*****.**");
            message.SetSubject("Please help us!");
            var content = "<p>Bruce, our planet in is severe danger!</p>" +
                          "<p>You are the only one who can stop a giant asteroid (see attachment). Please nuke it now!</p>" +
                          "<p>Best regards, Humanity</p>";

            message.AddContent(MimeType.Html, content);
            var attachment = Convert.ToBase64String(
                Encoding.UTF8.GetBytes(
                    JsonConvert.SerializeObject(processedNeoEvent)));

            message.AddAttachment($"{processedNeoEvent.Id}.json", attachment);

            await messageCollector.AddAsync(message);
        }