View a markdown version of this page

从其他账户注册数据目录 - Amazon Athena

从其他账户注册数据目录

您可以使用 Athena 的跨账户 AWS Glue 目录功能来从您自己的账户以外的账户注册 AWS Glue 目录。在您为 AWS Glue 配置所需的 IAM 权限并将目录注册为 Athena DataCatalog 资源后,您可以使用 Athena 运行跨账户查询。有关配置所需权限的信息,请参阅 配置 AWS Glue 数据目录的跨账户存取。

以下过程说明如何使用 Athena 将 AWS Glue Data Catalog 在不属于您的 Amazon Web Services 账户中配置为数据来源。

从控制台注册

  1. 请按 配置 AWS Glue 数据目录的跨账户存取 中的步骤操作,以确保您有权查询其他账户中的数据目录。

  2. 从 https://console.aws.amazon.com/athena/ 打开 Athena 控制台。

  3. 如果控制台导航窗格不可见,请选择左侧的扩展菜单。

    选择扩展菜单。
  4. 选择数据来源和目录。

  5. 选择右上角的 Connect data source(连接数据来源)。

  6. 在 Choose a data source(选择数据来源)页面上,对于Data sources(数据来源),选择 S3 - AWS Glue Data Catalog,然后选择 Next(下一步)。

  7. 在输入数据来源详细信息页面的 AWS Glue Data Catalog 部分中,对于选择 AWS Glue Data Catalog,选择 AWS Glue Data Catalog 中的其他账户。

  8. 对于 Data source details(数据源详细信息),提供以下信息:

    • Data source name(数据源名称)– 输入要在 SQL 查询中使用的名称,以引用其他账户中的数据目录。

    • Description(描述)–(可选)输入其他账户中数据目录的描述。

    • Catalog ID(目录编号)– 输入数据目录所属账户的 12 位 Amazon Web Services 账户 ID。Amazon Web Services 账户 ID 即是目录 ID。

  9. (可选)对于 Tags(标签),输入要与数据源关联的键-值对。有关标签的更多信息,请参阅标记 Athena 资源。

  10. 选择下一步。

  11. 在 Review and create(审核和创建)页面中,检查数据来源的详细信息,然后选择 Create data source(创建数据来源)。Data source details(数据来源详细信息)页面列出了所注册数据目录的数据库和标签。

  12. 选择数据来源和目录。您注册的数据目录在 Data source name(数据来源名称)列中列出。

  13. 要查看或编辑有关数据目录的信息,请选择该目录,然后选择Actions(操作)、Edit(编辑)。

  14. 要删除新数据目录,请选择该目录,然后选择 Actions(操作)、Delete(删除)。

使用 API 操作进行注册

  1. 以下 CreateDataCatalog 请求正文为跨账户访问注册了 AWS Glue 目录:

    # Example CreateDataCatalog request to register a cross-account Glue catalog: { "Description": "Cross-account Glue catalog", "Name": "ownerCatalog", "Parameters": {"catalog-id" : "<catalogid>" # Owner's account ID }, "Type": "GLUE" }
  2. 以下示例代码使用 Java 客户端创建 DataCatalog 对象。

    # Sample code to create the DataCatalog through Java client CreateDataCatalogRequest request = new CreateDataCatalogRequest() .withName("ownerCatalog") .withType(DataCatalogType.GLUE) .withParameters(ImmutableMap.of("catalog-id", "<catalogid>")); athenaClient.createDataCatalog(request);

    完成这些步骤后,借入者应会在调用 ListDataCatalogs API 操作时看到 ownerCatalog。

使用 AWS CLI 进行注册

使用以下示例 CLI 命令从另一个账户注册 AWS Glue Data Catalog

aws athena create-data-catalog \ --name cross_account_catalog \ --type GLUE \ --description "Cross Account Catalog" \ --parameters catalog-id=<catalogid>

有关更多信息,请参阅 AWS 大数据博客中的使用 Amazon Athena 查询跨账户 AWS Glue Data Catalog。