問題
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:::我的桶/文件夾/ *”}]}