private static async Task <AnalyticsResources> DiscoverAnalyticsResourcesAsync(IAmazonServiceDiscovery discovery, string serviceId) { GetInstanceResponse resourcesResponse; try { resourcesResponse = await discovery.GetInstanceAsync(new GetInstanceRequest() { ServiceId = serviceId, InstanceId = "analytics", }); } catch (Exception e) { Console.WriteLine(e); throw; } var attributes = resourcesResponse.Instance.Attributes; var storage = new AnalyticsResources() { ChatStreamName = attributes["chatstream"], SentimentReportWorkgroup = attributes["sentimentreportworkgroup"], SentimentReportJobQueueUrl = attributes["sentimentreportqueue"] }; return(storage); }
public AthenaSentimentReporter( IAmazonAthena athena, string database, string table, AnalyticsResources analyticsResources, ILogger <AthenaSentimentReporter> logger) { this.athena = athena; this.workgroup = analyticsResources.SentimentReportWorkgroup; this.database = database; this.table = table; this.logger = logger; }
public SentimentReportGenerator( IAmazonSQS sqs, ISentimentReporter reporter, AnalyticsResources analyticsResources, IUserIdsStorageManager userIdsStorageManager, ISentimentSnapshotsStorage sentimentSnapshotsStorage, ILogger <SentimentReportGenerator> logger) { this.sqs = sqs; this.reporter = reporter; this.logger = logger; this.userIdsStorageManager = userIdsStorageManager; this.sentimentSnapshotsStorage = sentimentSnapshotsStorage; this.queueUrl = analyticsResources.SentimentReportJobQueueUrl; }