连接 API
连接 API 介绍 Amazon Glue 连接数据类型,以及用于创建、删除、更新和列出连接的 API。
数据类型
Connection 结构
定义与数据源的连接。
字段
-
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|MARKETPLACE|CUSTOM)。连接的类型。目前不支持 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|KAFKA_CLIENT_KEYSTORE|KAFKA_CLIENT_KEYSTORE_PASSWORD|KAFKA_CLIENT_KEY_PASSWORD|ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD|ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD|KAFKA_SASL_MECHANISM|AUTHENTICATION_SECRET_ARN|KAFKA_SASL_SCRAM_USERNAME|KAFKA_SASL_SCRAM_PASSWORD|ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD|KAFKA_SASL_GSSAPI_KEYTAB|KAFKA_SASL_GSSAPI_KRB5_CONF|KAFKA_SASL_GSSAPI_SERVICE|KAFKA_SASL_GSSAPI_PRINCIPAL|SECRET_ID|CONNECTOR_URL|CONNECTOR_TYPE|CONNECTOR_CLASS_NAME)。每个值是一个值字符串,不超过 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 位置。Amazon Glue 在连接到客户数据库时,使用此根证书来验证客户的证书。Amazon Glue 仅处理 X.509 证书。提供的证书必须经过 DER 编码,并以 Base64 编码 PEM 格式提供。 -
SKIP_CUSTOM_JDBC_CERT_VALIDATION– 默认情况下,这是false。Amazon Glue 将验证客户证书的签名算法和主题公有密钥算法。签名算法允许的算法仅包括 SHA256withRSA、SHA384withRSA 或 SHA512withRSA。对于主题公有密钥算法,密钥长度必须至少为 2048 位。您可以将该属性的值设置为true以跳过 Amazon Glue 对客户证书进行的验证。 -
CUSTOM_JDBC_CERT_STRING- 一个自定义的 JDBC 证书字符串,用于域匹配或可分辨名称匹配以防止中间人攻击。在 Oracle 数据库中,这将用作SSL_SERVER_CERT_DN;在 Microsoft SQL Server 中,这将用作hostNameInCertificate。 -
CONNECTION_URL- 用于连接到一般(非 JDBC)数据源的 URL。 -
SECRET_ID– 用于凭证的 Secret Manager 的密钥 ID。 -
CONNECTOR_URL– MARKETPLACE 或自定义连接的连接器 URL。 -
CONNECTOR_TYPE– MARKETPLACE 或自定义连接的连接器类型。 -
CONNECTOR_CLASS_NAME– MARKETPLACE 或自定义连接的连接器类名称。 -
KAFKA_BOOTSTRAP_SERVERS- 以逗号分隔的主机和端口对列表,它们是 Kafka 集群中 Apache Kafka 代理商的地址,Kafka 客户端将连接到该集群并自行引导。 -
KAFKA_SSL_ENABLED– 是否启用或禁用 Apache Kafka 连接的 SSL。默认值为“true”。 -
KAFKA_CUSTOM_CERT– 私有 CA 证书文件的 Amazon S3 URL(.pem 格式)。默认值是空字符串。 -
KAFKA_SKIP_CUSTOM_CERT_VALIDATION– 是否跳过 CA 证书文件的验证。Amazon Glue 验证三种算法:SHA256withRSA、SHA384withRSA 和 SHA512withRSA。默认值为“false”。 -
KAFKA_CLIENT_KEYSTORE– 用于 Kafka 客户端身份验证的客户端密钥库文件的 Amazon S3 位置(可选)。 -
KAFKA_CLIENT_KEYSTORE_PASSWORD– 用于访问提供的密钥库的密码(可选)。 -
KAFKA_CLIENT_KEY_PASSWORD– 密钥库可以由多个密钥组成,因此这是与 Kafka 服务器端密钥一起使用的用于访问客户端密钥的密码(可选)。 -
ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD– Kafka 客户端密钥库密码的加密版本(如果用户选中使用 Amazon Glue 加密密码设置)。 -
ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD– Kafka 客户端密钥密码的加密版本(如果用户选中使用 Amazon Glue 加密密码设置)。 -
KAFKA_SASL_MECHANISM–"SCRAM-SHA-512"或"GSSAPI"。这两个都是受支持的 SASL 机制。 -
KAFKA_SASL_SCRAM_USERNAME– 用于使用“SCRAM-SHA-512”机制进行身份验证的明文用户名。 -
KAFKA_SASL_SCRAM_PASSWORD– 用于使用“SCRAM-SHA-512”机制进行身份验证的明文密码。 -
ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD– Kafka SASL SCRAM 密码的加密版本(如果用户选中使用 Amazon Glue 加密密码设置)。 -
KAFKA_SASL_GSSAPI_KEYTAB– Kerberoskeytab文件的 S3 位置。keytab 可存储一个或多个主体的长期密钥。有关更多信息,请参阅 MIT Kerberos 文档:keytab。 -
KAFKA_SASL_GSSAPI_KRB5_CONF– Kerberoskrb5.conf文件的 S3 位置。krb5.conf 可存储 Kerberos 配置信息,例如 KDC 服务器的位置。有关更多信息,请参阅 MIT Kerberos 文档:krb5.conf。 -
KAFKA_SASL_GSSAPI_SERVICE– Kerberos 服务名称,如您的 Kafka 配置中的 sasl.kerberos.service.name设置。 -
KAFKA_SASL_GSSAPI_PRINCIPAL– Amazon Glue 使用的 Kerberos 主体的名称。有关更多信息,请参阅 Kafka 文档:配置 Kafka 代理。
-
-
PhysicalConnectionRequirements– 一个 PhysicalConnectionRequirements 对象。成功建立此连接所需的物理连接要求的映射,如 Virtual Private Cloud (VPC) 和
SecurityGroup。 -
创建此连接定义的时间。
-
上次更新此连接定义的时间。
-
LastUpdatedBy– UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。上次更新此连接定义的用户、组或角色。
ConnectionInput 结构
用于指定要创建或更新的连接的结构。
字段
-
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|MARKETPLACE|CUSTOM)。连接的类型。目前,支持以下类型:
-
JDBC- 通过 Java 数据库连接 (JDBC) 指定与数据库的连接。 -
KAFKA- 指定与 Apache Kafka 流平台的连接。 -
MONGODB- 指定与 MongoDB 文档数据库的连接。 -
NETWORK- 指定到 Amazon Virtual Private Cloud 环境 (Amazon VPC) 中的数据源的网络连接。 -
MARKETPLACE– 使用从 Amazon Web Services Marketplace 购买的连接器中包含的配置设置来读取和写入 Amazon Glue 本地不支持的数据存储。 -
CUSTOM– 使用自定义连接器中包含的配置设置来读取和写入 Amazon Glue 本地不支持的数据存储。
不支持 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|KAFKA_CLIENT_KEYSTORE|KAFKA_CLIENT_KEYSTORE_PASSWORD|KAFKA_CLIENT_KEY_PASSWORD|ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD|ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD|KAFKA_SASL_MECHANISM|AUTHENTICATION_SECRET_ARN|KAFKA_SASL_SCRAM_USERNAME|KAFKA_SASL_SCRAM_PASSWORD|ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD|KAFKA_SASL_GSSAPI_KEYTAB|KAFKA_SASL_GSSAPI_KRB5_CONF|KAFKA_SASL_GSSAPI_SERVICE|KAFKA_SASL_GSSAPI_PRINCIPAL|SECRET_ID|CONNECTOR_URL|CONNECTOR_TYPE|CONNECTOR_CLASS_NAME)。每个值是一个值字符串,不超过 1024 个字节。
这些键值对用于定义连接的参数。
-
PhysicalConnectionRequirements– 一个 PhysicalConnectionRequirements 对象。成功建立此连接所需的物理连接要求的映射,如 Virtual Private Cloud (VPC) 和
SecurityGroup。
PhysicalConnectionRequirements 结构
指定连接的物理要求。
字段
-
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 操作返回的连接定义。
字段
操作
CreateConnection 操作(Python:create_connection)
在数据目录中创建连接定义。
请求
-
CatalogId– 目录 id 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。要在其中创建连接的数据目录的 ID。如果没有提供,则默认情况下使用 Amazon 账户 ID。
-
ConnectionInput– 必填:一个 ConnectionInput 对象。用于定义要创建的连接的
ConnectionInput对象。 -
每个键都是一个 UTF-8 字符串,长度不少于 1 个字节或超过 128 个字节。
每个值是一个 UTF-8 字符串,不超过 256 个字节。
您分配给连接的标签。
响应
无响应参数。
错误
AlreadyExistsExceptionInvalidInputExceptionOperationTimeoutExceptionResourceNumberLimitExceededExceptionGlueEncryptionException
DeleteConnection 操作(Python:delete_connection)
从数据目录中删除连接。
请求
-
CatalogId– 目录 id 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。连接所在的数据目录的 ID。如果没有提供,则默认情况下使用 Amazon 账户 ID。
-
ConnectionName– 必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。要删除的连接的名称。
响应
无响应参数。
错误
EntityNotFoundExceptionOperationTimeoutException
GetConnection 操作(Python:get_connection)
从数据目录中检索连接定义。
请求
-
CatalogId– 目录 id 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。连接所在的数据目录的 ID。如果没有提供,则默认情况下使用 Amazon 账户 ID。
-
Name– 必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。要检索的连接定义的名称。
-
允许您在不返回密码的情况下检索连接元数据。例如,Amazon Glue 控制台使用此标记来检索连接,并且不显示密码。当调用方可能无权使用 Amazon KMS 密钥解密密码,但有权访问其余连接属性时,请设置此参数。
响应
-
Connection– 一个 连接 对象。请求的连接定义。
错误
EntityNotFoundExceptionOperationTimeoutExceptionInvalidInputExceptionGlueEncryptionException
GetConnections 操作(Python:get_connections)
从数据目录中检索连接定义的列表。
请求
-
CatalogId– 目录 id 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。连接所在的数据目录的 ID。如果没有提供,则默认情况下使用 Amazon 账户 ID。
-
Filter– 一个 GetConnectionsFilter 对象。控制将返回哪些连接的筛选器。
-
允许您在不返回密码的情况下检索连接元数据。例如,Amazon Glue 控制台使用此标记来检索连接,并且不显示密码。当调用方可能无权使用 Amazon KMS 密钥解密密码,但有权访问其余连接属性时,请设置此参数。
-
延续标记 (如果这是延续调用)。
-
MaxResults– 数字(整数),不小于 1 或大于 1000。要在一个响应中返回的连接的最大数量。
响应
-
ConnectionList– 连接 对象的数组。请求的连接定义的列表。
-
延续令牌 (如果返回的连接列表不包括最后一个筛选的连接)。
错误
EntityNotFoundExceptionOperationTimeoutExceptionInvalidInputExceptionGlueEncryptionException
UpdateConnection 操作(Python:update_connection)
在数据目录中更新连接定义。
请求
-
CatalogId– 目录 id 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。连接所在的数据目录的 ID。如果没有提供,则默认情况下使用 Amazon 账户 ID。
-
Name– 必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。要更新的连接定义的名称。
-
ConnectionInput– 必填:一个 ConnectionInput 对象。用于重新定义所涉连接的
ConnectionInput对象。
响应
无响应参数。
错误
InvalidInputExceptionEntityNotFoundExceptionOperationTimeoutExceptionInvalidInputExceptionGlueEncryptionException
BatchDeleteConnection 操作(Python:batch_delete_connection)
从数据目录中删除连接定义的列表。
请求
-
CatalogId– 目录 id 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。连接所在的数据目录的 ID。如果没有提供,则默认情况下使用 Amazon 账户 ID。
-
ConnectionNameList– 必填:UTF-8 字符串数组,不超过 25 个字符串。要删除的连接的名称的列表。
响应
-
已成功删除的连接定义的名称的列表。
-
每个键是一个 UTF-8 字符串,不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。
每个值都是一个 ErrorDetail 对象。
未成功删除的连接名称到错误详细信息的映射。
错误
InternalServiceExceptionOperationTimeoutException