连接 API - AWS Glue
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

连接 API

连接 API 介绍 AWS Glue 连接数据类型,以及用于创建、删除、更新和列出连接的 API。

数据类型

Connection 结构

定义与数据源的连接。

Fields

  • Name – UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    连接定义的名称。

  • Description – 描述串,长度不超过2048帧,与 URI address multi-line string pattern.

    连接的描述。

  • ConnectionType – UTF-8串(有效值: JDBC | SFTP | MONGODB | KAFKA | NETWORK)。

    连接的类型。目前不支持 SFTP。

  • MatchCriteria – UTF-8串,不超过10个。

    可用于选择此连接的条件的列表。

  • ConnectionProperties – 密钥值对的映射阵列,不超过100对。

    每个键都是UTF-8串(有效值: HOST | PORT | USERNAME="USER_NAME" | PASSWORD | ENCRYPTED_PASSWORD | JDBC_DRIVER_JAR_URI | JDBC_DRIVER_CLASS_NAME | JDBC_ENGINE | JDBC_ENGINE_VERSION | CONFIG_FILES | INSTANCE_ID | JDBC_CONNECTION_URL | JDBC_ENFORCE_SSL | CUSTOM_JDBC_CERT | SKIP_CUSTOM_JDBC_CERT_VALIDATION | CUSTOM_JDBC_CERT_STRING | CONNECTION_URL | KAFKA_BOOTSTRAP_SERVERS | KAFKA_SSL_ENABLED | KAFKA_CUSTOM_CERT | KAFKA_SKIP_CUSTOM_CERT_VALIDATION)。

    每个值是一个值字符串,不超过 1024 个字节。

    这些键值对用于定义连接的参数。

    • HOST- 主机 URI:完全限定域名 (FQDN) 或数据库主机的 IPv4 地址。

    • PORT- 端口的端口号,介于 1024 和 65535 之间,数据库主机在这些端口上侦听数据库连接。

    • USER_NAME- 登录数据库时使用的名称。USER_NAME 的值字符串为“USERNAME”。

    • PASSWORD- 用户名使用的密码(如果使用的话)。

    • ENCRYPTED_PASSWORD - 通过在数据目录加密设置中设置 ConnectionPasswordEncryption 来启用连接密码保护时,此字段会存储加密的密码。

    • JDBC_DRIVER_JAR_URI - 包含要使用的 JDBC 驱动程序的 JAR 文件的 Amazon Simple Storage Service (Amazon S3) 路径。

    • JDBC_DRIVER_CLASS_NAME - 要使用的 JDBC 驱动程序的类名称。

    • JDBC_ENGINE - 要使用的 JDBC 引擎的名称。

    • JDBC_ENGINE_VERSION - 要使用的 JDBC 引擎的版本。

    • CONFIG_FILES -(留待将来使用。)

    • INSTANCE_ID - 要使用的实例 ID。

    • JDBC_CONNECTION_URL - 用于连接到 JDBC 数据源的 URL。

    • JDBC_ENFORCE_SSL - 指定在客户端上建立 JDBC 连接时是否强制使用安全套接字层 (SSL) 及主机名匹配的布尔值字符串(true 或 false)。默认为 false。

    • CUSTOM_JDBC_CERT - 指明客户根证书的 Amazon S3 位置。在连接到客户数据库时,AWS Glue 将使用此根证书来验证客户的证书。AWS Glue 仅处理 X.509 证书。提供的证书必须经过 DER 编码,并以 Base64 编码 PEM 格式提供。

    • SKIP_CUSTOM_JDBC_CERT_VALIDATION -默认情况下, false。灰泥验证客户证书的签名算法和主题公共密钥算法。签名算法允许的算法仅包括 SHA256withRSA、SHA384withRSA 或 SHA512withRSA。对于主题公有密钥算法,密钥长度必须至少为 2048 位。您可以将该属性的值设置为 true 以跳过 AWS Glue 对客户证书进行的验证。

    • CUSTOM_JDBC_CERT_STRING - 一个自定义的 JDBC 证书字符串,用于域匹配或可分辨名称匹配以防止中间人攻击。在 Oracle 数据库中,这将用作 SSL_SERVER_CERT_DN;在 Microsoft SQL Server 中,这将用作 hostNameInCertificate

    • CONNECTION_URL - 用于连接到一般(非 JDBC)数据源的 URL。

    • KAFKA_BOOTSTRAP_SERVERS - 以逗号分隔的主机和端口对列表,它们是 Kafka 集群中 Apache Kafka 代理商的地址,Kafka 客户端将连接到该集群并自行引导。

  • PhysicalConnectionRequirements – 一个 :PhysicalConnectionRequirements 对象。

    成功建立此连接所需的物理连接要求的映射,如 Virtual Private Cloud (VPC) 和 SecurityGroup

  • CreationTime – 时间戳。

    创建此连接定义的时间。

  • LastUpdatedTime – 时间戳。

    上次更新此连接定义的时间。

  • LastUpdatedBy – UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    上次更新此连接定义的用户、组或角色。

