public AWSDynamoService(ChatConfiguration chatConfiguration) { this.chatConfiguration = chatConfiguration; logger.Debug($"Internal: Creating {nameof(AWSDynamoService)}"); client = new AmazonDynamoDBClient(); #if !XRAY2 string whitelistPath = System.Web.Hosting.HostingEnvironment.MapPath("/AWSWhitelist.json"); var tracer = new Amazon.XRay.Recorder.Handlers.AwsSdk.AWSSdkTracingHandler(Amazon.XRay.Recorder.Core.AWSXRayRecorder.Instance, whitelistPath); tracer.AddEventHandler(client); #endif DynamoDBContextConfig config = new DynamoDBContextConfig() { TableNamePrefix = chatConfiguration.AwsTablePrefix }; context = new DynamoDBContext(client, config); }
public KinesisService(KinesisConfig kinesisConfig, UserDataFilterService filterService) { this.StreamName = kinesisConfig?.StreamName ?? throw new ArgumentNullException(nameof(kinesisConfig)); this.filterService = filterService; if (!String.IsNullOrEmpty(kinesisConfig.Arn)) { AssumeRoleAWSCredentials credentials = new AssumeRoleAWSCredentials(FallbackCredentialsFactory.GetCredentials(), kinesisConfig.Arn, kinesisConfig.StsRoleSessionName, new AssumeRoleAWSCredentialsOptions { DurationSeconds = ChatConfiguration.StsCredentialExpiration }); kinesisClient = new AmazonKinesisClient(credentials); } else { kinesisClient = new AmazonKinesisClient(); } #if !XRAY2 string whitelistPath = System.Web.Hosting.HostingEnvironment.MapPath("/AWSWhitelist.json"); var tracer = new Amazon.XRay.Recorder.Handlers.AwsSdk.AWSSdkTracingHandler(AWSXRayRecorder.Instance, whitelistPath); tracer.AddEventHandler(kinesis); #endif }