Пример #1
0
        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);
        }
Пример #2
0
        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
        }