连接 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 对象。成功建立此连接所需的物理连接要求的映射,如虚拟私有云(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 个字节。
您分配给连接的标签。
响应
无响应参数。
错误
AlreadyExistsException
InvalidInputException
OperationTimeoutException
ResourceNumberLimitExceededException
GlueEncryptionException
DeleteConnection 操作(Python:delete_connection)
从数据目录中删除连接。
请求
-
CatalogId
– 目录 id 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。连接所在的数据目录的 ID。如果没有提供,则默认情况下使用 Amazon 账户 ID。
-
ConnectionName
– 必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。要删除的连接的名称。
响应
无响应参数。
错误
EntityNotFoundException
OperationTimeoutException
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
– 一个 连接 对象。请求的连接定义。
错误
EntityNotFoundException
OperationTimeoutException
InvalidInputException
GlueEncryptionException
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
– 连接 对象的数组。请求的连接定义的列表。
-
延续令牌 (如果返回的连接列表不包括最后一个筛选的连接)。
错误
EntityNotFoundException
OperationTimeoutException
InvalidInputException
GlueEncryptionException
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
对象。
响应
无响应参数。
错误
InvalidInputException
EntityNotFoundException
OperationTimeoutException
InvalidInputException
GlueEncryptionException
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 对象。
未成功删除的连接名称到错误详细信息的映射。
错误
InternalServiceException
OperationTimeoutException