问题描述
我在 AWS 上创建了一个 PREMIUM trail Databricks 账户。我已使用用户访问密钥设置 AWS account
。
并按照 URL 中的以下说明配置 AWS storage
(在下面的 URL 中设置存储桶策略)。
{
"Version": "2012-10-17","Statement": [
{
"Sid": "Grant Databricks Access","Effect": "Allow","Principal": {
"AWS": "arn:aws:iam::98765432101:root"
},"Action": [
"s3:Getobject","s3:GetobjectVersion","s3:PutObject","s3:DeleteObject","s3:ListBucket","s3:GetBucketLocation"
],"Resource": [
"arn:aws:s3:::my-databricks-user-bucket/*","arn:aws:s3:::my-databricks-user-bucket"
]
}
]
}
https://docs.databricks.com/administration-guide/account-settings/aws-storage.html
但是,我收到如下错误。
提供的 S3 存储桶有效,但权限不足 启动 Databricks 部署。请仔细检查您的设置 根据教程。缺少权限:PUT、LIST、DELETE
在我使用的上述存储桶策略中,有 PUT
、LIST
、DELETE
策略。仍然面临上述错误。
注意:作为跟踪和错误,将 Action
更改为如下允许所有操作。但是,仍然得到同样的错误。
"Action": "*"
解决方法
上述错误是我在AWS上设置Databricks账户时犯的错误造成的。
作为在 Databricks 中设置 AWS account
详细信息的一部分,应创建 cross-account-role
(替代方法是通过访问密钥)。创建角色时,应提供 AWS 帐户 ID(Databricks AWS 帐户 ID)。其值为 414351767826
。
我犯的错误是我给了我的 AWS 账户 ID 而不是 Databricks。遵循以下 URL 中的内容将按预期工作。
我在设置 AWS storage
时遇到的同样问题。按照原样遵循文档将完美运行。
https://docs.databricks.com/administration-guide/account-settings/aws-accounts.html