

# 连接 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`