ConnectionInput 结构

用于指定要创建或更新的连接的结构。

Fields

  • Name必填: UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    连接的名称。

  • Description – 描述串,长度不超过2048帧,与 URI address multi-line string pattern.

    连接的描述。

  • ConnectionType必填: UTF-8串(有效值: JDBC | SFTP | MONGODB | KAFKA | NETWORK)。

    连接的类型。目前,支持以下类型:

    • JDBC - 通过 Java 数据库连接 (JDBC) 指定与数据库的连接。

    • KAFKA - 指定与 Apache Kafka 流平台的连接。

    • MONGODB - 指定与 MongoDB 文档数据库的连接。

    不支持 SFTP。

  • MatchCriteria – UTF-8串,不超过10个。

    可用于选择此连接的条件的列表。

  • ConnectionProperties必填: 密钥值对的映射阵列,不超过100对。

    每个键都是UTF-8串(有效值: HOST | PORT | USERNAME="USER_NAME" | PASSWORD | ENCRYPTED_PASSWORD | JDBC_DRIVER_JAR_URI | JDBC_DRIVER_CLASS_NAME | JDBC_ENGINE | JDBC_ENGINE_VERSION | CONFIG_FILES | INSTANCE_ID | JDBC_CONNECTION_URL | JDBC_ENFORCE_SSL | CUSTOM_JDBC_CERT | SKIP_CUSTOM_JDBC_CERT_VALIDATION | CUSTOM_JDBC_CERT_STRING | CONNECTION_URL | KAFKA_BOOTSTRAP_SERVERS | KAFKA_SSL_ENABLED | KAFKA_CUSTOM_CERT | KAFKA_SKIP_CUSTOM_CERT_VALIDATION)。

    每个值是一个值字符串,不超过 1024 个字节。

    这些键值对用于定义连接的参数。

  • PhysicalConnectionRequirements – 一个 :PhysicalConnectionRequirements 对象。

    成功建立此连接所需的物理连接要求的映射,如 Virtual Private Cloud (VPC) 和 SecurityGroup

PhysicalConnectionRequirements 结构

指定连接的物理要求。

Fields

  • SubnetId – UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    连接使用的子网 ID。

  • SecurityGroupIdList – UTF-8串,不超过50个。

    连接使用的安全组 ID 列表。

  • AvailabilityZone – UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    连接的可用区。此字段是多余的,因为指定的子网暗示了要使用的可用区。此字段目前必须填写,但是将来会被弃用。

GetConnectionsFilter 结构

筛选由 GetConnections API 操作返回的连接定义。

Fields

  • MatchCriteria – UTF-8串,不超过10个。

    一个条件字符串,它必须与连接定义中记录的条件相匹配,才能返回连接定义。

  • ConnectionType – UTF-8串(有效值: JDBC | SFTP | MONGODB | KAFKA | NETWORK)。

    要返回的连接的类型。目前不支持 SFTP。

Operations

CreateConnection 操作 (Python: create_connection)

在数据目录中创建连接定义。

Request

  • CatalogId – 目录id串,长度不小于1或超过255个ytes,与 Single-line string pattern.

    要在其中创建连接的数据目录的 ID。如果没有提供,则默认情况下使用 AWS 账户 ID。

  • ConnectionInput必填: 一个 :ConnectionInput 对象。

    用于定义要创建的连接的 ConnectionInput 对象。

Response

  • 无响应参数。

