gpt4 book ai didi

amazon-web-services - 在 CloudFormation 上使用 JdbcTargets 指定 Glue::Crawler

转载 作者:行者123 更新时间:2023-12-04 03:01:06 24 4
gpt4 key购买 nike

我正在尝试设置 AWS Glue 以使用 CloudFormation 从 RDS Postgres 读取数据。为此,我需要使用 JdbcTarget 选项创建一个爬虫。 (或者我不这样做?)

  Records:
Type: 'AWS::Glue::Crawler'
Properties:
DatabaseName: transact
Targets:
JdbcTargets:
- Path: "jdbc:postgresql://host:5432/database"
Role: !Ref ETLAgent

但是在 CloudFormation 上创建堆栈将会失败,并显示:

CREATE_FAILED | AWS::Glue::爬行器 |记录|连接名称不能等于 null 或为空。 (服务:AWSGlue;状态代码:400;错误代码:InvalidInputException;

尽管the docs说:

ConnectionName

The name of the connection to use for the JDBC target.

Required: No

使用 CloudFormation 允许我从 RDS 读取数据的正确 AWS Glue 设置是什么?

最佳答案

您确实缺少 ConnectionName 属性,该属性应该包含您缺少的连接资源的名称。您设置的 Path 属性用于选择要爬网的架构/表(dbname/%/% 以包含全部)。咨询CloudFormation docs on Crawler JDBCTarget了解详情。

您的模板应该类似于

  MyDbConnection:
Type: "AWS::Glue::Connection"
Properties:
CatalogId: !Ref 'AWS::AccountId'
ConnectionInput:
Description: "JDBC Connection to my RDS DB"
PhysicalConnectionRequirements:
AvailabilityZone: "eu-central-1a"
SecurityGroupIdList:
- my-sec-group-id
SubnetId: my-subnet-id
ConnectionType: "JDBC"
ConnectionProperties:
"JDBC_CONNECTION_URL": "jdbc:postgresql://host:5432/database"
"USERNAME": "my-db-username"
"PASSWORD": "my-password"
Records:
Type: 'AWS::Glue::Crawler'
Properties:
DatabaseName: transact
Targets:
JdbcTargets:
- ConnectionName: !Ref MyDbConnection
Path: "database/%/%"
Role: !Ref ETLAgent

关于amazon-web-services - 在 CloudFormation 上使用 JdbcTargets 指定 Glue::Crawler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49157595/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com