Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to use ContainerCredentialsProvider CredentialsProvider for Multilang project #261

Open
stabl-gjn opened this issue Nov 18, 2024 · 0 comments

Comments

@stabl-gjn
Copy link

stabl-gjn commented Nov 18, 2024

This is more a issue with the dependencies (specifically awssdk-java-v2) than with amazon-kinesis-client-python itself but as this project defines what version of dependencies to use and the issue has already been resolved upstream, i created the ticket here.


When setting ContainerCredentialsProvider as AwsCredentialsProvider in the properties file passed to KCL (v3.0.1) it fails with:

Attempting to construct class software.amazon.awssdk.auth.credentials.ContainerCredentialsProvider
Unable to construct any provider with name ContainerCredentialsProvider

This appears to be a oversight in awssdk-java-v2, as the ContainerCredentialsProvider does not contain a create function for the version this project is using (v2.25.64;

<awssdk.version>2.25.64</awssdk.version>
).

Code in awssdk-java-v2 v2.25.64:
https://github.com/aws/aws-sdk-java-v2/blob/76d2819f93a21c7600e0e53e3f13345ade1c8387/core/auth/src/main/java/software/amazon/awssdk/auth/credentials/ContainerCredentialsProvider.java

The function has been later introduced with: aws/aws-sdk-java-v2@0043e38


The multilang implementation relies on this function to be present if no string only (or blank) constructor is available on the class:

https://github.com/awslabs/amazon-kinesis-client/blob/4492e1e206198f9d01af3c0a954ffe64907e8b11/amazon-kinesis-client-multilang/src/main/java/software/amazon/kinesis/multilang/config/AwsCredentialsProviderPropertyValueDecoder.java#L83-L105

As the constructor expects a BuilderImpl it will probably not be called (only called with string args) and a create does not exist for the specific version of awssdk-java-v2.

@stabl-gjn stabl-gjn changed the title Unable to "quick" create ContainerCredentialsProvider CredentialsProvider for Multilang project Unable to use ContainerCredentialsProvider CredentialsProvider for Multilang project Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant