Amazon web services 在CloudFormation上使用JdbcTargets指定Glue::Crawler
我正在尝试设置AWS胶水,以便使用CloudFormation读取RDS Postgres。为了做到这一点,我需要使用JdbcTarget选项创建一个爬虫程序。(或者我没有?) 但是在CloudFormation上创建堆栈将失败:Amazon web services 在CloudFormation上使用JdbcTargets指定Glue::Crawler,amazon-web-services,amazon-cloudformation,aws-glue,Amazon Web Services,Amazon Cloudformation,Aws Glue,我正在尝试设置AWS胶水,以便使用CloudFormation读取RDS Postgres。为了做到这一点,我需要使用JdbcTarget选项创建一个爬虫程序。(或者我没有?) 但是在CloudFormation上创建堆栈将失败: CREATE|u失败| AWS::Glue::Crawler | Records |连接名称不能等于null或空。(服务:AWSGlue;状态代码:400;错误代码:InvalidInputException; 即使你说: 连接名 用于JDBC目标的连接的名称 必填项
CREATE|u失败| AWS::Glue::Crawler | Records |连接名称不能等于null或空。(服务:AWSGlue;状态代码:400;错误代码:InvalidInputException;
即使你说: 连接名 用于JDBC目标的连接的名称 必填项:否
使用CloudFormation的正确AWS Glue设置是什么,允许我从RDS读取?您确实缺少了属性,该属性应该包含您缺少的连接资源的名称。您正在设置的ConnectionName
属性用于选择要爬网的架构/表(Path
包含所有)。有关详细信息,请参阅) 您的模板应该类似于dbname/%/%
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
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