连接 API - AWS Glue

连接 API

连接 API 介绍 AWS 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 | SALESFORCE | VIEW_VALIDATION_REDSHIFT | VIEW_VALIDATION_ATHENA | GOOGLEADS | GOOGLESHEETS | GOOGLEANALYTICS4 | SERVICENOW | MARKETO | SAPODATA | ZENDESK | JIRACLOUD | NETSUITEERP | HUBSPOT | FACEBOOKADS | INSTAGRAMADS | ZOHOCRM | SALESFORCEPARDOT | SALESFORCEMARKETINGCLOUD | SLACK | STRIPE | INTERCOM | SNAPCHATADS)。

    连接的类型。目前不支持 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 | KAFKA_SASL_PLAIN_USERNAME | KAFKA_SASL_PLAIN_PASSWORD | ENCRYPTED_KAFKA_SASL_PLAIN_PASSWORD | KAFKA_SASL_SCRAM_USERNAME | KAFKA_SASL_SCRAM_PASSWORD | KAFKA_SASL_SCRAM_SECRETS_ARN | 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 | ENDPOINT | ENDPOINT_TYPE | ROLE_ARN | REGION | WORKGROUP_NAME | CLUSTER_IDENTIFIER | 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 - 指定在客户端上建立 JDBC 连接时是否强制使用安全套接字层 (SSL) 及主机名匹配的布尔值字符串(true 或 false)。默认值为 false。

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

    • SKIP_CUSTOM_JDBC_CERT_VALIDATION – 默认情况下,这是 false。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 机制

    • 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

    • KAFKA_SASL_GSSAPI_KRB5_CONF – Kerberos krb5.conf 文件的 S3 位置。krb5.conf 可存储 Kerberos 配置信息,例如 KDC 服务器的位置。有关更多信息,请参阅 MIT Kerberos 文档:krb5.conf

    • KAFKA_SASL_GSSAPI_SERVICE – Kerberos 服务名称,如您的 Kafka 配置中的 sasl.kerberos.service.name 设置。

    • KAFKA_SASL_GSSAPI_PRINCIPAL – AWS Glue 使用的 Kerberos 主体的名称。有关更多信息,请参阅 Kafka 文档:配置 Kafka 代理

    • 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 对象。

    成功建立此连接所需的物理连接要求,如虚拟私有云(VPC)和 SecurityGroup

  • CreationTime – 时间戳。

    创建此连接定义的时间的时间戳。

  • LastUpdatedTime – 时间戳。

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

  • LastUpdatedBy – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

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

  • Status – UTF-8 字符串(有效值:READY | IN_PROGRESS | FAILED)。

    连接的状态。可以为以下值之一:READYIN_PROGRESSFAILED

  • StatusReason – UTF-8 字符串,长度不少于 1 个字节,不超过 16384 个字节。

    连接状态原因。

  • LastConnectionValidationTime – 时间戳。

    上次验证此连接的时间的时间戳。

  • AuthenticationConfiguration – 一个 AuthenticationConfiguration 对象。

    连接的身份验证属性。

  • ConnectionSchemaVersion:数字(整数),不小于 1 或大于 2。

    此连接的连接架构的版本。版本 2 支持特定计算环境的属性。

  • CompatibleComputeEnvironments – UTF-8 字符串数组。

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

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 | SALESFORCE | VIEW_VALIDATION_REDSHIFT | VIEW_VALIDATION_ATHENA | GOOGLEADS | GOOGLESHEETS | GOOGLEANALYTICS4 | SERVICENOW | MARKETO | SAPODATA | ZENDESK | JIRACLOUD | NETSUITEERP | HUBSPOT | FACEBOOKADS | INSTAGRAMADS | ZOHOCRM | SALESFORCEPARDOT | SALESFORCEMARKETINGCLOUD | SLACK | STRIPE | INTERCOM | SNAPCHATADS)。

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

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

      JDBC 连接使用以下 ConnectionParameters。

      • 必需:所有(HOSTPORTJDBC_ENGINE)或 JDBC_CONNECTION_URL

      • 必需:所有(USERNAMEPASSWORD)或 SECRET_ID

      • 可选:JDBC_ENFORCE_SSLCUSTOM_JDBC_CERTCUSTOM_JDBC_CERT_STRINGSKIP_CUSTOM_JDBC_CERT_VALIDATION。这些参数用于通过 JDBC 配置 SSL。

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

      KAFKA 连接使用以下 ConnectionParameters。

      • 必需:KAFKA_BOOTSTRAP_SERVERS

      • 可选:KAFKA_SSL_ENABLEDKAFKA_CUSTOM_CERTKAFKA_SKIP_CUSTOM_CERT_VALIDATION。这些参数用于通过 KAFKA 配置 SSL。

      • 可选:KAFKA_CLIENT_KEYSTOREKAFKA_CLIENT_KEYSTORE_PASSWORDKAFKA_CLIENT_KEY_PASSWORDENCRYPTED_KAFKA_CLIENT_KEYSTORE_PASSWORDENCRYPTED_KAFKA_CLIENT_KEY_PASSWORD。这些参数用于在 KAFKA 中通过 SSL 配置 TLS 客户端配置。

      • 可选:KAFKA_SASL_MECHANISM。可以指定为 SCRAM-SHA-512GSSAPIAWS_MSK_IAM

      • 可选:KAFKA_SASL_SCRAM_USERNAMEKAFKA_SASL_SCRAM_PASSWORDENCRYPTED_KAFKA_SASL_SCRAM_PASSWORD。这些参数用于通过 KAFKA 配置 SASL/SCRAM-SHA-512 身份验证。

      • 可选:KAFKA_SASL_GSSAPI_KEYTABKAFKA_SASL_GSSAPI_KRB5_CONFKAFKA_SASL_GSSAPI_SERVICEKAFKA_SASL_GSSAPI_PRINCIPAL。这些参数用于通过 KAFKA 配置 SASL/GSSAPI 身份验证。

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

      MONGODB 连接使用以下 ConnectionParameters。

      • 必需:CONNECTION_URL

      • 必需:所有(USERNAMEPASSWORD)或 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_TYPECONNECTOR_URLCONNECTOR_CLASS_NAMECONNECTION_URL

      • JDBC CONNECTOR_TYPE 连接必需:所有(USERNAMEPASSWORD)或 SECRET_ID

    • CUSTOM – 使用自定义连接器中包含的配置设置来读取和写入 AWS Glue 本地不支持的数据存储。

    此外,还支持以下 SaaS 连接器的 ConnectionType

    • FACEBOOKADS:指定与 Facebook Ads 的连接。

    • GOOGLEADS:指定与 Google Ads 的连接。

    • GOOGLESHEETS:指定与 Google Sheets 的连接。

    • GOOGLEANALYTICS4:指定与 Google Analytics 4 的连接。

    • HUBSPOT:指定与 HubSpot 的连接。

    • INSTAGRAMADS:指定与 Instagram Ads 的连接。

    • INTERCOM:指定与 Intercom 的连接。

    • JIRACLOUD:指定与 Jira Cloud 的连接。

    • MARKETO:指定与 Adobe Marketo Engage 的连接。

    • NETSUITEERP:指定与 Oracle NetSuite 的连接。

    • SALESFORCE:指定使用 OAuth 身份验证与 Salesforce 的连接。

    有关特定连接器所需的连接参数的更多信息,请参阅《AWS Glue 用户指南》中的添加 AWS Glue 连接中相应连接器的文档。

    不支持 SFTP

    有关如何使用可选的 ConnectionProperties 配置 AWS Glue 中功能的更多信息,请参阅 AWS Glue 连接属性

    有关如何使用可选的 ConnectionProperties 配置 AWS Glue Studio 中功能的更多信息,请参阅使用连接器和连接

  • 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 | KAFKA_SASL_PLAIN_USERNAME | KAFKA_SASL_PLAIN_PASSWORD | ENCRYPTED_KAFKA_SASL_PLAIN_PASSWORD | KAFKA_SASL_SCRAM_USERNAME | KAFKA_SASL_SCRAM_PASSWORD | KAFKA_SASL_SCRAM_SECRETS_ARN | 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 | ENDPOINT | ENDPOINT_TYPE | ROLE_ARN | REGION | WORKGROUP_NAME | CLUSTER_IDENTIFIER | 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 对象。

    成功建立此连接所需的物理连接要求,如虚拟私有云(VPC)和 SecurityGroup

  • AuthenticationConfiguration – 一个 AuthenticationConfigurationInput 对象。

    连接的身份验证属性。

  • ValidateCredentials – 布尔值。

    用于在创建连接期间验证凭证的标志。默认设置为 true。

  • ValidateForComputeEnvironments – UTF-8 字符串数组。

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

