

# 连接 API
<a name="aws-glue-api-catalog-connections"></a>

连接 API 描述了与使用 AWS Glue 中的连接相关的数据类型和 API。

**Topics**
+ [连接 API](aws-glue-api-catalog-connections-connections.md)
+ [连接类型 API](aws-glue-api-catalog-connections-connections-type.md)
+ [连接元数据和预览 API](aws-glue-api-catalog-connections-connections-metadata.md)

# 连接 API
<a name="aws-glue-api-catalog-connections-connections"></a>

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

## 数据类型
<a name="aws-glue-api-catalog-connections-connections-objects"></a>
+ [Connection 结构](#aws-glue-api-catalog-connections-connections-Connection)
+ [ConnectionInput 结构](#aws-glue-api-catalog-connections-connections-ConnectionInput)
+ [TestConnectionInput 结构](#aws-glue-api-catalog-connections-connections-TestConnectionInput)
+ [PhysicalConnectionRequirements 结构](#aws-glue-api-catalog-connections-connections-PhysicalConnectionRequirements)
+ [GetConnectionsFilter 结构](#aws-glue-api-catalog-connections-connections-GetConnectionsFilter)
+ [AuthenticationConfiguration 结构](#aws-glue-api-catalog-connections-connections-AuthenticationConfiguration)
+ [AuthenticationConfigurationInput 结构](#aws-glue-api-catalog-connections-connections-AuthenticationConfigurationInput)
+ [OAuth2Properties 结构](#aws-glue-api-catalog-connections-connections-OAuth2Properties)
+ [OAuth2PropertiesInput 结构](#aws-glue-api-catalog-connections-connections-OAuth2PropertiesInput)
+ [OAuth2ClientApplication 结构](#aws-glue-api-catalog-connections-connections-OAuth2ClientApplication)
+ [AuthorizationCodeProperties 结构](#aws-glue-api-catalog-connections-connections-AuthorizationCodeProperties)
+ [BasicAuthenticationCredentials 结构](#aws-glue-api-catalog-connections-connections-BasicAuthenticationCredentials)
+ [OAuth2Credentials 结构](#aws-glue-api-catalog-connections-connections-OAuth2Credentials)

## Connection 结构
<a name="aws-glue-api-catalog-connections-connections-Connection"></a>

定义与数据源的连接。

**Fields**
+ `Name` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  连接定义的名称。
+ `Description` – 描述字符串，长度不超过 2048 个字节，与 [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) 匹配。

  连接的描述。
+ `ConnectionType` – UTF-8 字符串（有效值：`JDBC` \$1 `SFTP` \$1 `MONGODB` \$1 `KAFKA` \$1 `NETWORK` \$1 `MARKETPLACE` \$1 `CUSTOM` \$1 `SALESFORCE` \$1 `VIEW_VALIDATION_REDSHIFT` \$1 `VIEW_VALIDATION_ATHENA` \$1 `GOOGLEADS` \$1 `GOOGLESHEETS` \$1 `GOOGLEANALYTICS4` \$1 `SERVICENOW` \$1 `MARKETO` \$1 `SAPODATA` \$1 `ZENDESK` \$1 `JIRACLOUD` \$1 `NETSUITEERP` \$1 `HUBSPOT` \$1 `FACEBOOKADS` \$1 `INSTAGRAMADS` \$1 `ZOHOCRM` \$1 `SALESFORCEPARDOT` \$1 `SALESFORCEMARKETINGCLOUD` \$1 `ADOBEANALYTICS` \$1 `SLACK` \$1 `LINKEDIN` \$1 `MIXPANEL` \$1 `ASANA` \$1 `STRIPE` \$1 `SMARTSHEET` \$1 `DATADOG` \$1 `WOOCOMMERCE` \$1 `INTERCOM` \$1 `SNAPCHATADS` \$1 `PAYPAL` \$1 `QUICKBOOKS` \$1 `FACEBOOKPAGEINSIGHTS` \$1 `FRESHDESK` \$1 `TWILIO` \$1 `DOCUSIGNMONITOR` \$1 `FRESHSALES` \$1 `ZOOM` \$1 `GOOGLESEARCHCONSOLE` \$1 `SALESFORCECOMMERCECLOUD` \$1 `SAPCONCUR` \$1 `DYNATRACE` \$1 `MICROSOFTDYNAMIC365FINANCEANDOPS` \$1 `MICROSOFTTEAMS` \$1 `BLACKBAUDRAISEREDGENXT` \$1 `MAILCHIMP` \$1 `GITLAB` \$1 `PENDO` \$1 `PRODUCTBOARD` \$1 `CIRCLECI` \$1 `PIPEDIVE` \$1 `SENDGRID` \$1 `AZURECOSMOS` \$1 `AZURESQL` \$1 `BIGQUERY` \$1 `BLACKBAUD` \$1 `CLOUDERAHIVE` \$1 `CLOUDERAIMPALA` \$1 `CLOUDWATCH` \$1 `CLOUDWATCHMETRICS` \$1 `CMDB` \$1 `DATALAKEGEN2` \$1 `DB2` \$1 `DB2AS400` \$1 `DOCUMENTDB` \$1 `DOMO` \$1 `DYNAMODB` \$1 `GOOGLECLOUDSTORAGE` \$1 `HBASE` \$1 `KUSTOMER` \$1 `MICROSOFTDYNAMICS365CRM` \$1 `MONDAY` \$1 `MYSQL` \$1 `OKTA` \$1 `OPENSEARCH` \$1 `ORACLE` \$1 `PIPEDRIVE` \$1 `POSTGRESQL` \$1 `SAPHANA` \$1 `SQLSERVER` \$1 `SYNAPSE` \$1 `TERADATA` \$1 `TERADATANOS` \$1 `TIMESTREAM` \$1 `TPCDS` \$1 `VERTICA`）。

  连接的类型。目前不支持 SFTP。
+ `MatchCriteria` – UTF-8 字符串数组，不超过 10 个字符串。

  可用于选择此连接的条件的列表。
+ `ConnectionProperties` – 键值对的映射数组，不超过 100 对。

  每个键都是一个 UTF-8 字符串（有效值：`HOST` \$1 `PORT` \$1 `USERNAME="USER_NAME"` \$1 `PASSWORD` \$1 `ENCRYPTED_PASSWORD` \$1 `JDBC_DRIVER_JAR_URI` \$1 `JDBC_DRIVER_CLASS_NAME` \$1 `JDBC_ENGINE` \$1 `JDBC_ENGINE_VERSION` \$1 `CONFIG_FILES` \$1 `INSTANCE_ID` \$1 `JDBC_CONNECTION_URL` \$1 `JDBC_ENFORCE_SSL` \$1 `CUSTOM_JDBC_CERT` \$1 `SKIP_CUSTOM_JDBC_CERT_VALIDATION` \$1 `CUSTOM_JDBC_CERT_STRING` \$1 `CONNECTION_URL` \$1 `KAFKA_BOOTSTRAP_SERVERS` \$1 `KAFKA_SSL_ENABLED` \$1 `KAFKA_CUSTOM_CERT` \$1 `KAFKA_SKIP_CUSTOM_CERT_VALIDATION` \$1 `KAFKA_CLIENT_KEYSTORE` \$1 `KAFKA_CLIENT_KEYSTORE_PASSWORD` \$1 `KAFKA_CLIENT_KEY_PASSWORD` \$1 `ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD` \$1 `ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD` \$1 `KAFKA_SASL_MECHANISM` \$1 `KAFKA_SASL_PLAIN_USERNAME` \$1 `KAFKA_SASL_PLAIN_PASSWORD` \$1 `ENCRYPTED_KAFKA_SASL_PLAIN_PASSWORD` \$1 `KAFKA_SASL_SCRAM_USERNAME` \$1 `KAFKA_SASL_SCRAM_PASSWORD` \$1 `KAFKA_SASL_SCRAM_SECRETS_ARN` \$1 `ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD` \$1 `KAFKA_SASL_GSSAPI_KEYTAB` \$1 `KAFKA_SASL_GSSAPI_KRB5_CONF` \$1 `KAFKA_SASL_GSSAPI_SERVICE` \$1 `KAFKA_SASL_GSSAPI_PRINCIPAL` \$1 `SECRET_ID` \$1 `CONNECTOR_URL` \$1 `CONNECTOR_TYPE` \$1 `CONNECTOR_CLASS_NAME` \$1 `ENDPOINT` \$1 `ENDPOINT_TYPE` \$1 `ROLE_ARN` \$1 `REGION` \$1 `WORKGROUP_NAME` \$1 `CLUSTER_IDENTIFIER` \$1 `DATABASE`）。

  每个值都是一个值字符串，长度不少于 1 个字节，不超过 1024 个字节。

  这些键值对定义使用版本 1 连接架构时的连接参数：
  + `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` – 不区分大小写的布尔值字符串（true 或 false），指定是否对客户端的 JDBC 连接强制启用带主机名匹配的安全套接字层（SSL）。默认值为 false。
  + `CUSTOM_JDBC_CERT` – 指明客户根证书的 Amazon S3 位置。AWS Glue 在连接到客户数据库时，使用此根证书来验证客户的证书。AWS Glue 仅处理 X.509 证书。提供的证书必须经过 DER 编码，并以 Base64 编码 PEM 格式提供。
  + `SKIP_CUSTOM_JDBC_CERT_VALIDATION` – 默认情况下，这是 `false`。AWS Glue 将验证客户证书的签名算法和主题公有密钥算法。签名算法允许的算法仅包括 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。
  + `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 证书文件的验证。AWS 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 客户端密钥库密码的加密版本（如果用户选中使用 AWS Glue 加密密码设置）。
  + `ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD` – Kafka 客户端密钥密码的加密版本（如果用户选中使用 AWS Glue 加密密码设置）。
  + `KAFKA_SASL_MECHANISM` – `"SCRAM-SHA-512"`、`"GSSAPI"`、`"AWS_MSK_IAM"` 或 `"PLAIN"`。这些是受支持的 [SASL 机制](https://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml)。
  + `KAFKA_SASL_PLAIN_USERNAME` – 用于使用“PLAIN”机制进行身份验证的明文用户名。
  + `KAFKA_SASL_PLAIN_PASSWORD` – 用于使用“PLAIN”机制进行身份验证的明文密码。
  + `ENCRYPTED_KAFKA_SASL_PLAIN_PASSWORD` – Kafka SASL PLAIN 密码的加密版本（如果用户选中使用 AWS Glue 加密密码设置）。
  + `KAFKA_SASL_SCRAM_USERNAME` – 用于使用“SCRAM-SHA-512”机制进行身份验证的明文用户名。
  + `KAFKA_SASL_SCRAM_PASSWORD` – 用于使用“SCRAM-SHA-512”机制进行身份验证的明文密码。
  + `ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD` – Kafka SASL SCRAM 密码的加密版本（如果用户选中使用 AWS Glue 加密密码设置）。
  + `KAFKA_SASL_SCRAM_SECRETS_ARN` - AWS Secrets Manager 中密钥的 Amazon 资源名称。
  + `KAFKA_SASL_GSSAPI_KEYTAB` – Kerberos `keytab` 文件的 S3 位置。keytab 可存储一个或多个主体的长期密钥。有关更多信息，请参阅 [MIT Kerberos 文档：keytab](https://web.mit.edu/kerberos/krb5-latest/doc/basic/keytab_def.html)。
  + `KAFKA_SASL_GSSAPI_KRB5_CONF` – Kerberos `krb5.conf` 文件的 S3 位置。krb5.conf 可存储 Kerberos 配置信息，例如 KDC 服务器的位置。有关更多信息，请参阅 [MIT Kerberos 文档：krb5.conf](https://web.mit.edu/kerberos/krb5-1.12/doc/admin/conf_files/krb5_conf.html)。
  + `KAFKA_SASL_GSSAPI_SERVICE` – Kerberos 服务名称，如您的 [Kafka 配置](https://kafka.apache.org/documentation/#brokerconfigs_sasl.kerberos.service.name)中的 `sasl.kerberos.service.name` 设置。
  + `KAFKA_SASL_GSSAPI_PRINCIPAL` – 使用的 Kerberos 主体的名称。AWS Glue有关更多信息，请参阅 [Kafka 文档：配置 Kafka 代理](https://kafka.apache.org/documentation/#security_sasl_kerberos_clientconfig)。
  + `ROLE_ARN` – 用于运行查询的角色。
  + `REGION` – 将在其中运行查询的 AWS 区域。
  + `WORKGROUP_NAME` – 将在其中运行查询的 Amazon Redshift Serverless 工作组或 Amazon Athena 工作组的名称。
  + `CLUSTER_IDENTIFIER` – 将在其中运行查询的 Amazon Redshift 集群的集群标识符。
  + `DATABASE` – 您要连接到的 Amazon Redshift 数据库。
+ `SparkProperties` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 UTF-8 字符串，长度不少于 1 个字节，不超过 2048 个字节。

  特定于 Spark 计算环境的连接属性。
+ `AthenaProperties` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 UTF-8 字符串，长度不少于 1 个字节，不超过 2048 个字节。

  特定于 Athena 计算环境的连接属性。
+ `PythonProperties` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 UTF-8 字符串，长度不少于 1 个字节，不超过 2048 个字节。

  特定于 Python 计算环境的连接属性。
+ `PhysicalConnectionRequirements` – 一个 [PhysicalConnectionRequirements](#aws-glue-api-catalog-connections-connections-PhysicalConnectionRequirements) 对象。

  成功建立此连接所需的物理连接要求，如虚拟私有云（VPC）和 `SecurityGroup`。
+ `CreationTime` – 时间戳。

  创建此连接定义的时间的时间戳。
+ `LastUpdatedTime` – 时间戳。

  上次更新此连接定义的时间的时间戳。
+ `LastUpdatedBy` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  上次更新此连接定义的用户、组或角色。
+ `Status` – UTF-8 字符串（有效值：`READY` \$1`IN_PROGRESS` \$1`FAILED` ）。

  连接的状态。可以为以下值之一：`READY`、`IN_PROGRESS` 或 `FAILED`。
+ `StatusReason` – UTF-8 字符串，长度不少于 1 个字节，不超过 16384 个字节。

  连接状态原因。
+ `LastConnectionValidationTime` – 时间戳。

  上次验证此连接的时间的时间戳。
+ `AuthenticationConfiguration` – 一个 [AuthenticationConfiguration](#aws-glue-api-catalog-connections-connections-AuthenticationConfiguration) 对象。

  连接的身份验证属性。
+ `ConnectionSchemaVersion`：数字（整数），不小于 1 或大于 2。

  此连接的连接架构的版本。版本 2 支持特定计算环境的属性。
+ `CompatibleComputeEnvironments` – UTF-8 字符串数组。

  与连接兼容的计算环境列表。

## ConnectionInput 结构
<a name="aws-glue-api-catalog-connections-connections-ConnectionInput"></a>

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

**Fields**
+ `Name` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  连接的名称。
+ `Description` – 描述字符串，长度不超过 2048 个字节，与 [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) 匹配。

  连接的描述。
+ `ConnectionType` – *必填：* UTF-8 字符串（有效值：`JDBC` \$1 `SFTP` \$1 `MONGODB` \$1 `KAFKA` \$1 `NETWORK` \$1 `MARKETPLACE` \$1 `CUSTOM` \$1 `SALESFORCE` \$1 `VIEW_VALIDATION_REDSHIFT` \$1 `VIEW_VALIDATION_ATHENA` \$1 `GOOGLEADS` \$1 `GOOGLESHEETS` \$1 `GOOGLEANALYTICS4` \$1 `SERVICENOW` \$1 `MARKETO` \$1 `SAPODATA` \$1 `ZENDESK` \$1 `JIRACLOUD` \$1 `NETSUITEERP` \$1 `HUBSPOT` \$1 `FACEBOOKADS` \$1 `INSTAGRAMADS` \$1 `ZOHOCRM` \$1 `SALESFORCEPARDOT` \$1 `SALESFORCEMARKETINGCLOUD` \$1 `ADOBEANALYTICS` \$1 `SLACK` \$1 `LINKEDIN` \$1 `MIXPANEL` \$1 `ASANA` \$1 `STRIPE` \$1 `SMARTSHEET` \$1 `DATADOG` \$1 `WOOCOMMERCE` \$1 `INTERCOM` \$1 `SNAPCHATADS` \$1 `PAYPAL` \$1 `QUICKBOOKS` \$1 `FACEBOOKPAGEINSIGHTS` \$1 `FRESHDESK` \$1 `TWILIO` \$1 `DOCUSIGNMONITOR` \$1 `FRESHSALES` \$1 `ZOOM` \$1 `GOOGLESEARCHCONSOLE` \$1 `SALESFORCECOMMERCECLOUD` \$1 `SAPCONCUR` \$1 `DYNATRACE` \$1 `MICROSOFTDYNAMIC365FINANCEANDOPS` \$1 `MICROSOFTTEAMS` \$1 `BLACKBAUDRAISEREDGENXT` \$1 `MAILCHIMP` \$1 `GITLAB` \$1 `PENDO` \$1 `PRODUCTBOARD` \$1 `CIRCLECI` \$1 `PIPEDIVE` \$1 `SENDGRID` \$1 `AZURECOSMOS` \$1 `AZURESQL` \$1 `BIGQUERY` \$1 `BLACKBAUD` \$1 `CLOUDERAHIVE` \$1 `CLOUDERAIMPALA` \$1 `CLOUDWATCH` \$1 `CLOUDWATCHMETRICS` \$1 `CMDB` \$1 `DATALAKEGEN2` \$1 `DB2` \$1 `DB2AS400` \$1 `DOCUMENTDB` \$1 `DOMO` \$1 `DYNAMODB` \$1 `GOOGLECLOUDSTORAGE` \$1 `HBASE` \$1 `KUSTOMER` \$1 `MICROSOFTDYNAMICS365CRM` \$1 `MONDAY` \$1 `MYSQL` \$1 `OKTA` \$1 `OPENSEARCH` \$1 `ORACLE` \$1 `PIPEDRIVE` \$1 `POSTGRESQL` \$1 `SAPHANA` \$1 `SQLSERVER` \$1 `SYNAPSE` \$1 `TERADATA` \$1 `TERADATANOS` \$1 `TIMESTREAM` \$1 `TPCDS` \$1 `VERTICA`）。

  连接的类型。目前，支持以下类型：
  + `JDBC` - 通过 Java 数据库连接（JDBC）指定与数据库的连接。

    `JDBC` 连接使用以下 ConnectionParameters。
    + 必需：所有（`HOST`、`PORT`、`JDBC_ENGINE`）或 `JDBC_CONNECTION_URL`。
    + 必需：所有（`USERNAME`、`PASSWORD`）或 `SECRET_ID`。
    + 可选：`JDBC_ENFORCE_SSL`、`CUSTOM_JDBC_CERT`、`CUSTOM_JDBC_CERT_STRING`、`SKIP_CUSTOM_JDBC_CERT_VALIDATION`。这些参数用于通过 JDBC 配置 SSL。
  + `KAFKA` - 指定与 Apache Kafka 流平台的连接。

    `KAFKA` 连接使用以下 ConnectionParameters。
    + 必需：`KAFKA_BOOTSTRAP_SERVERS`。
    + 可选：`KAFKA_SSL_ENABLED`、`KAFKA_CUSTOM_CERT`、`KAFKA_SKIP_CUSTOM_CERT_VALIDATION`。这些参数用于通过 `KAFKA` 配置 SSL。
    + 可选：`KAFKA_CLIENT_KEYSTORE`、`KAFKA_CLIENT_KEYSTORE_PASSWORD`、`KAFKA_CLIENT_KEY_PASSWORD`、`ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD`、`ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD`。这些参数用于在 `KAFKA` 中通过 SSL 配置 TLS 客户端配置。
    + 可选：`KAFKA_SASL_MECHANISM`。可以指定为 `SCRAM-SHA-512`、`GSSAPI` 或 `AWS_MSK_IAM`。
    + 可选：`KAFKA_SASL_SCRAM_USERNAME`、`KAFKA_SASL_SCRAM_PASSWORD`、`ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD`。这些参数用于通过 `KAFKA` 配置 SASL/SCRAM-SHA-512 身份验证。
    + 可选：`KAFKA_SASL_GSSAPI_KEYTAB`、`KAFKA_SASL_GSSAPI_KRB5_CONF`、`KAFKA_SASL_GSSAPI_SERVICE`、`KAFKA_SASL_GSSAPI_PRINCIPAL`。这些参数用于通过 `KAFKA` 配置 SASL/GSSAPI 身份验证。
  + `MONGODB` - 指定与 MongoDB 文档数据库的连接。

    `MONGODB` 连接使用以下 ConnectionParameters。
    + 必需：`CONNECTION_URL`。
    + 必需：所有（`USERNAME`、`PASSWORD`）或 `SECRET_ID`。
  + `VIEW_VALIDATION_REDSHIFT` – 指定 Amazon Redshift 用于视图验证的连接。
  + `VIEW_VALIDATION_ATHENA` – 指定 Amazon Athena 用于视图验证的连接。
  + `NETWORK` - 指定到 Amazon Virtual Private Cloud 环境（Amazon VPC）中的数据源的网络连接。

    `NETWORK` 连接不需要 ConnectionParameters。相反，提供 PhysicalConnectionRequirements。
  + `MARKETPLACE` – 使用从 AWS Marketplace 购买的连接器中包含的配置设置来读取和写入 AWS Glue 本地不支持的数据存储。

    `MARKETPLACE` 连接使用以下 ConnectionParameters。
    + 必需：`CONNECTOR_TYPE`、`CONNECTOR_URL`、`CONNECTOR_CLASS_NAME`、`CONNECTION_URL`。
    + `JDBC` `CONNECTOR_TYPE` 连接必需：所有（`USERNAME`、`PASSWORD`）或 `SECRET_ID`。
  + `CUSTOM` – 使用自定义连接器中包含的配置设置来读取和写入 本地不支持的数据存储。AWS Glue

  有关特定连接器所需的连接参数的更多信息，请参阅《AWS Glue 用户指南》中的[添加 AWS Glue 连接](https://docs.aws.amazon.com/glue/latest/dg/console-connections.html)中相应连接器的文档。

  `SFTP`不支持 。

  有关如何使用可选的 ConnectionProperties 配置 AWS Glue 中功能的更多信息，请参阅 [AWS Glue 连接属性](https://docs.aws.amazon.com/glue/latest/dg/connection-defining.html)。

  有关如何使用可选的 ConnectionProperties 配置 AWS Glue Studio 中功能的更多信息，请参阅[使用连接器和连接](https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html)。
+ `MatchCriteria` – UTF-8 字符串数组，不超过 10 个字符串。

  可用于选择此连接的条件的列表。
+ `ConnectionProperties` – *必填*：键值对的映射数组，不超过 100 对。

  每个键都是一个 UTF-8 字符串（有效值：`HOST` \$1 `PORT` \$1 `USERNAME="USER_NAME"` \$1 `PASSWORD` \$1 `ENCRYPTED_PASSWORD` \$1 `JDBC_DRIVER_JAR_URI` \$1 `JDBC_DRIVER_CLASS_NAME` \$1 `JDBC_ENGINE` \$1 `JDBC_ENGINE_VERSION` \$1 `CONFIG_FILES` \$1 `INSTANCE_ID` \$1 `JDBC_CONNECTION_URL` \$1 `JDBC_ENFORCE_SSL` \$1 `CUSTOM_JDBC_CERT` \$1 `SKIP_CUSTOM_JDBC_CERT_VALIDATION` \$1 `CUSTOM_JDBC_CERT_STRING` \$1 `CONNECTION_URL` \$1 `KAFKA_BOOTSTRAP_SERVERS` \$1 `KAFKA_SSL_ENABLED` \$1 `KAFKA_CUSTOM_CERT` \$1 `KAFKA_SKIP_CUSTOM_CERT_VALIDATION` \$1 `KAFKA_CLIENT_KEYSTORE` \$1 `KAFKA_CLIENT_KEYSTORE_PASSWORD` \$1 `KAFKA_CLIENT_KEY_PASSWORD` \$1 `ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD` \$1 `ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD` \$1 `KAFKA_SASL_MECHANISM` \$1 `KAFKA_SASL_PLAIN_USERNAME` \$1 `KAFKA_SASL_PLAIN_PASSWORD` \$1 `ENCRYPTED_KAFKA_SASL_PLAIN_PASSWORD` \$1 `KAFKA_SASL_SCRAM_USERNAME` \$1 `KAFKA_SASL_SCRAM_PASSWORD` \$1 `KAFKA_SASL_SCRAM_SECRETS_ARN` \$1 `ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD` \$1 `KAFKA_SASL_GSSAPI_KEYTAB` \$1 `KAFKA_SASL_GSSAPI_KRB5_CONF` \$1 `KAFKA_SASL_GSSAPI_SERVICE` \$1 `KAFKA_SASL_GSSAPI_PRINCIPAL` \$1 `SECRET_ID` \$1 `CONNECTOR_URL` \$1 `CONNECTOR_TYPE` \$1 `CONNECTOR_CLASS_NAME` \$1 `ENDPOINT` \$1 `ENDPOINT_TYPE` \$1 `ROLE_ARN` \$1 `REGION` \$1 `WORKGROUP_NAME` \$1 `CLUSTER_IDENTIFIER` \$1 `DATABASE`）。

  每个值都是一个值字符串，长度不少于 1 个字节，不超过 1024 个字节。

  这些键值对用于定义连接的参数。
+ `SparkProperties` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 UTF-8 字符串，长度不少于 1 个字节，不超过 2048 个字节。

  特定于 Spark 计算环境的连接属性。
+ `AthenaProperties` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 UTF-8 字符串，长度不少于 1 个字节，不超过 2048 个字节。

  特定于 Athena 计算环境的连接属性。
+ `PythonProperties` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 UTF-8 字符串，长度不少于 1 个字节，不超过 2048 个字节。

  特定于 Python 计算环境的连接属性。
+ `PhysicalConnectionRequirements` – 一个 [PhysicalConnectionRequirements](#aws-glue-api-catalog-connections-connections-PhysicalConnectionRequirements) 对象。

  成功建立此连接所需的物理连接要求，如虚拟私有云（VPC）和 `SecurityGroup`。
+ `AuthenticationConfiguration` – 一个 [AuthenticationConfigurationInput](#aws-glue-api-catalog-connections-connections-AuthenticationConfigurationInput) 对象。

  连接的身份验证属性。
+ `ValidateCredentials` – 布尔值。

  用于在创建连接期间验证凭证的标志。默认设置为 true。
+ `ValidateForComputeEnvironments` – UTF-8 字符串数组。

  用于验证指定的连接属性的计算环境。

## TestConnectionInput 结构
<a name="aws-glue-api-catalog-connections-connections-TestConnectionInput"></a>

用于指定测试与服务的连接的结构。

**Fields**
+ `ConnectionType` – *必填：* UTF-8 字符串（有效值：`JDBC` \$1 `SFTP` \$1 `MONGODB` \$1 `KAFKA` \$1 `NETWORK` \$1 `MARKETPLACE` \$1 `CUSTOM` \$1 `SALESFORCE` \$1 `VIEW_VALIDATION_REDSHIFT` \$1 `VIEW_VALIDATION_ATHENA` \$1 `GOOGLEADS` \$1 `GOOGLESHEETS` \$1 `GOOGLEANALYTICS4` \$1 `SERVICENOW` \$1 `MARKETO` \$1 `SAPODATA` \$1 `ZENDESK` \$1 `JIRACLOUD` \$1 `NETSUITEERP` \$1 `HUBSPOT` \$1 `FACEBOOKADS` \$1 `INSTAGRAMADS` \$1 `ZOHOCRM` \$1 `SALESFORCEPARDOT` \$1 `SALESFORCEMARKETINGCLOUD` \$1 `ADOBEANALYTICS` \$1 `SLACK` \$1 `LINKEDIN` \$1 `MIXPANEL` \$1 `ASANA` \$1 `STRIPE` \$1 `SMARTSHEET` \$1 `DATADOG` \$1 `WOOCOMMERCE` \$1 `INTERCOM` \$1 `SNAPCHATADS` \$1 `PAYPAL` \$1 `QUICKBOOKS` \$1 `FACEBOOKPAGEINSIGHTS` \$1 `FRESHDESK` \$1 `TWILIO` \$1 `DOCUSIGNMONITOR` \$1 `FRESHSALES` \$1 `ZOOM` \$1 `GOOGLESEARCHCONSOLE` \$1 `SALESFORCECOMMERCECLOUD` \$1 `SAPCONCUR` \$1 `DYNATRACE` \$1 `MICROSOFTDYNAMIC365FINANCEANDOPS` \$1 `MICROSOFTTEAMS` \$1 `BLACKBAUDRAISEREDGENXT` \$1 `MAILCHIMP` \$1 `GITLAB` \$1 `PENDO` \$1 `PRODUCTBOARD` \$1 `CIRCLECI` \$1 `PIPEDIVE` \$1 `SENDGRID` \$1 `AZURECOSMOS` \$1 `AZURESQL` \$1 `BIGQUERY` \$1 `BLACKBAUD` \$1 `CLOUDERAHIVE` \$1 `CLOUDERAIMPALA` \$1 `CLOUDWATCH` \$1 `CLOUDWATCHMETRICS` \$1 `CMDB` \$1 `DATALAKEGEN2` \$1 `DB2` \$1 `DB2AS400` \$1 `DOCUMENTDB` \$1 `DOMO` \$1 `DYNAMODB` \$1 `GOOGLECLOUDSTORAGE` \$1 `HBASE` \$1 `KUSTOMER` \$1 `MICROSOFTDYNAMICS365CRM` \$1 `MONDAY` \$1 `MYSQL` \$1 `OKTA` \$1 `OPENSEARCH` \$1 `ORACLE` \$1 `PIPEDRIVE` \$1 `POSTGRESQL` \$1 `SAPHANA` \$1 `SQLSERVER` \$1 `SYNAPSE` \$1 `TERADATA` \$1 `TERADATANOS` \$1 `TIMESTREAM` \$1 `TPCDS` \$1 `VERTICA`）。

  要测试的连接类型。此操作仅适用于 `JDBC` 或 `SALESFORCE` 连接类型。
+ `ConnectionProperties` – *必填*：键值对的映射数组，不超过 100 对。

  每个键都是一个 UTF-8 字符串（有效值：`HOST` \$1 `PORT` \$1 `USERNAME="USER_NAME"` \$1 `PASSWORD` \$1 `ENCRYPTED_PASSWORD` \$1 `JDBC_DRIVER_JAR_URI` \$1 `JDBC_DRIVER_CLASS_NAME` \$1 `JDBC_ENGINE` \$1 `JDBC_ENGINE_VERSION` \$1 `CONFIG_FILES` \$1 `INSTANCE_ID` \$1 `JDBC_CONNECTION_URL` \$1 `JDBC_ENFORCE_SSL` \$1 `CUSTOM_JDBC_CERT` \$1 `SKIP_CUSTOM_JDBC_CERT_VALIDATION` \$1 `CUSTOM_JDBC_CERT_STRING` \$1 `CONNECTION_URL` \$1 `KAFKA_BOOTSTRAP_SERVERS` \$1 `KAFKA_SSL_ENABLED` \$1 `KAFKA_CUSTOM_CERT` \$1 `KAFKA_SKIP_CUSTOM_CERT_VALIDATION` \$1 `KAFKA_CLIENT_KEYSTORE` \$1 `KAFKA_CLIENT_KEYSTORE_PASSWORD` \$1 `KAFKA_CLIENT_KEY_PASSWORD` \$1 `ENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORD` \$1 `ENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD` \$1 `KAFKA_SASL_MECHANISM` \$1 `KAFKA_SASL_PLAIN_USERNAME` \$1 `KAFKA_SASL_PLAIN_PASSWORD` \$1 `ENCRYPTED_KAFKA_SASL_PLAIN_PASSWORD` \$1 `KAFKA_SASL_SCRAM_USERNAME` \$1 `KAFKA_SASL_SCRAM_PASSWORD` \$1 `KAFKA_SASL_SCRAM_SECRETS_ARN` \$1 `ENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD` \$1 `KAFKA_SASL_GSSAPI_KEYTAB` \$1 `KAFKA_SASL_GSSAPI_KRB5_CONF` \$1 `KAFKA_SASL_GSSAPI_SERVICE` \$1 `KAFKA_SASL_GSSAPI_PRINCIPAL` \$1 `SECRET_ID` \$1 `CONNECTOR_URL` \$1 `CONNECTOR_TYPE` \$1 `CONNECTOR_CLASS_NAME` \$1 `ENDPOINT` \$1 `ENDPOINT_TYPE` \$1 `ROLE_ARN` \$1 `REGION` \$1 `WORKGROUP_NAME` \$1 `CLUSTER_IDENTIFIER` \$1 `DATABASE`）。

  每个值都是一个值字符串，长度不少于 1 个字节，不超过 1024 个字节。

  定义连接的参数的键值对。

  JDBC 连接使用下面的连接属性：
  + 必需：所有（`HOST`、`PORT`、`JDBC_ENGINE`）或 `JDBC_CONNECTION_URL`。
  + 必需：所有（`USERNAME`、`PASSWORD`）或 `SECRET_ID`。
  + 可选：`JDBC_ENFORCE_SSL`、`CUSTOM_JDBC_CERT`、`CUSTOM_JDBC_CERT_STRING`、`SKIP_CUSTOM_JDBC_CERT_VALIDATION`。这些参数用于通过 JDBC 配置 SSL。

  SALESFORCE 连接需要配置 `AuthenticationConfiguration` 成员。
+ `AuthenticationConfiguration` – 一个 [AuthenticationConfigurationInput](#aws-glue-api-catalog-connections-connections-AuthenticationConfigurationInput) 对象。

  在 TestConnection 请求中包含身份验证配置的结构。使用 OAuth 身份验证连接到 Salesforce 所必需的。

## PhysicalConnectionRequirements 结构
<a name="aws-glue-api-catalog-connections-connections-PhysicalConnectionRequirements"></a>

GetConnection 响应中的 OAuth 客户端应用程序。

**Fields**
+ `SubnetId` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  连接使用的子网 ID。
+ `SecurityGroupIdList` – UTF-8 字符串数组，不超过 50 个字符串。

  连接使用的安全组 ID 列表。
+ `AvailabilityZone` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  连接的可用区。

## GetConnectionsFilter 结构
<a name="aws-glue-api-catalog-connections-connections-GetConnectionsFilter"></a>

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

**Fields**
+ `MatchCriteria` – UTF-8 字符串数组，不超过 10 个字符串。

  一个条件字符串，它必须与连接定义中记录的条件相匹配，才能返回连接定义。
+ `ConnectionType` – UTF-8 字符串（有效值：`JDBC` \$1 `SFTP` \$1 `MONGODB` \$1 `KAFKA` \$1 `NETWORK` \$1 `MARKETPLACE` \$1 `CUSTOM` \$1 `SALESFORCE` \$1 `VIEW_VALIDATION_REDSHIFT` \$1 `VIEW_VALIDATION_ATHENA` \$1 `GOOGLEADS` \$1 `GOOGLESHEETS` \$1 `GOOGLEANALYTICS4` \$1 `SERVICENOW` \$1 `MARKETO` \$1 `SAPODATA` \$1 `ZENDESK` \$1 `JIRACLOUD` \$1 `NETSUITEERP` \$1 `HUBSPOT` \$1 `FACEBOOKADS` \$1 `INSTAGRAMADS` \$1 `ZOHOCRM` \$1 `SALESFORCEPARDOT` \$1 `SALESFORCEMARKETINGCLOUD` \$1 `ADOBEANALYTICS` \$1 `SLACK` \$1 `LINKEDIN` \$1 `MIXPANEL` \$1 `ASANA` \$1 `STRIPE` \$1 `SMARTSHEET` \$1 `DATADOG` \$1 `WOOCOMMERCE` \$1 `INTERCOM` \$1 `SNAPCHATADS` \$1 `PAYPAL` \$1 `QUICKBOOKS` \$1 `FACEBOOKPAGEINSIGHTS` \$1 `FRESHDESK` \$1 `TWILIO` \$1 `DOCUSIGNMONITOR` \$1 `FRESHSALES` \$1 `ZOOM` \$1 `GOOGLESEARCHCONSOLE` \$1 `SALESFORCECOMMERCECLOUD` \$1 `SAPCONCUR` \$1 `DYNATRACE` \$1 `MICROSOFTDYNAMIC365FINANCEANDOPS` \$1 `MICROSOFTTEAMS` \$1 `BLACKBAUDRAISEREDGENXT` \$1 `MAILCHIMP` \$1 `GITLAB` \$1 `PENDO` \$1 `PRODUCTBOARD` \$1 `CIRCLECI` \$1 `PIPEDIVE` \$1 `SENDGRID` \$1 `AZURECOSMOS` \$1 `AZURESQL` \$1 `BIGQUERY` \$1 `BLACKBAUD` \$1 `CLOUDERAHIVE` \$1 `CLOUDERAIMPALA` \$1 `CLOUDWATCH` \$1 `CLOUDWATCHMETRICS` \$1 `CMDB` \$1 `DATALAKEGEN2` \$1 `DB2` \$1 `DB2AS400` \$1 `DOCUMENTDB` \$1 `DOMO` \$1 `DYNAMODB` \$1 `GOOGLECLOUDSTORAGE` \$1 `HBASE` \$1 `KUSTOMER` \$1 `MICROSOFTDYNAMICS365CRM` \$1 `MONDAY` \$1 `MYSQL` \$1 `OKTA` \$1 `OPENSEARCH` \$1 `ORACLE` \$1 `PIPEDRIVE` \$1 `POSTGRESQL` \$1 `SAPHANA` \$1 `SQLSERVER` \$1 `SYNAPSE` \$1 `TERADATA` \$1 `TERADATANOS` \$1 `TIMESTREAM` \$1 `TPCDS` \$1 `VERTICA`）。

  要返回的连接的类型。目前不支持 SFTP。
+ `ConnectionSchemaVersion`：数字（整数），不小于 1 或大于 2。

  指示连接是使用架构版本 1 还是 2 创建的。

## AuthenticationConfiguration 结构
<a name="aws-glue-api-catalog-connections-connections-AuthenticationConfiguration"></a>

包含身份验证配置的结构。

**Fields**
+ `AuthenticationType` – UTF-8 字符串（有效值：`BASIC` \$1`OAUTH2` \$1`CUSTOM` \$1`IAM` ）。

  包含身份验证配置的结构。
+ `SecretArn` – UTF-8 字符串，与 [Custom string pattern #36](aws-glue-api-common.md#regex_36) 匹配。

  用于存储凭证的 Secrets Manager ARN。
+ `KmsKeyArn` – UTF-8 字符串，与 [Custom string pattern #42](aws-glue-api-common.md#regex_42) 匹配。

  用于加密敏感身份验证信息的 KMS 密钥的 Amazon 资源名称 (ARN)。此密钥用于保护存储在身份验证配置中的凭证和其他敏感数据。
+ `OAuth2Properties` – 一个 [OAuth2Properties](#aws-glue-api-catalog-connections-connections-OAuth2Properties) 对象。

  OAuth2 身份验证的属性。

## AuthenticationConfigurationInput 结构
<a name="aws-glue-api-catalog-connections-connections-AuthenticationConfigurationInput"></a>

在 CreateConnection 请求中包含身份验证配置的结构。

**Fields**
+ `AuthenticationType` – UTF-8 字符串（有效值：`BASIC` \$1`OAUTH2` \$1`CUSTOM` \$1`IAM` ）。

  在 CreateConnection 请求中包含身份验证配置的结构。
+ `OAuth2Properties` – 一个 [OAuth2PropertiesInput](#aws-glue-api-catalog-connections-connections-OAuth2PropertiesInput) 对象。

  CreateConnection 请求中 OAuth2 身份验证的属性。
+ `SecretArn` – UTF-8 字符串，与 [Custom string pattern #36](aws-glue-api-common.md#regex_36) 匹配。

  用于在 CreateConnection 请求中存储凭证的 Secrets Manager ARN。
+ `KmsKeyArn` – UTF-8 字符串，与 [Custom string pattern #42](aws-glue-api-common.md#regex_42) 匹配。

  用于加密连接的 KMS 密钥的 ARN。仅作为请求中的输入并存储在 Secret Manager 中。
+ `BasicAuthenticationCredentials` – 一个 [BasicAuthenticationCredentials](#aws-glue-api-catalog-connections-connections-BasicAuthenticationCredentials) 对象。

  身份验证类型为基本身份验证时使用的凭证。
+ `CustomAuthenticationCredentials` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 UTF-8 字符串，长度不少于 1 个字节，不超过 2048 个字节。

  身份验证类型为自定义身份验证时使用的凭证。

## OAuth2Properties 结构
<a name="aws-glue-api-catalog-connections-connections-OAuth2Properties"></a>

包含 OAuth2 身份验证属性的结构。

**Fields**
+ `OAuth2GrantType` – UTF-8 字符串（有效值：`AUTHORIZATION_CODE` \$1`CLIENT_CREDENTIALS` \$1`JWT_BEARER` ）。

  OAuth2 授权类型。例如，`AUTHORIZATION_CODE`、`JWT_BEARER` 或 `CLIENT_CREDENTIALS`。
+ `OAuth2ClientApplication` – 一个 [OAuth2ClientApplication](#aws-glue-api-catalog-connections-connections-OAuth2ClientApplication) 对象。

  客户端应用程序类型。例如，AWS\$1MANAGED 或 USER\$1MANAGED。
+ `TokenUrl` – UTF-8 字符串，长度不超过 256 个字节，与 [Custom string pattern #40](aws-glue-api-common.md#regex_40) 匹配。

  提供程序身份验证服务器的 URL，用于以授权代码交换访问令牌。
+ `TokenUrlParametersMap` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 UTF-8 字符串，长度不少于 1 个字节，不超过 512 个字节。

  添加到令牌 `GET` 请求中的参数的映射。

## OAuth2PropertiesInput 结构
<a name="aws-glue-api-catalog-connections-connections-OAuth2PropertiesInput"></a>

在 CreateConnection 请求中包含 OAuth2 属性的结构。

**Fields**
+ `OAuth2GrantType` – UTF-8 字符串（有效值：`AUTHORIZATION_CODE` \$1`CLIENT_CREDENTIALS` \$1`JWT_BEARER` ）。

  CreateConnection 请求中的 OAuth2 授权类型。例如，`AUTHORIZATION_CODE`、`JWT_BEARER` 或 `CLIENT_CREDENTIALS`。
+ `OAuth2ClientApplication` – 一个 [OAuth2ClientApplication](#aws-glue-api-catalog-connections-connections-OAuth2ClientApplication) 对象。

  CreateConnection 请求中的客户端应用程序类型。例如，`AWS_MANAGED` 或 `USER_MANAGED`。
+ `TokenUrl` – UTF-8 字符串，长度不超过 256 个字节，与 [Custom string pattern #40](aws-glue-api-common.md#regex_40) 匹配。

  提供程序身份验证服务器的 URL，用于以授权代码交换访问令牌。
+ `TokenUrlParametersMap` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 UTF-8 字符串，长度不少于 1 个字节，不超过 512 个字节。

  添加到令牌 `GET` 请求中的参数的映射。
+ `AuthorizationCodeProperties` – 一个 [AuthorizationCodeProperties](#aws-glue-api-catalog-connections-connections-AuthorizationCodeProperties) 对象。

  OAuth2 `AUTHORIZATION_CODE` 授权类型所需的属性集。
+ `OAuth2Credentials` – 一个 [OAuth2Credentials](#aws-glue-api-catalog-connections-connections-OAuth2Credentials) 对象。

  身份验证类型为 OAuth2 身份验证时使用的凭证。

## OAuth2ClientApplication 结构
<a name="aws-glue-api-catalog-connections-connections-OAuth2ClientApplication"></a>

用于连接的 OAuth2 客户端应用程序。

**Fields**
+ `UserManagedClientApplicationClientId` – UTF-8 字符串，长度不超过 2048 个字节，与 [Custom string pattern #37](aws-glue-api-common.md#regex_37) 匹配。

  如果 ClientAppType 是 `USER_MANAGED`，则为客户端应用程序 clientID。
+ `AWSManagedClientApplicationReference` – UTF-8 字符串，长度不超过 2048 个字节，与 [Custom string pattern #37](aws-glue-api-common.md#regex_37) 匹配。

  对 AWS 托管的 SaaS 端客户端应用程序的引用。

## AuthorizationCodeProperties 结构
<a name="aws-glue-api-catalog-connections-connections-AuthorizationCodeProperties"></a>

OAuth2 `AUTHORIZATION_CODE` 授权类型工作流所需的属性集。

**Fields**
+ `AuthorizationCode` – UTF-8 字符串，长度不少于 1 个字节，不超过 4096 个字节，与 [Custom string pattern #37](aws-glue-api-common.md#regex_37) 匹配。

  将在 `AUTHORIZATION_CODE` 授权工作流的第三分支中使用的授权代码。这是一次性代码，一旦用于交换访问令牌后就会失效，因此可以将此值作为请求参数。
+ `RedirectUri` – UTF-8 字符串，长度不超过 512 个字节，与 [Custom string pattern #41](aws-glue-api-common.md#regex_41) 匹配。

  重定向 URI，在发布授权代码时授权服务器将用户重定向到此处。随后，在将授权代码交换为访问令牌时使用该 URI。

## BasicAuthenticationCredentials 结构
<a name="aws-glue-api-catalog-connections-connections-BasicAuthenticationCredentials"></a>

用于在不提供 `SecretArn` 值时提供基本身份验证凭证。

**Fields**
+ `Username` – UTF-8 字符串，长度不超过 512 个字节，与 [Custom string pattern #37](aws-glue-api-common.md#regex_37) 匹配。

  用于连接到数据来源的用户名。
+ `Password` – UTF-8 字符串，长度不超过 512 个字节，与 [Custom string pattern #33](aws-glue-api-common.md#regex_33) 匹配。

  用于连接到数据来源的密码。

## OAuth2Credentials 结构
<a name="aws-glue-api-catalog-connections-connections-OAuth2Credentials"></a>

身份验证类型为 OAuth2 身份验证时使用的凭证。

**Fields**
+ `UserManagedClientApplicationClientSecret` – UTF-8 字符串，长度不超过 512 个字节，与 [Custom string pattern #38](aws-glue-api-common.md#regex_38) 匹配。

  如果客户端应用程序为用户管理型，则为客户端应用程序客户端秘钥。
+ `AccessToken`：UTF-8 字符串，长度不超过 4096 个字节，与 [Custom string pattern #38](aws-glue-api-common.md#regex_38) 匹配。

  身份验证类型为 OAuth2 时使用的访问令牌。
+ `RefreshToken`：UTF-8 字符串，长度不超过 4096 个字节，与 [Custom string pattern #38](aws-glue-api-common.md#regex_38) 匹配。

  身份验证类型为 OAuth2 时使用的刷新令牌。
+ `JwtToken`：UTF-8 字符串，长度不超过 8000 个字节，与 [Custom string pattern #39](aws-glue-api-common.md#regex_39) 匹配。

  身份验证类型为 OAuth2 时使用的 JSON Web 令牌（JWT）。

## 操作
<a name="aws-glue-api-catalog-connections-connections-actions"></a>
+ [CreateConnection 操作（Python：create\$1connection）](#aws-glue-api-catalog-connections-connections-CreateConnection)
+ [DeleteConnection 操作（Python：delete\$1connection）](#aws-glue-api-catalog-connections-connections-DeleteConnection)
+ [GetConnection 操作（Python：get\$1connection）](#aws-glue-api-catalog-connections-connections-GetConnection)
+ [GetConnections 操作（Python：get\$1connections）](#aws-glue-api-catalog-connections-connections-GetConnections)
+ [UpdateConnection 操作（Python：update\$1connection）](#aws-glue-api-catalog-connections-connections-UpdateConnection)
+ [TestConnection 操作（Python：test\$1connection）](#aws-glue-api-catalog-connections-connections-TestConnection)
+ [BatchDeleteConnection 操作（Python：batch\$1delete\$1connection）](#aws-glue-api-catalog-connections-connections-BatchDeleteConnection)

## CreateConnection 操作（Python：create\$1connection）
<a name="aws-glue-api-catalog-connections-connections-CreateConnection"></a>

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

用于创建联合资源的连接需要 IAM `glue:PassConnection` 权限。

**请求**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要在其中创建连接的数据目录的 ID。如果没有提供，则默认情况下使用 AWS 账户 ID。
+ `ConnectionInput` – *必填：*一个 [ConnectionInput](#aws-glue-api-catalog-connections-connections-ConnectionInput) 对象。

  用于定义要创建的连接的 `ConnectionInput` 对象。
+ `Tags` – 键值对的映射数组，不超过 50 对。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值是一个 UTF-8 字符串，不超过 256 个字节。

  您分配给连接的标签。

**响应**
+ `CreateConnectionStatus` – UTF-8 字符串（有效值：`READY` \$1`IN_PROGRESS` \$1`FAILED` ）。

  连接创建请求的状态。对于某些身份验证类型，请求可能需要一些时间，例如在 VPC 上创建包含令牌交换 OAuth 连接时。

**错误**
+ `AlreadyExistsException`
+ `InvalidInputException`
+ `OperationTimeoutException`
+ `ResourceNumberLimitExceededException`
+ `GlueEncryptionException`

## DeleteConnection 操作（Python：delete\$1connection）
<a name="aws-glue-api-catalog-connections-connections-DeleteConnection"></a>

从数据目录中删除连接。

**请求**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  连接所在的数据目录的 ID。如果没有提供，则默认情况下使用 AWS 账户 ID。
+ `ConnectionName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要删除的连接的名称。

**响应**
+ *无响应参数。*

**错误**
+ `EntityNotFoundException`
+ `OperationTimeoutException`

## GetConnection 操作（Python：get\$1connection）
<a name="aws-glue-api-catalog-connections-connections-GetConnection"></a>

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

**请求**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  连接所在的数据目录的 ID。如果没有提供，则默认情况下使用 AWS 账户 ID。
+ `Name` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要检索的连接定义的名称。
+ `HidePassword` – 布尔值。

  允许您在不返回密码的情况下检索连接元数据。例如，AWS Glue 控制台使用此标记来检索连接，并且不显示密码。当调用方可能无权使用 AWS KMS 密钥解密密码，但有权访问其余连接属性时，请设置此参数。
+ `ApplyOverrideForComputeEnvironment` – UTF-8 字符串（有效值：`SPARK` \$1`ATHENA` \$1`PYTHON` ）。

  对于可能在多个服务中使用的连接，指定为指定的计算环境返回属性。

**响应**
+ `Connection` – 一个 [Connection](#aws-glue-api-catalog-connections-connections-Connection) 对象。

  请求的连接定义。

**错误**
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `InvalidInputException`
+ `GlueEncryptionException`

## GetConnections 操作（Python：get\$1connections）
<a name="aws-glue-api-catalog-connections-connections-GetConnections"></a>

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

**请求**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  连接所在的数据目录的 ID。如果没有提供，则默认情况下使用 AWS 账户 ID。
+ `Filter` – 一个 [GetConnectionsFilter](#aws-glue-api-catalog-connections-connections-GetConnectionsFilter) 对象。

  控制将返回哪些连接的筛选器。
+ `HidePassword` – 布尔值。

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

  延续标记 (如果这是延续调用)。
+ `MaxResults` – 数字（整数），不小于 1 或大于 1000。

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

**响应**
+ `ConnectionList` – [Connection](#aws-glue-api-catalog-connections-connections-Connection) 对象的数组。

  请求的连接定义的列表。
+ `NextToken` – UTF-8 字符串。

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

**错误**
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `InvalidInputException`
+ `GlueEncryptionException`

## UpdateConnection 操作（Python：update\$1connection）
<a name="aws-glue-api-catalog-connections-connections-UpdateConnection"></a>

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

**请求**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  连接所在的数据目录的 ID。如果没有提供，则默认情况下使用 AWS 账户 ID。
+ `Name` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要更新的连接定义的名称。
+ `ConnectionInput` – *必填：*一个 [ConnectionInput](#aws-glue-api-catalog-connections-connections-ConnectionInput) 对象。

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

**响应**
+ *无响应参数。*

**错误**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `InvalidInputException`
+ `GlueEncryptionException`

## TestConnection 操作（Python：test\$1connection）
<a name="aws-glue-api-catalog-connections-connections-TestConnection"></a>

测试与某服务的连接以验证您提供的服务凭证。

您可以提供现有的连接名称或 `TestConnectionInput` 来测试不存在的连接输入。同时提供两者将导致错误。

如果此操作成功，则该服务将会发送回 HTTP 200 响应。

**请求**
+ `ConnectionName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  可选。要测试的连接的名称。如果仅提供名称，则操作将获取连接并使用它来进行测试。
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  连接所在的目录的 ID。
+ `TestConnectionInput` – 一个 [TestConnectionInput](#aws-glue-api-catalog-connections-connections-TestConnectionInput) 对象。

  用于指定测试与服务的连接的结构。

**响应**
+ *无响应参数。*

**错误**
+ `InvalidInputException`
+ `OperationTimeoutException`
+ `ResourceNumberLimitExceededException`
+ `GlueEncryptionException`
+ `FederationSourceException`
+ `AccessDeniedException`
+ `EntityNotFoundException`
+ `ConflictException`
+ `InternalServiceException`

## BatchDeleteConnection 操作（Python：batch\$1delete\$1connection）
<a name="aws-glue-api-catalog-connections-connections-BatchDeleteConnection"></a>

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

**请求**
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  连接所在的数据目录的 ID。如果没有提供，则默认情况下使用 AWS 账户 ID。
+ `ConnectionNameList` – *必填：*UTF-8 字符串数组，不超过 25 个字符串。

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

**响应**
+ `Succeeded` – UTF-8 字符串数组。

  已成功删除的连接定义的名称的列表。
+ `Errors` – 键值对的映射数组。

  每个键是一个 UTF-8 字符串，不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  每个值都是一个 [ErrorDetail](aws-glue-api-common.md#aws-glue-api-common-ErrorDetail) 对象。

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

**错误**
+ `InternalServiceException`
+ `OperationTimeoutException`

# 连接类型 API
<a name="aws-glue-api-catalog-connections-connections-type"></a>

连接类型 API 描述与描述连接类型相关的 AWS Glue API。

## 连接管理 API
<a name="aws-glue-api-catalog-connections-connections-type-connection-management"></a>
+ [DescribeConnectionType 操作（Python：describe\$1connection\$1type）](#aws-glue-api-catalog-connections-connections-type-DescribeConnectionType)
+ [ListConnectionTypes 操作（Python：list\$1connection\$1types）](#aws-glue-api-catalog-connections-connections-type-ListConnectionTypes)
+ [ConnectionTypeBrief 结构](#aws-glue-api-catalog-connections-connections-type-ConnectionTypeBrief)
+ [ConnectionTypeVariant 结构](#aws-glue-api-catalog-connections-connections-type-ConnectionTypeVariant)

## DescribeConnectionType 操作（Python：describe\$1connection\$1type）
<a name="aws-glue-api-catalog-connections-connections-type-DescribeConnectionType"></a>

`DescribeConnectionType` API 提供 AWS Glue 中给定连接类型支持的选项的完整详细信息。

**请求**
+ `ConnectionType` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要描述的连接类型的名称。

**响应**
+ `ConnectionType` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  连接类型的名称。
+ `Description` – UTF-8 字符串，长度不超过 1024 个字节。

  连接类型的描述。
+ `Capabilities` – 一个 [功能](#aws-glue-api-catalog-connections-connections-type-Capabilities) 对象。

  连接器支持的身份验证类型、数据接口类型（计算环境）以及数据操作。
+ `ConnectionProperties` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 [属性](#aws-glue-api-catalog-connections-connections-type-Property) 对象。

  跨计算环境的通用连接属性。
+ `ConnectionOptions` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 [属性](#aws-glue-api-catalog-connections-connections-type-Property) 对象。

  返回在 `ConnectionInput.ConnectionProperties` 中创建连接时可以设置的属性。`ConnectionOptions` 定义可以在传递给 DataFrame 的连接选项映射中的 Spark ETL 脚本中设置的参数。
+ `AuthenticationConfiguration` – 一个 [AuthConfiguration](#aws-glue-api-catalog-connections-connections-type-AuthConfiguration) 对象。

  用于连接的身份验证类型。
+ `ComputeEnvironmentConfigurations` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 [ComputeEnvironmentConfiguration](#aws-glue-api-catalog-connections-connections-type-ComputeEnvironmentConfiguration) 对象。

  连接支持的计算环境。
+ `PhysicalConnectionRequirements` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 [属性](#aws-glue-api-catalog-connections-connections-type-Property) 对象。

  连接的物理要求，如 VPC、子网和安全组规范。
+ `AthenaConnectionProperties` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 [属性](#aws-glue-api-catalog-connections-connections-type-Property) 对象。

  特定于 Athena 计算环境的连接属性。
+ `PythonConnectionProperties` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 [属性](#aws-glue-api-catalog-connections-connections-type-Property) 对象。

  特定于 Python 计算环境的连接属性。
+ `SparkConnectionProperties` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 [属性](#aws-glue-api-catalog-connections-connections-type-Property) 对象。

  特定于 Spark 计算环境的连接属性。

**错误**
+ `ValidationException`
+ `InvalidInputException`
+ `InternalServiceException`

## ListConnectionTypes 操作（Python：list\$1connection\$1types）
<a name="aws-glue-api-catalog-connections-connections-type-ListConnectionTypes"></a>

`ListConnectionTypes` API 提供了一种发现机制，用于了解 AWS Glue 中可用的连接类型。响应包含连接类型列表以及每种连接类型支持的内容的高级详细信息。列出的连接类型是 `CreateConnection` API 中 `ConnectionType` 值支持的选项集。

**请求**
+ `MaxResults` – 数字（整数），不小于 1 或大于 1000。

  要返回的最大结果数量。
+ `NextToken` – UTF-8 字符串，不少于 1 个字节或超过 2048 个字节，与 [Custom string pattern #11](aws-glue-api-common.md#regex_11) 匹配。

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

**响应**
+ `ConnectionTypes` – [ConnectionTypeBrief](#aws-glue-api-catalog-connections-connections-type-ConnectionTypeBrief) 对象的数组。

  `ConnectionTypeBrief` 对象列表，包含有关支持的连接类型的简要信息。
+ `NextToken` – UTF-8 字符串，不少于 1 个字节或超过 2048 个字节，与 [Custom string pattern #11](aws-glue-api-common.md#regex_11) 匹配。

  延续令牌（如果当前列表片段不是最后一个片段）。

**错误**
+ `InternalServiceException`

## ConnectionTypeBrief 结构
<a name="aws-glue-api-catalog-connections-connections-type-ConnectionTypeBrief"></a>

`ListConnectionTypes` API 返回的有关支持的连接类型的简要信息。

**Fields**
+ `ConnectionType` – UTF-8 字符串（有效值：`JDBC` \$1 `SFTP` \$1 `MONGODB` \$1 `KAFKA` \$1 `NETWORK` \$1 `MARKETPLACE` \$1 `CUSTOM` \$1 `SALESFORCE` \$1 `VIEW_VALIDATION_REDSHIFT` \$1 `VIEW_VALIDATION_ATHENA` \$1 `GOOGLEADS` \$1 `GOOGLESHEETS` \$1 `GOOGLEANALYTICS4` \$1 `SERVICENOW` \$1 `MARKETO` \$1 `SAPODATA` \$1 `ZENDESK` \$1 `JIRACLOUD` \$1 `NETSUITEERP` \$1 `HUBSPOT` \$1 `FACEBOOKADS` \$1 `INSTAGRAMADS` \$1 `ZOHOCRM` \$1 `SALESFORCEPARDOT` \$1 `SALESFORCEMARKETINGCLOUD` \$1 `ADOBEANALYTICS` \$1 `SLACK` \$1 `LINKEDIN` \$1 `MIXPANEL` \$1 `ASANA` \$1 `STRIPE` \$1 `SMARTSHEET` \$1 `DATADOG` \$1 `WOOCOMMERCE` \$1 `INTERCOM` \$1 `SNAPCHATADS` \$1 `PAYPAL` \$1 `QUICKBOOKS` \$1 `FACEBOOKPAGEINSIGHTS` \$1 `FRESHDESK` \$1 `TWILIO` \$1 `DOCUSIGNMONITOR` \$1 `FRESHSALES` \$1 `ZOOM` \$1 `GOOGLESEARCHCONSOLE` \$1 `SALESFORCECOMMERCECLOUD` \$1 `SAPCONCUR` \$1 `DYNATRACE` \$1 `MICROSOFTDYNAMIC365FINANCEANDOPS` \$1 `MICROSOFTTEAMS` \$1 `BLACKBAUDRAISEREDGENXT` \$1 `MAILCHIMP` \$1 `GITLAB` \$1 `PENDO` \$1 `PRODUCTBOARD` \$1 `CIRCLECI` \$1 `PIPEDIVE` \$1 `SENDGRID` \$1 `AZURECOSMOS` \$1 `AZURESQL` \$1 `BIGQUERY` \$1 `BLACKBAUD` \$1 `CLOUDERAHIVE` \$1 `CLOUDERAIMPALA` \$1 `CLOUDWATCH` \$1 `CLOUDWATCHMETRICS` \$1 `CMDB` \$1 `DATALAKEGEN2` \$1 `DB2` \$1 `DB2AS400` \$1 `DOCUMENTDB` \$1 `DOMO` \$1 `DYNAMODB` \$1 `GOOGLECLOUDSTORAGE` \$1 `HBASE` \$1 `KUSTOMER` \$1 `MICROSOFTDYNAMICS365CRM` \$1 `MONDAY` \$1 `MYSQL` \$1 `OKTA` \$1 `OPENSEARCH` \$1 `ORACLE` \$1 `PIPEDRIVE` \$1 `POSTGRESQL` \$1 `SAPHANA` \$1 `SQLSERVER` \$1 `SYNAPSE` \$1 `TERADATA` \$1 `TERADATANOS` \$1 `TIMESTREAM` \$1 `TPCDS` \$1 `VERTICA`）。

  连接类型的名称。
+ `DisplayName` – UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  AWS Glue 控制台中显示的连接类型的人类可读名称。
+ `Vendor` – UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  创建或维护此连接类型的供应商或者提供商的名称。
+ `Description` – UTF-8 字符串，长度不超过 1024 个字节。

  连接类型的描述。
+ `Categories` – .

  此连接类型所属的类别列表。类别可帮助用户根据其用例筛选并找到合适的连接类型。
+ `Capabilities` – 一个 [功能](#aws-glue-api-catalog-connections-connections-type-Capabilities) 对象。

  连接器支持的身份验证类型、数据接口类型（计算环境）以及数据操作。
+ `LogoUrl` – UTF-8 字符串。

  与连接类型相关联的徽标的 URL。
+ `ConnectionTypeVariants` – [ConnectionTypeVariant](#aws-glue-api-catalog-connections-connections-type-ConnectionTypeVariant) 对象的数组。

  此连接类型可用的变体列表。不同的变体可能会为特定用例或相同通用连接类型的实现提供专门的配置。

## ConnectionTypeVariant 结构
<a name="aws-glue-api-catalog-connections-connections-type-ConnectionTypeVariant"></a>

表示 AWS Glue Data Catalog 中连接类型的变体。连接类型变体为同一通用连接类型的不同实现提供特定的配置和行为。

**Fields**
+ `ConnectionTypeVariantName` – UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  连接类型变体的唯一标识符。此名称在内部用于标识连接类型的特定变体。
+ `DisplayName` – UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  AWS Glue 控制台中显示的连接类型变体的人类可读名称。
+ `Description` – UTF-8 字符串，长度不超过 1024 个字节。

  连接类型变体的详细描述，包括其用途、用例和任何特定的配置要求。
+ `LogoUrl` – UTF-8 字符串。

  与连接类型变体关联的徽标的 URL。

## 数据类型
<a name="aws-glue-api-catalog-connections-connections-type-connection-types"></a>
+ [验证结构](#aws-glue-api-catalog-connections-connections-type-Validation)
+ [AuthConfiguration 结构](#aws-glue-api-catalog-connections-connections-type-AuthConfiguration)
+ [功能结构](#aws-glue-api-catalog-connections-connections-type-Capabilities)
+ [属性结构](#aws-glue-api-catalog-connections-connections-type-Property)
+ [AllowedValue 结构](#aws-glue-api-catalog-connections-connections-type-AllowedValue)
+ [ComputeEnvironmentConfiguration 结构](#aws-glue-api-catalog-connections-connections-type-ComputeEnvironmentConfiguration)

## 验证结构
<a name="aws-glue-api-catalog-connections-connections-type-Validation"></a>

定义如何对连接属性执行验证。

**Fields**
+ `ValidationType` – *必填：*UTF-8 字符串（有效值：`REGEX` \$1 `RANGE`）。

  要执行的验证类型，例如 `REGEX`。
+ `Patterns` – .

  适用于验证的模式列表。
+ `Description` – *必填项：*UTF-8 字符串，长度不少于 1 个字节，不超过 1024 个字节。

  验证的描述。
+ `MaxLength` – 数字（整数）。

  字符串连接属性的最大长度。
+ `Maximum` – 数字（整数）。

  指定 `RANGE` 类型验证时的最大值。
+ `Minimum` – 数字（整数）。

  指定 `RANGE` 类型验证时的最小值。

## AuthConfiguration 结构
<a name="aws-glue-api-catalog-connections-connections-type-AuthConfiguration"></a>

`DescribeConnectionType` API 返回的连接的身份验证配置。

**Fields**
+ `AuthenticationType` – *必填：*一个 [属性](#aws-glue-api-catalog-connections-connections-type-Property) 对象。

  连接的身份验证类型。
+ `SecretArn` – 一个 [属性](#aws-glue-api-catalog-connections-connections-type-Property) 对象。

  Secrets Manager 的 Amazon 资源名称 (ARN)。
+ `OAuth2Properties` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 [属性](#aws-glue-api-catalog-connections-connections-type-Property) 对象。

  OAuth2 属性的键值对映射。每个值都是一个 `Property` 对象。
+ `BasicAuthenticationProperties` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 [属性](#aws-glue-api-catalog-connections-connections-type-Property) 对象。

  OAuth2 属性的键值对映射。每个值都是一个 `Property` 对象。
+ `CustomAuthenticationProperties` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 [属性](#aws-glue-api-catalog-connections-connections-type-Property) 对象。

  自定义身份验证属性的键值对映射。每个值都是一个 `Property` 对象。

## 功能结构
<a name="aws-glue-api-catalog-connections-connections-type-Capabilities"></a>

指定 `DescribeConnectionType` API 返回的支持的身份验证类型。

**Fields**
+ `SupportedAuthenticationTypes` – *必填*：UTF-8 字符串数组。

  支持的身份验证类型列表。
+ `SupportedDataOperations` – *必填*：UTF-8 字符串数组。

  支持的数据操作列表。
+ `SupportedComputeEnvironments` – *必填*：UTF-8 字符串数组。

  支持的计算环境列表。

## 属性结构
<a name="aws-glue-api-catalog-connections-connections-type-Property"></a>

定义计算环境的连接类型的对象。

**Fields**
+ `Name`：*必需：*UTF-8 字符串，长度不少于 1 个字节，不超过 128 个字节。

  属性的名称。
+ `Description`：*必需：*UTF-8 字符串，长度不超过 1024 个字节。

  属性的描述。
+ `Required` – *必填：*布尔值。

  指示属性是否为必需属性。
+ `PropertyTypes` – *必填*：UTF-8 字符串数组。

  描述属性的类型。
+ `AllowedValues` – [AllowedValue](#aws-glue-api-catalog-connections-connections-type-AllowedValue) 对象的数组。

  表示属性允许的值的 `AllowedValue` 对象列表。
+ `DataOperationScopes` – UTF-8 字符串数组。

  指示哪些数据操作适用于该属性。

## AllowedValue 结构
<a name="aws-glue-api-catalog-connections-connections-type-AllowedValue"></a>

表示属性允许的值的对象。

**Fields**
+ `Description` – UTF-8 字符串，长度不超过 1024 个字节。

  允许的值的描述。
+ `Value`：*必需：*UTF-8 字符串，长度不少于 1 个字节，不超过 128 个字节。

  属性允许的值。

## ComputeEnvironmentConfiguration 结构
<a name="aws-glue-api-catalog-connections-connections-type-ComputeEnvironmentConfiguration"></a>

包含 `DescribeConnectionType` API 返回的计算环境（如 Spark、Python 或 Athena）配置的对象。

**Fields**
+ `Name`：*必需：*UTF-8 字符串，长度不少于 1 个字节，不超过 128 个字节。

  计算环境配置的名称。
+ `Description`：*必需：*UTF-8 字符串，长度不超过 1024 个字节。

  计算环境的描述。
+ `ComputeEnvironment` – *必填：* UTF-8 字符串（有效值：`SPARK` \$1 `ATHENA` \$1 `PYTHON`）。

  计算环境的类型。
+ `SupportedAuthenticationTypes` – *必填*：UTF-8 字符串数组。

  计算环境支持的身份验证类型。
+ `ConnectionOptions` – *必填*：键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 [属性](#aws-glue-api-catalog-connections-connections-type-Property) 对象。

  用作计算环境的连接选项的参数。
+ `ConnectionPropertyNameOverrides` – *必填*：键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 UTF-8 字符串，长度不少于 1 个字节，不超过 128 个字节。

  计算环境的连接属性名称覆盖。
+ `ConnectionOptionNameOverrides` – *必填*：键值对的映射数组。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值都是一个 UTF-8 字符串，长度不少于 1 个字节，不超过 128 个字节。

  计算环境的连接选项名称覆盖。
+ `ConnectionPropertiesRequiredOverrides` – *必填：*。

  计算环境需要覆盖的连接属性。
+ `PhysicalConnectionPropertiesRequired` – 布尔值。

  指示计算环境是否需要 `PhysicalConnectionProperties`。

# 连接元数据和预览 API
<a name="aws-glue-api-catalog-connections-connections-metadata"></a>

以下连接 API 介绍了用于描述连接元数据的操作。

## 数据类型
<a name="aws-glue-api-catalog-connections-connections-metadata-objects"></a>
+ [元数据](#aws-glue-api-catalog-connections-connections-metadata-Entity)
+ [字段结构](#aws-glue-api-catalog-connections-connections-metadata-Field)

## 元数据
<a name="aws-glue-api-catalog-connections-connections-metadata-Entity"></a>

给定 `ConnectionType` 支持的实体。

**Fields**
+ `EntityName` – UTF-8 字符串。

  在 中，将实体命名为 。
+ `Label` – UTF-8 字符串。

  用于实体的标签。
+ `IsParentEntity` – 布尔值。

  一个布尔值，有助于确定是否有可以列出的子对象。
+ `Description` – UTF-8 字符串。

  实体的描述。
+ `Category` – UTF-8 字符串。

  响应中存在的实体的类型。此值取决于源连接。例如，对于 Salesforce，这为 `SObjects`，对于 Amazon Redshift 等来源，这为 `databases`、`schemas` 或 `tables`。
+ `CustomProperties` – 

  连接器可为实体返回的可选键映射。

## 字段结构
<a name="aws-glue-api-catalog-connections-connections-metadata-Field"></a>

`Field` 对象包含与连接器中的某字段关联的不同属性的信息。

**Fields**
+ `FieldName` – UTF-8 字符串。

  字段的唯一标识符。
+ `Label` – UTF-8 字符串。

  用于该字段的可读标签。
+ `Description` – UTF-8 字符串。

  字段的描述。
+ `FieldType`：UTF-8 字符串（有效值：`INT` \$1 `SMALLINT` \$1 `BIGINT` \$1 `FLOAT` \$1 `LONG` \$1 `DATE` \$1 `BOOLEAN` \$1 `MAP` \$1 `ARRAY` \$1 `STRING` \$1 `TIMESTAMP` \$1 `DECIMAL` \$1 `BYTE` \$1 `SHORT` \$1 `DOUBLE` \$1 `STRUCT`）。

  字段中的数据类型。
+ `IsPrimaryKey` – 布尔值。

  指示此字段是否可用作给定实体的主键。
+ `IsNullable` – 布尔值。

  指示此字段是否可以为空。
+ `IsRetrievable` – 布尔值。

  指示此字段是否可以添加到 SQL 查询的 Select 子句中或者是否可以检索。
+ `IsFilterable` – 布尔值。

   指示在查询数据时是否可以在 SQL 语句的筛选条件子句（`WHERE` 子句）中使用此字段。
+ `IsPartitionable` – 布尔值。

  指示是否可以使用给定字段对向 SaaS 进行的查询进行分区。
+ `IsCreateable` – 布尔值。

  指示此字段是否可以作为目标写入的一部分创建。
+ `IsUpdateable` – 布尔值。

  指示此字段是否可以作为目标写入的一部分更新。
+ `IsUpsertable` – 布尔值。

  指示此字段是否可以作为目标写入的一部分更新插入。
+ `IsDefaultOnCreate` – 布尔值。

  指示在创建对象时（例如在时间戳时创建的）是否自动填充此字段。
+ `SupportedValues` – .

  该字段支持的值的列表。
+ `SupportedFilterOperators` – UTF-8 字符串数组。

  指示此字段的支持筛选运算符。
+ `CustomProperties` – 

  可能返回的可选键映射。

## 操作
<a name="aws-glue-api-catalog-connections-connections-metadata-actions"></a>
+ [ListEntities 操作（Python：list\$1entities）](#aws-glue-api-catalog-connections-connections-metadata-ListEntities)
+ [DescribeEntity 操作（Python：describe\$1entity)](#aws-glue-api-catalog-connections-connections-metadata-DescribeEntity)
+ [GetEntityRecords 操作（Python：get\$1entity\$1records）](#aws-glue-api-catalog-connections-connections-metadata-GetEntityRecords)

## ListEntities 操作（Python：list\$1entities）
<a name="aws-glue-api-catalog-connections-connections-metadata-ListEntities"></a>

返回连接类型支持的可用实体。

**请求**
+ `ConnectionName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  具有查询任何连接类型所需凭证的连接的名称。
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  包含连接的目录的目录 ID。这可以为空，默认情况下，AWS 账户 ID 就是目录 ID。
+ `ParentEntityName` – UTF-8 字符串。

  您想要列出子项的父实体的名称。此参数采用实体的完全限定路径来列出子实体。
+ `NextToken` – UTF-8 字符串，不少于 1 个字节或超过 2048 个字节，与 [Custom string pattern #11](aws-glue-api-common.md#regex_11) 匹配。

  延续标记 (如果这是延续调用，则包括)。
+ `DataStoreApiVersion` – UTF-8 字符串，长度不少于 1 个字节或超过 256 个字节，与 [Custom string pattern #23](aws-glue-api-common.md#regex_23) 匹配。

  SaaS 连接器的 API 版本。

**响应**
+ `Entities` – [实体](#aws-glue-api-catalog-connections-connections-metadata-Entity) 对象的数组。

  `Entity` 对象的列表。
+ `NextToken` – UTF-8 字符串，不少于 1 个字节或超过 2048 个字节，与 [Custom string pattern #11](aws-glue-api-common.md#regex_11) 匹配。

  延续令牌，如果当前片段不是最后一个片段则呈现。

**错误**
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `InvalidInputException`
+ `GlueEncryptionException`
+ `ValidationException`
+ `FederationSourceException`
+ `AccessDeniedException`

## DescribeEntity 操作（Python：describe\$1entity)
<a name="aws-glue-api-catalog-connections-connections-metadata-DescribeEntity"></a>

提供有关连接类型所使用的实体的详细信息以及所选实体中每个字段的数据模型的描述。

 响应包括构成实体的所有字段。

**请求**
+ `ConnectionName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  包含连接类型凭证的连接的名称。
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  包含连接的目录的目录 ID。这可以为空，默认情况下，AWS 账户 ID 就是目录 ID。
+ `EntityName` – *必填：*UTF-8 字符串。

  您想要从连接类型描述的实体的名称。
+ `NextToken` – UTF-8 字符串，不少于 1 个字节或超过 2048 个字节，与 [Custom string pattern #11](aws-glue-api-common.md#regex_11) 匹配。

  延续标记 (如果这是延续调用，则包括)。
+ `DataStoreApiVersion` – UTF-8 字符串，长度不少于 1 个字节或超过 256 个字节，与 [Custom string pattern #23](aws-glue-api-common.md#regex_23) 匹配。

  用于数据存储的 API 版本。

**响应**
+ `Fields` – [字段](#aws-glue-api-catalog-connections-connections-metadata-Field) 对象的数组。

  描述该连接器实体的字段。这是 `Field` 对象的列表。`Field` 与数据库中的列非常相似。`Field` 对象包含与连接器中的字段关联的不同属性的信息。
+ `NextToken` – UTF-8 字符串，不少于 1 个字节或超过 2048 个字节，与 [Custom string pattern #11](aws-glue-api-common.md#regex_11) 匹配。

  延续令牌，如果当前片段不是最后一个片段则呈现。

**错误**
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `InvalidInputException`
+ `GlueEncryptionException`
+ `ValidationException`
+ `FederationSourceException`
+ `AccessDeniedException`

## GetEntityRecords 操作（Python：get\$1entity\$1records）
<a name="aws-glue-api-catalog-connections-connections-metadata-GetEntityRecords"></a>

此 API 用于从给定的连接类型或基于 Amazon S3 的原生 AWS Glue Data Catalog 查询预览数据。

以 JSON blob 数组的形式返回记录。每条记录都使用 Jackson JsonNode 根据 `DescribeEntity` API 定义的字段类型进行格式化。

Spark 连接器根据与 `DescribeEntity` API 中相同的数据类型映射生成架构。Spark 连接器在返回行时会将数据转换为与架构匹配的适当数据类型。

**请求**
+ `ConnectionName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  包含连接类型凭证的连接的名称。
+ `CatalogId` – 目录 id 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  包含连接的目录的目录 ID。这可以为空，默认情况下，AWS 账户 ID 就是目录 ID。
+ `EntityName` – *必填：*UTF-8 字符串。

  我们想要从给定的连接类型查询预览数据的实体的名称。
+ `NextToken` – UTF-8 字符串，不少于 1 个字节或超过 2048 个字节，与 [Custom string pattern #11](aws-glue-api-common.md#regex_11) 匹配。

  延续标记 (如果这是延续调用，则包括)。
+ `DataStoreApiVersion` – UTF-8 字符串，长度不少于 1 个字节或超过 256 个字节，与 [Custom string pattern #23](aws-glue-api-common.md#regex_23) 匹配。

  SaaS 连接器的 API 版本。
+ `ConnectionOptions` – 键值对的映射数组，不超过 100 对。

  每个键是一个 UTF-8 字符串，长度不少于 1 个字节，不超过 256 个字节，与 [Custom string pattern #18](aws-glue-api-common.md#regex_18) 匹配。

  每个值是一个 UTF-8 字符串，长度不少于 1 个字节，不超过 256 个字节，与 [Custom string pattern #17](aws-glue-api-common.md#regex_17) 匹配。

  查询数据所需的连接器选项。
+ `FilterPredicate`：UTF-8 字符串，长度不少于 1 个字节，不超过 100000 个字节。

  您可以在查询请求中应用的筛选谓词。
+ `Limit`：*必需：*数字（长度），不少于 1 或不超过 1000。

  限制通过请求提取的记录数。
+ `SelectedFields`：UTF-8 字符串数组，不少于 1 个字符串，不超过 1000 个字符串。

   我们想要作为预览数据的一部分提取的字段列表。

**响应**
+ `Records` – 结构数组。

  请求的 对象的列表。
+ `NextToken` – UTF-8 字符串，不少于 1 个字节或超过 2048 个字节，与 [Custom string pattern #11](aws-glue-api-common.md#regex_11) 匹配。

  延续令牌，如果当前片段不是最后一个片段则呈现。

**错误**
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `InvalidInputException`
+ `GlueEncryptionException`
+ `ValidationException`
+ `FederationSourceException`
+ `AccessDeniedException`