I'm using target-redshift and trying to authentica...
# troubleshooting
h
I'm using target-redshift and trying to authenticate with an AWS profile that is linked to SSO based authentication. However I get:
Copy code
botocore.exceptions.NoCredentialsError: Unable to locate credentials
When I run
meltano invoke target-redshift
and probe using the Python debugger I can see that the profile is picked up but when I try to query for something using the aws session (e.g. s3.list_buckets()) the above error occurs. The loader is using boto3 version 1.12. When I try with another version of boto3 (1.26) in a separate environment it works just fine. Anyone have any idea why the difference? I looked through the docs for both versions and there aren't any meaningful differences I can spot. @Matt Menzenski did you run into something like this with target-redshift? The only solution I can see is to fork the loader (yours @Matt Menzenski) and update the boto3 version.
OK seem to have found the issue. Support for SSO credential providers wasn't added to boto3 until version 1.14 (see changelog).
* featureSSO [``botocore``] Added support for the SSO credential provider. This allows the SDK to retrieve temporary AWS credentials from a profile configured to use SSO credentials.
If anyone has any workarounds to this it would be much appreciated it.
m
I have not run into this, we’re using username+password authentication
h
Just an update - created a fork and upgraded to boto 1.26. Solved my issue.