theburningmonk / ReactoKinesix

A Rx based .Net client library for working with Amazon Kinesis
http://theburningmonk.github.io/ReactoKinesix/
MIT License
29 stars 5 forks source link

AWSconfigs and hiding credentials #58

Closed luck02 closed 8 years ago

luck02 commented 8 years ago

Just wondering if there's a mechanism buried in the app that allows consumers to use the standard AWSConfigs component to handle most of the configuration (token, secret) etc. Credentials that should be controlled in production etc.

theburningmonk commented 8 years ago

You can use the overloaded CreateNew method (https://github.com/theburningmonk/ReactoKinesix/blob/develop/src/ReactoKinesiX/Client.fs#L399) and pass in clients for Kinesis, DynamoDB and CloudWatch which you can construct using all the mechanisms that the AWSSDK supports.

For development, we use the AWSProfileName to provide the credentials so the AWSClientFactory is able to instantiate the different clients. For production, the credentials are provided through IAM roles.

In general, the AWSSDK is smart enough to work out where to get credentials from and instead of replicating all of that mechanism I thought it'd be easier to just let you construct the dependencies yourself and pass them in.

luck02 commented 8 years ago

Makes sense, I saw that constructor but my eyes aren't used to reading F# code so the brain didn't register it correctly.

Appologies.