本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用自己的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连接中,请执行以下操作:
-
将JDBC驱动程序文件添加到 Amazon S3 位置。您可以创建存储桶和/或文件夹,或使用现有存储桶和/或文件夹。
-
在 AWS Glue 控制台中,选择 Data Catalog 下方左侧菜单中的连接,然后创建新连接。
-
填写 “连接属性” 字段,然后选择 “JDBC连接类型”。
-
在连接访问中,输入JDBCURL和JDBC驱动程序类名 — 可选。驱动程序类名必须是 AWS Glue 爬网程序支持的数据来源的名称。
-
在 “JDBC驱动程序 Amazon S3 路径 — 可选” 字段中选择JDBC驱动程序所在的 Amazon S3 路径。
-
如果输入用户名和密码或密钥,请填写“凭证类型”字段。完成后,选择创建连接。
注意
目前不支持测试连接。使用您提供的JDBC驱动程序抓取数据源时,Crawler 会跳过此步骤。
-
将新创建的连接添加到爬网程序。在 AWS Glue 控制台中,选择 Data Catalog 下方左侧菜单中的爬网程序,然后创建新爬网程序。
-
在添加爬网程序向导中,在步骤 2 中选择添加数据来源。
-
选择JDBC作为数据源,然后选择在前面的步骤中创建的连接。完成
-
要将自己的JDBC驱动程序与 AWS Glue 爬虫一起使用,请向爬虫使用的角色添加以下权限:
-
授予以下作业操作的权限:
CreateJob
、DeleteJob
、GetJob
、GetJobRun
、StartJobRun
。 -
授予IAM操作权限:
iam:PassRole
-
授予 Amazon S3 操作的权限:
s3:DeleteObjects
、s3:GetObject
、s3:ListBucket
、s3: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" ] } ] }
-
-
如果您使用的是VPC,则必须通过创建接口AWS Glue终端节点并将其添加到您的路由表中来允许访问终端节点。有关更多信息,请参阅为创建接口VPC终端节点 AWS Glue
-
如果您在数据目录中使用加密,请创建 AWS KMS 接口终端节点并将其添加到您的路由表中。有关更多信息,请参阅为创建VPC终端节点 AWS KMS。