1

当我为 AWS Glue 服务创建 S3 VPC 终端节点以从 redshift 集群卸载数据时,ETL 作业仅在 VPC 终端节点策略设置为“完全访问”时才有效。

IE

 {
    "Statement": [
        {
            "Action": "*",
            "Effect": "Allow",
            "Resource": "*",
            "Principal": "*"
        }
    ]
}

当策略设置为“自定义”并进行如下修改时,它不起作用。

{
    "Statement": [
        {
            "Action": "*",
            "Effect": "Allow",
            "Resource": ["arn:aws:s3:::examplebucket",
                   "arn:aws:s3:::examplebucket/*"],
            "Principal": "*"
        }
    ]
}

在 ETL 作业中,我已将 examplebucket 指定为保存 ETL 脚本和临时文件的位置,因此我很难理解为什么 ETL 作业仅在策略设置为自定义时才会失败。Glue 是否尝试访问作业中指定存储桶以外的其他 S3 资源?

4

1 回答 1

2

粘合作业还需要以下内容: 1. S3 中的临时目录。2. S3中存放生成的python脚本的位置。

例如,如果没有指定脚本位置;胶水自动选择以下位置“s3://aws-glue-scripts-YourAccountId-us-east-1/”

确保您的 IAM 角色策略也反映了您选择的 s3 位置。

于 2017-09-11T02:37:56.133 回答