使用 Lake Formation 凭证配置爬网程序时,通过以下信息诊断和修复各种问题。
错误:S3 位置:s3://examplepath 未注册
要让爬网程序使用 Lake Formation 凭证运行,您需要先设置 Lake Formation 权限。要解决此错误,请向 Lake Formation 注册目标 Amazon S3 位置。有关更多信息,请参阅 Registering an Amazon S3 location(注册 Amazon S3 位置)。
错误:用户/角色未授权执行:资源上的 lakeformation:GetDataAccess
请使用 IAM 控制台或 AWS CLI 将 lakeformation:GetDataAccess
权限添加至爬网程序。获得此权限后,Lake Formation 将授权访问数据的临时凭证请求。请参见以下策略:
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": [
"lakeformation:GetDataAccess"
],
"Resource": "*"
}
}
错误:其上的 Lake Formation 权限不足(数据库名称:exampleDatabase,表名:exampleTable)
在 Lake Formation 控制台 (https://console.aws.amazon.com/lakeformation/ Create
、Describe
、Alter
),该数据库指定为输出数据库。您也可以授予对表的权限。有关更多信息,请参阅 Granting database permissions using the named resource method(使用 指定的资源方法授予数据库权限)。
错误:s3://examplepath 上的 Lake Formation 权限不足
-
跨账户爬取
-
使用注册 Amazon S3 存储桶的账户(账户 B)登录 Lake Formation 控制台 (https://console.aws.amazon.com/lakeformation/
)。向将运行爬网程序的账户(账户 A)授予数据位置权限。这将允许爬网程序从目标 Amazon S3 位置读取数据。 -
在创建爬网程序的账户(账户 A)中,授予用于爬网程序运行的 IAM 角色目标 Amazon S3 位置上的数据位置权限,以使爬网程序能够从 Lake Formation 中的目标读取数据。有关更多信息,请参阅 Granting data location permissions (external account)(授予数据位置权限(外部账户))。
-
-
账户内(爬网程序与注册的 Amazon S3 位置位于同一账户)爬取 - 向用于爬网程序在 Amazon S3 位置上运行的 IAM 角色授予数据位置权限,以便爬网程序可以从 Lake Formation 中的目标读取数据。有关更多信息,请参阅 Granting data location permissions (same account)(授予数据位置权限(同一账户))。
有关使用 Lake Formation 凭证配置爬网程序的常见问题
-
如何使用 AWS 控制台将爬网程序配置为使用 Lake Formation 凭证运行?
在 AWS Glue 控制台(https://console.aws.amazon.com/glue/
)中配置爬网程序时,选择选项 Use Lake Formation credentials for crawling Amazon S3 data source(使用 Lake Formation 凭证爬取 Amazon S3 数据来源)。对于跨账户爬取,请指定向 Lake Formation 注册的目标 Amazon S3 位置的 AWS 账户 ID。对于账户内爬取,accountId 字段是可选的。 -
如何使用 AWS CLI 将爬网程序配置为使用 Lake Formation 凭证运行?
在
CreateCrawler
API 调用期间,添加LakeFormationConfiguration
:"LakeFormationConfiguration": { "UseLakeFormationCredentials": true, "AccountId": "111111111111" (AWS account ID where the target Amazon S3 location is registered with Lake Formation) }
-
使用 Lake Formation 凭证的爬网程序支持哪些目标?
使用 Lake Formation 凭证的爬网程序仅支持 Amazon S3(账户内和跨账户爬取)和账户内数据目录目标(其底层位置为 Amazon S3)和 Apache Iceberg 目标。
-
作为使用 Lake Formation 凭证的单个爬网程序的一部分,我是否可以爬取多个 Amazon S3 桶?
不可以,对于使用 Lake Formation 凭证售卖的爬取目标,基础 Amazon S3 位置必须属于同一个桶。例如,如果它们在同一个桶 (bucket1) 下,则客户可以使用多个目标位置
(s3://bucket1/folder1, s3://bucket1/folder2)
。不支持指定不同的桶 (s3://bucket1/folder1, s3://bucket2/folder2)。