Hi here,

So I was interested in setting some Aws Client Configuraiton options for S3 to 
tune some of its  client parameters according to my liking.

I was going through the code and found that there is something called  
DefaultS3ClientBuilderFactory available and was thinking of using something 
like that by writing my own CustomS3ClientBuilderFactory.
But I wanted to pass this as a command line pipeline option rather than setting 
it in the code itself ..
I tried passing it as a command line option and immediately saw it fail with a 
Jackson error.

Then I saw there are ways to do that and fellow beam committers used auto 
service to register their respective options. For instance if you have a look 
at the AwsModule class you’ll understand what I mean. Then that allows them to 
pass their respective pipeline option from command line . For example if you 
have a look at AwsOptions . getClientConfiguration you’ll see how the options 
are passed.

So I can do something like this but the only issue with this is I’ll have to 
have a fix contract. I can only pass parameters for which I allow the 
registration to happen.
I was wondering if there is a better way to do this?

Something like we pass the ClientConfiguration and during runtime we 
instantiate it and attach it to the respective Aws<SERVICE>Builder where 
service could be (SQS,SNS,Kinesis,S3).

Let me know what you’ll think and also if there is something like that already 
present and I just missed it

Thanks
Akshay  I

Reply via email to