I ran an Lake Formation BluePrint and result was as follows:
method to run | result |
---|
by hand | COMPLETED |
scheduled | IMPORT FAILED(NoCredentialsError: Unable to locate credentials) |
The error log of ETL Job for workflow said "botocore.exceptions.NoCredentialsError: Unable to locate credentials".
Why scheduled job failed? Is there any solution?
The BluePrint's detail as follows:
- Blueprint type: Database snapshot
- Import target's data format: Parquet
- Import frequency: Monthly
- Day of the month: 1
- start time: 10:00
- Policies which the IAM role(use by this Blueprint) has:
- AWS managed policy
- inline policies
1st
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "lakeformation:GetDataAccess",
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:ListBucket",
"s3:DeleteObject"
],
"Resource": [
"{{DATALAKE BUCKET ARN}}/*",
"{{DATALAKE BUCKET ARN}}"
]
}
]
}
2nd
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "{{Glue Connect to RDS ARN}}"
}
]
}