Errors

  • AlreadyExistsException

  • InvalidInputException

  • OperationTimeoutException

  • ResourceNumberLimitExceededException

  • GlueEncryptionException

DeleteConnection 操作 (Python: delete_connection)

从数据目录中删除连接。

Request

  • CatalogId – 目录id串,长度不小于1或超过255个ytes,与 Single-line string pattern.

    连接所在的数据目录的 ID。如果没有提供,则默认情况下使用 AWS 账户 ID。

  • ConnectionName必填: UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    要删除的连接的名称。

Response

  • 无响应参数。

Errors

  • EntityNotFoundException

  • OperationTimeoutException

GetConnection 操作 (Python: get_connection)

从数据目录中检索连接定义。

Request

  • CatalogId – 目录id串,长度不小于1或超过255个ytes,与 Single-line string pattern.

    连接所在的数据目录的 ID。如果没有提供,则默认情况下使用 AWS 账户 ID。

  • Name必填: UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    要检索的连接定义的名称。

  • HidePassword – 布尔值

    允许您在不返回密码的情况下检索连接元数据。例如,AWS Glue 控制台使用此标记来检索连接,并且不显示密码。当调用方可能无权使用 AWS KMS 密钥解密密码,但有权访问其余连接属性时,请设置此参数。

Response

  • Connection – 一个 Connection 对象。

    请求的连接定义。

Errors

  • EntityNotFoundException

  • OperationTimeoutException

  • InvalidInputException

  • GlueEncryptionException

GetConnections 操作 (Python: get_connections)

从数据目录中检索连接定义的列表。

Request

  • CatalogId – 目录id串,长度不小于1或超过255个ytes,与 Single-line string pattern.

    连接所在的数据目录的 ID。如果没有提供,则默认情况下使用 AWS 账户 ID。

  • Filter – 一个 GetConnectionsFilter 对象。

    控制将返回哪些连接的筛选器。

  • HidePassword – 布尔值

    允许您在不返回密码的情况下检索连接元数据。例如,AWS Glue 控制台使用此标记来检索连接,并且不显示密码。当调用方可能无权使用 AWS KMS 密钥解密密码,但有权访问其余连接属性时,请设置此参数。

  • NextToken – UTF-8串。

    延续标记 (如果这是延续调用)。

  • MaxResults – 数量(整数),不小于1或大于1000。

    要在一个响应中返回的连接的最大数量。

Response

  • ConnectionList – 一系列 Connection 对象。

    请求的连接定义的列表。

  • NextToken – UTF-8串。

    延续令牌 (如果返回的连接列表不包括最后一个筛选的连接)。

Errors

  • EntityNotFoundException

  • OperationTimeoutException

  • InvalidInputException

  • GlueEncryptionException

UpdateConnection 操作 (Python: update_connection)

在数据目录中更新连接定义。

Request

  • CatalogId – 目录id串,长度不小于1或超过255个ytes,与 Single-line string pattern.

    连接所在的数据目录的 ID。如果没有提供,则默认情况下使用 AWS 账户 ID。

  • Name必填: UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    要更新的连接定义的名称。

  • ConnectionInput必填: 一个 :ConnectionInput 对象。

    用于重新定义所涉连接的 ConnectionInput 对象。

Response

  • 无响应参数。

Errors

  • InvalidInputException

  • EntityNotFoundException

  • OperationTimeoutException

  • InvalidInputException

  • GlueEncryptionException

BatchDeleteConnection 操作 (Python: batch_delete_connection)

从数据目录中删除连接定义的列表。

Request

  • CatalogId – 目录id串,长度不小于1或超过255个ytes,与 Single-line string pattern.

    连接所在的数据目录的 ID。如果没有提供,则默认情况下使用 AWS 账户 ID。

  • ConnectionNameList必填: UTF-8串,不超过25串。

    要删除的连接的名称的列表。

Response

  • Succeeded – UTF-8串。

    已成功删除的连接定义的名称的列表。

  • Errors – 密钥值对的映射阵列。

    每个键是一个 UTF-8 字符串,不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    每个值都是一个 ErrorDetail 对象。

    未成功删除的连接名称到错误详细信息的映射。

Errors

  • InternalServiceException

  • OperationTimeoutException