TestConnectionInput 结构

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

字段
  • ConnectionType必需:UTF-8 字符串(有效值:JDBC | SFTP | MONGODB | KAFKA | NETWORK | MARKETPLACE | CUSTOM | SALESFORCE | VIEW_VALIDATION_REDSHIFT | VIEW_VALIDATION_ATHENA | GOOGLEADS | GOOGLESHEETS | GOOGLEANALYTICS4 | SERVICENOW | MARKETO | SAPODATA | ZENDESK | JIRACLOUD | NETSUITEERP | HUBSPOT | FACEBOOKADS | INSTAGRAMADS | ZOHOCRM | SALESFORCEPARDOT | SALESFORCEMARKETINGCLOUD | SLACK | STRIPE | INTERCOM | SNAPCHATADS)。

    要测试的连接类型。此操作仅适用于 JDBCSALESFORCE 连接类型。

  • 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 | KAFKA_SASL_PLAIN_USERNAME | KAFKA_SASL_PLAIN_PASSWORD | ENCRYPTED_KAFKA_SASL_PLAIN_PASSWORD | KAFKA_SASL_SCRAM_USERNAME | KAFKA_SASL_SCRAM_PASSWORD | KAFKA_SASL_SCRAM_SECRETS_ARN | 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 | ENDPOINT | ENDPOINT_TYPE | ROLE_ARN | REGION | WORKGROUP_NAME | CLUSTER_IDENTIFIER | DATABASE)。

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

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

    JDBC 连接使用下面的连接属性:

    • 必需:所有(HOSTPORTJDBC_ENGINE)或 JDBC_CONNECTION_URL

    • 必需:所有(USERNAMEPASSWORD)或 SECRET_ID

    • 可选:JDBC_ENFORCE_SSLCUSTOM_JDBC_CERTCUSTOM_JDBC_CERT_STRINGSKIP_CUSTOM_JDBC_CERT_VALIDATION。这些参数用于通过 JDBC 配置 SSL。

    SALESFORCE 连接需要配置 AuthenticationConfiguration 成员。

  • AuthenticationConfiguration – 一个 AuthenticationConfigurationInput 对象。

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

