是的,AWS Glue爬虫可以在一个账户中访问另一个账户中的DynamoDB。下面是一个示例代码,展示了如何在AWS Glue爬虫中访问不同账户的DynamoDB表。
首先,你需要在AWS Glue爬虫中配置跨账户访问的角色。在源账户中创建一个IAM角色,授予该角色访问DynamoDB表的权限,并将其信任关系设置为目标账户。然后,在目标账户中创建一个IAM角色,将源账户中的角色添加为可信实体。
接下来,你可以使用以下代码示例创建一个AWS Glue爬虫,该爬虫可以访问另一个账户中的DynamoDB表。
import boto3
# 创建AWS Glue客户端
glue_client = boto3.client('glue')
# 定义DynamoDB表的目标账户的角色ARN
dynamodb_role_arn = 'arn:aws:iam::目标账户ID:role/角色名称'
# 创建爬虫
response = glue_client.create_crawler(
Name='cross-account-crawler',
Role=dynamodb_role_arn,
DatabaseName='your_database_name',
Targets={
'DynamoDBTargets': [
{
'Path': 'arn:aws:dynamodb:目标账户区域:目标账户ID:table/表名称'
}
]
}
)
# 启动爬虫
glue_client.start_crawler(Name='cross-account-crawler')
使用上述代码,你需要将目标账户ID
、角色名称
、目标账户区域
和表名称
替换为实际的值。
这样,AWS Glue爬虫就可以在一个账户中访问另一个账户中的DynamoDB表了。