问题
DataFrame三角洲湖格式的内容写入一个S3的位置可能会导致一个错误:
com.amazonaws.services.s3.model。一个mazonS3Exception: Forbidden (Service: Amazon S3; Status Code: 403; Error Code: 403 Forbidden; Request ID: C827672D85516BA9; S3 Extended Request ID:
导致
一个写操作包括三角洲湖格式需要其他文件格式不需要的权限。例如,三角洲湖需要创建一个_delta_log目录中。的写操作还需要检查的最新版本提交日志。您需要添加额外的权限我和桶的角色允许写操作成功完成。
解决方案
添加以下权限,使写作δ表:
- 将这些权限添加到我政策JSON:
[" s3: propertynames”、“s3: DeleteObject”、“s3: ListBucket”,“s3: GetObject”、“s3: PutObjectAcl”)
- 将这些权限添加到桶政策JSON:
[" s3: GetObject”、“s3: GetObjectVersion”、“s3: propertynames”,“s3: DeleteObject”、“s3: ListBucket”,“s3: GetBucketLocation”)
或者,您可以使用JSON格式的我政策添加权限,如下所示:
{“版本”:“2012-10-17”,“声明”:[{“Sid”:“VisualEditor0”,“效果”:“允许”、“行动”:“s3: ListBucket”、“资源”:“在攻击:aws: s3:::我的桶”},{“Sid”:“VisualEditor1”,“效果”:“允许”、“行动”:[“s3: propertynames”,“s3: GetObject”、“s3: DeleteObject”、“s3: PutObjectAcl”),“资源”:“在攻击:aws: s3:::我的桶/文件夹/ *”}]}