PhysicalConnectionRequirements 结构

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

字段
  • 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 操作返回的连接定义。

字段
  • MatchCriteria – UTF-8 字符串数组,不超过 10 个字符串。

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

  • ConnectionType:UTF-8 字符串(有效值:JDBC | SFTP | MONGODB | KAFKA | NETWORK | MARKETPLACE | CUSTOM | SALESFORCE | VIEW_VALIDATION_REDSHIFT | VIEW_VALIDATION_ATHENA | GOOGLEADS | GOOGLESHEETS | GOOGLEANALYTICS4 | SERVICENOW | MARKETO | SAPODATA | ZENDESK | JIRACLOUD | NETSUITEERP | HUBSPOT | FACEBOOKADS | INSTAGRAMADS | ZOHOCRM | SALESFORCEPARDOT | SALESFORCEMARKETINGCLOUD | SLACK | STRIPE | INTERCOM | SNAPCHATADS)。

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

  • ConnectionSchemaVersion:数字(整数),不小于 1 或大于 2。

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

AuthenticationConfiguration 结构

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

字段
  • AuthenticationType – UTF-8 字符串(有效值:BASIC | OAUTH2 | CUSTOM | IAM)。

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

  • SecretArn – UTF-8 字符串,与 Custom string pattern #36 匹配。

    用于存储凭证的 Secrets Manager ARN。

  • OAuth2Properties – 一个 OAuth2Properties 对象。

    OAuth2 身份验证的属性。

