Thank you Jaehyeon Kim. A workaround consists on exporting was credentials as
environment variables using https://github.com/linaro-its/aws2-wrap The command
below will set the environment variables AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, which makes the Flink code work.
On 2023/12/06 22:57:28 Fourais wrote:
> Hi,
>
> Using Flink 1.18 and Java 17, I am trying to read a text file from S3 using
> env.readTextFile("s3://mybucket/folder1/file.txt"). When I run the app in
> the IDE, I get the following error:
>
> Caused by: org.apache.hadoop.fs.s3a.auth.NoAuthWithAWSException: No AWS
> Credentials provided by DynamicTemporaryAWSCredentialsProvider
> TemporaryAWSCredentialsProvider SimpleAWSCredentialsProvider
> EnvironmentVariableCredentialsProvider IAMInstanceCredentialsProvider :
> com.amazonaws.SdkClientException: Unable to load AWS credentials from
> environment variables (AWS_ACCESS_KEY_ID (or AWS_ACCESS_KEY) and
> AWS_SECRET_KEY (or AWS_SECRET_ACCESS_KEY))
>
> I authenticated into AWS using SSO e.g. aws sso login --profile
> my-aws-profile, so I do not have any keys set as environment variables. I
> have tried the different CredentialsProvider options suggested in the error
> message without success.
>
> Could you help me identify what I am missing?
>
> Thank you very much for your help,
> /Fourais
>