使用自己的JDBC驱动程序添加JDBC连接 - AWS Glue

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用自己的JDBC驱动程序添加JDBC连接

使用JDBC连接时,您可以使用自己的JDBC驱动程序。当 AWS Glue Crawler 使用的默认驱动程序无法连接到数据库时,您可以使用自己的JDBC驱动程序。例如,如果您想在 Postgres 数据库中使用 SHA -256,而较旧的 postgres 驱动程序不支持此功能,则可以使用自己的驱动程序。JDBC

支持的数据来源

支持的数据来源 不支持的数据来源
我的 SQL Snowflake
Postgres
Oracle
Redshift
SQL服务器
Aurora*

*如果使用本机JDBC驱动程序,则支持。并非所有驱动程序功能都可以利用。

在JDBC连接中添加JDBC驱动程序

注意

如果您选择引入自己的JDBC驱动程序版本,则AWS Glue爬网程序将消耗AWS Glue任务和 Amazon S3 存储桶中的资源,以确保您提供的驱动程序在您的环境中运行。额外的资源使用量将反映在您的账户中。AWS Glue 爬网程序和作业的成本属于计费 AWS Glue 类别。此外,提供自己的JDBC驱动程序并不意味着爬虫能够利用驱动程序的所有功能。

要将自己的JDBC驱动程序添加到JDBC连接中,请执行以下操作:
  1. 将JDBC驱动程序文件添加到 Amazon S3 位置。您可以创建存储桶和/或文件夹,或使用现有存储桶和/或文件夹。

  2. 在 AWS Glue 控制台中,选择 Data Catalog 下方左侧菜单中的连接,然后创建新连接。

  3. 填写 “连接属性” 字段,然后选择 “JDBC连接类型”。

  4. 连接访问中,输入JDBCURLJDBC驱动程序类名可选。驱动程序类名必须是 AWS Glue 爬网程序支持的数据来源的名称。

    屏幕截图在 “添加数据源” 窗口中显示了JDBC选定数据源和连接。
  5. 在 “JDBC驱动程序 Amazon S3 路径 — 可选” 字段中选择JDBC驱动程序所在的 Amazon S3 路径

  6. 如果输入用户名和密码或密钥,请填写“凭证类型”字段。完成后,选择创建连接

    注意

    目前不支持测试连接。使用您提供的JDBC驱动程序抓取数据源时,Crawler 会跳过此步骤。

  7. 将新创建的连接添加到爬网程序。在 AWS Glue 控制台中,选择 Data Catalog 下方左侧菜单中的爬网程序,然后创建新爬网程序。

  8. 添加爬网程序向导中,在步骤 2 中选择添加数据来源

    屏幕截图在 “添加数据源” 窗口中显示了JDBC选定数据源和连接。
  9. 选择JDBC作为数据源,然后选择在前面的步骤中创建的连接。完成

  10. 要将自己的JDBC驱动程序与 AWS Glue 爬虫一起使用,请向爬虫使用的角色添加以下权限:

    • 授予以下作业操作的权限:CreateJobDeleteJobGetJobGetJobRunStartJobRun

    • 授予IAM操作权限:iam:PassRole

    • 授予 Amazon S3 操作的权限:s3:DeleteObjectss3:GetObjects3:ListBuckets3:PutObject

    • 授予服务主体对策略中存储桶/文件夹的访问权限。IAM

    IAM策略示例:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::bucket-name/driver-parent-folder/driver.jar", "arn:aws:s3:::bucket-name" ] } ] }
  11. 如果您使用的是VPC,则必须通过创建接口AWS Glue终端节点并将其添加到您的路由表中来允许访问终端节点。有关更多信息,请参阅为创建接口VPC终端节点 AWS Glue

  12. 如果您在数据目录中使用加密,请创建 AWS KMS 接口终端节点并将其添加到您的路由表中。有关更多信息,请参阅为创建VPC终端节点 AWS KMS