AuthenticationConfigurationInput 结构

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

字段
  • AuthenticationType – UTF-8 字符串(有效值:BASIC | OAUTH2 | CUSTOM | IAM)。

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

  • OAuth2Properties – 一个 OAuth2PropertiesInput 对象。

    CreateConnection 请求中 OAuth2 身份验证的属性。

  • SecretArn – UTF-8 字符串,与 Custom string pattern #36 匹配。

    用于在 CreateConnection 请求中存储凭证的 Secrets Manager ARN。

  • KmsKeyArn – UTF-8 字符串,与 Custom string pattern #29 匹配。

    用于加密连接的 KMS 密钥的 ARN。仅作为请求中的输入并存储在 Secret Manager 中。

  • BasicAuthenticationCredentials – 一个 BasicAuthenticationCredentials 对象。

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

  • CustomAuthenticationCredentials – 键值对的映射数组。

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

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

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

OAuth2Properties 结构

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

字段
  • OAuth2GrantType – UTF-8 字符串(有效值:AUTHORIZATION_CODE | CLIENT_CREDENTIALS | JWT_BEARER)。

    OAuth2 授权类型。例如,AUTHORIZATION_CODEJWT_BEARERCLIENT_CREDENTIALS

  • OAuth2ClientApplication – 一个 OAuth2ClientApplication 对象。

    客户端应用程序类型。例如,AWS_MANAGED 或 USER_MANAGED。

  • TokenUrl – UTF-8 字符串,长度不超过 256 个字节,与 Custom string pattern #40 匹配。

    提供程序身份验证服务器的 URL,用于以授权代码交换访问令牌。

  • TokenUrlParametersMap – 键值对的映射数组。

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

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

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

OAuth2PropertiesInput 结构

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

字段
  • OAuth2GrantType – UTF-8 字符串(有效值:AUTHORIZATION_CODE | CLIENT_CREDENTIALS | JWT_BEARER)。

    CreateConnection 请求中的 OAuth2 授权类型。例如,AUTHORIZATION_CODEJWT_BEARERCLIENT_CREDENTIALS

  • OAuth2ClientApplication – 一个 OAuth2ClientApplication 对象。

    CreateConnection 请求中的客户端应用程序类型。例如,AWS_MANAGEDUSER_MANAGED

  • TokenUrl – UTF-8 字符串,长度不超过 256 个字节,与 Custom string pattern #40 匹配。

    提供程序身份验证服务器的 URL,用于以授权代码交换访问令牌。

  • TokenUrlParametersMap – 键值对的映射数组。

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

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

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

  • AuthorizationCodeProperties – 一个 AuthorizationCodeProperties 对象。

    OAuth2 AUTHORIZATION_CODE 授权类型所需的属性集。

  • OAuth2Credentials – 一个 OAuth2Credentials 对象。

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

OAuth2ClientApplication 结构

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

字段
  • UserManagedClientApplicationClientId – UTF-8 字符串,长度不超过 2048 个字节,与 Custom string pattern #37 匹配。

    如果 ClientAppType 是 USER_MANAGED,则为客户端应用程序 clientID。

  • AWSManagedClientApplicationReference – UTF-8 字符串,长度不超过 2048 个字节,与 Custom string pattern #37 匹配。

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

AuthorizationCodeProperties 结构

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

字段
  • AuthorizationCode – UTF-8 字符串,长度不少于 1 个字节,不超过 4096 个字节,与 Custom string pattern #37 匹配。

    将在 AUTHORIZATION_CODE 授权工作流的第三分支中使用的授权代码。这是一次性代码,一旦用于交换访问令牌后就会失效,因此可以将此值作为请求参数。

  • RedirectUri – UTF-8 字符串,长度不超过 512 个字节,与 Custom string pattern #41 匹配。

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

BasicAuthenticationCredentials 结构

包含当身份验证类型为基本身份验证时使用的凭证的对象。

字段
  • Username – UTF-8 字符串,长度不超过 512 个字节,与 Custom string pattern #37 匹配。

    用于基本身份验证的用户名。

  • Password – UTF-8 字符串,长度不超过 512 个字节,与 Custom string pattern #33 匹配。

    用于基本身份验证的密码。

OAuth2Credentials 结构

包含当身份验证类型为 OAuth2 时使用的凭证的对象。

字段
  • UserManagedClientApplicationClientSecret – UTF-8 字符串,长度不超过 512 个字节,与 Custom string pattern #38 匹配。

    用户管理的客户端应用程序的客户端密钥。

  • AccessToken:UTF-8 字符串,长度不超过 4096 个字节,与 Custom string pattern #38 匹配。

    OAuth2 身份验证的访问令牌。

  • RefreshToken:UTF-8 字符串,长度不超过 4096 个字节,与 Custom string pattern #38 匹配。

    OAuth2 身份验证的刷新令牌。

  • JwtToken:UTF-8 字符串,长度不超过 8000 个字节,与 Custom string pattern #39 匹配。

    用于 OAuth2 身份验证的 JSON Web 令牌 (JWT)。

操作

CreateConnection 操作(Python:create_connection)

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

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

请求
  • CatalogId – 目录 id 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

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

  • ConnectionInput必填:一个 ConnectionInput 对象。

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

  • Tags – 键值对的映射数组,不超过 50 对。

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

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

    您分配给连接的标签。

响应
  • CreateConnectionStatus – UTF-8 字符串(有效值:READY | IN_PROGRESS | FAILED)。

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

错误
  • AlreadyExistsException

  • InvalidInputException

  • OperationTimeoutException

  • ResourceNumberLimitExceededException

  • GlueEncryptionException

DeleteConnection 操作(Python:delete_connection)

从数据目录中删除连接。

请求
  • CatalogId – 目录 id 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    连接所在的数据目录的 ID。如果没有提供,则默认情况下使用 AWS 账户 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。如果没有提供,则默认情况下使用 AWS 账户 ID。

  • Name必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

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

  • HidePassword – 布尔值。

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

  • ApplyOverrideForComputeEnvironment – UTF-8 字符串(有效值:SPARK | ATHENA | PYTHON)。

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

响应
  • Connection – 一个 Connection 对象。

    请求的连接定义。

错误
  • EntityNotFoundException

  • OperationTimeoutException

  • InvalidInputException

  • GlueEncryptionException

GetConnections 操作(Python:get_connections)

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

请求
  • CatalogId – 目录 id 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

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

  • Filter – 一个 GetConnectionsFilter 对象。

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

  • HidePassword – 布尔值。

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

  • NextToken – UTF-8 字符串。

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

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

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

响应
  • ConnectionListConnection 对象的数组。

    请求的连接定义的列表。

  • NextToken – UTF-8 字符串。

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

错误
  • EntityNotFoundException

  • OperationTimeoutException

  • InvalidInputException

  • GlueEncryptionException

UpdateConnection 操作(Python:update_connection)

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

请求
  • CatalogId – 目录 id 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

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

  • Name必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

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

  • ConnectionInput必填:一个 ConnectionInput 对象。

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

响应
  • 无响应参数。

错误
  • InvalidInputException

  • EntityNotFoundException

  • OperationTimeoutException

  • InvalidInputException

  • GlueEncryptionException

TestConnection 操作(Python:test_connection)

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

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

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

请求
  • ConnectionName – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    可选。要测试的连接的名称。如果仅提供名称,则操作将获取连接并使用它来进行测试。

  • CatalogId – 目录 id 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

  • TestConnectionInput – 一个 TestConnectionInput 对象。

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

响应
  • 无响应参数。

错误
  • InvalidInputException

  • OperationTimeoutException

  • ResourceNumberLimitExceededException

  • GlueEncryptionException

  • FederationSourceException

  • AccessDeniedException

  • EntityNotFoundException

  • ConflictException

  • InternalServiceException

BatchDeleteConnection 操作(Python:batch_delete_connection)

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

请求
  • CatalogId – 目录 id 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

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

  • ConnectionNameList必填:UTF-8 字符串数组,不超过 25 个字符串。

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

响应
  • Succeeded – UTF-8 字符串数组。

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

  • Errors – 键值对的映射数组。

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

    每个值都是一个 ErrorDetail 对象。

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

错误
  • InternalServiceException

  • OperationTimeoutException