

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# Amazon Redshift Python 连接器的配置选项
<a name="python-configuration-options"></a>

下面，您可以找到您可以为 Amazon Redshift Python 连接器指定的选项的说明。除非另有说明，否则以下选项适用于最新的可用连接器版本。

## access\$1key\$1id
<a name="python-access-key-id-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

为 IAM 数据库身份验证配置的 IAM 角色或用户的访问密钥 ID。

此参数为可选的。

## allow\$1db\$1user\$1override
<a name="python-allow-db-user-override-option"></a>
+ **默认值** – False
+ **数据类型** – Boolean

True  
指定连接器使用安全断言标记语言（SAML）断言中的 `DbUser` 值。

False  
指定使用 `DbUser` 连接参数中的值。

此参数为可选的。

## app\$1name
<a name="python-app-name-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

用于身份验证的身份提供者（IdP）应用程序的名称。

此参数为可选的。

## application\$1name
<a name="python-application_name-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

传递给 Amazon Redshift 以供审计的客户端应用程序的名称。您提供的应用程序名称显示在 [SYS\$1CONNECTION\$1LOG](https://docs.aws.amazon.com/redshift/latest/dg/SYS_CONNECTION_LOG.html) 表的“application\$1name”列中。这有助于在调试问题时跟踪连接源并对其进行故障排除。

此参数为可选的。

## auth\$1profile
<a name="python-auth-profile-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

连接属性为 JSON 的 Amazon Redshift 身份验证配置文件的名称。有关命名连接参数的更多信息，请参阅 `RedshiftProperty` 类。`RedshiftProperty` 类存储由最终用户提供的连接参数，如果适用，在 IAM 身份验证过程中生成（例如，临时 IAM 凭证）。有关更多信息，请参阅 [RedshiftProperty 类](https://github.com/aws/amazon-redshift-python-driver/blob/master/redshift_connector/redshift_property.py#L9)。

此参数为可选项。

## auto\$1create
<a name="python-auto-create-option"></a>
+ **默认值** – False
+ **数据类型** – Boolean

一个值，指示在用户不存在的情况下是否创建用户。

此参数为可选的。

## client\$1id
<a name="python-client-id-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

Azure IdP 中的客户端 ID。

此参数为可选的。

## client\$1secret
<a name="python-client-secret-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

Azure IdP 中的客户端密钥。

此参数为可选的。

## cluster\$1identifier
<a name="python-cluster-identifier-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

Amazon Redshift 集群的集群标识符。

此参数为可选的。

## credentials\$1provider
<a name="python-credential-provider-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

对 Amazon Redshift 进行身份验证的 IdP。有效值如下所示：
+ `AdfsCredentialsProvider`
+ `AzureCredentialsProvider`
+ `BrowserAzureCredentialsProvider`
+ `BrowserAzureOAuth2CredentialsProvider`
+ `BrowserIdcAuthPlugin` – 使用 AWS IAM Identity Center 的授权插件。
+ `BrowserSamlCredentialsProvider`
+ `IdpTokenAuthPlugin` – 一种授权插件，可接受 AWS IAM Identity Center 令牌，或者基于 OpenID Connect（OIDC）JSON 的身份令牌（JWT），该令牌由与 AWS IAM Identity Center 关联的任意 Web 身份提供者提供。
+ `PingCredentialsProvider`
+ `OktaCredentialsProvider`

此参数为可选的。

## database
<a name="python-database-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

要连接到的数据库的名称。

此参数为必需参数。

## database\$1metadata\$1current\$1db\$1only
<a name="python-database-metadata-current-db-only-option"></a>
+ **默认值** – True
+ **数据类型** – Boolean

一个值，指示应用程序是否支持多数据库数据共享目录。默认值 True 表示应用程序不支持多数据库数据共享目录以实现向后兼容性。

此参数为可选的。

## db\$1groups
<a name="python-db-groups-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

DbUser 指示的用户为当前会话加入的现有数据库组名称的逗号分隔列表。

此参数为可选的。

## db\$1user
<a name="python-db-user-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

用于 Amazon Redshift 的用户 ID。

此参数为可选的。

## endpoint\$1url
<a name="python-endpoint-url-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

Amazon Redshift 端点 URL。此选项仅供 AWS 内部使用。

此参数为可选的。

## group\$1federation
<a name="python-group-federation-option"></a>
+ **默认值** – False
+ **数据类型** – Boolean

此选项指定是否使用 Amazon Redshift IDP 组。

此参数为可选的。

**true**  
使用 Amazon Redshift 身份提供者 (IDP) 组。

**false**  
使用 STS API 和 GetClusterCredentials 进行用户联合身份验证，并指定用于连接的 **db\$1groups**。

## host
<a name="python-host-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

Amazon Redshift 集群的主机名。

此参数为可选的。

## IAM
<a name="python-iam-option"></a>
+ **默认值** – False
+ **数据类型** – Boolean

IAM 身份验证已启用。

此参数为必需参数。

## iam\$1disable\$1cache
<a name="python-iam-disable-cache-option"></a>
+ **默认值** – False
+ **数据类型** – Boolean

此选项指定是否缓存 IAM 凭证。IAM 凭证将默认被缓存。当对 API 网关的请求受到限制时，这样可以提高性能。

此参数为可选的。

## idc\$1client\$1display\$1name
<a name="python-idc_client_display_name-option"></a>
+ **默认值** – Amazon Redshift Python 连接器
+ **数据类型** – 字符串

要用于使用 BrowserIdcAuthPlugin 的客户端的显示名称。

此参数为可选的。

## idc\$1region
<a name="python-idc_region"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

AWS IAM Identity Center 实例所在的 AWS 区域。

只有在 credentials\$1provider 配置选项中使用 `BrowserIdcAuthPlugin` 进行身份验证时，才需要此参数。

## idp\$1partition
<a name="python-idp_partition-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

指定在其中配置身份提供者（IdP）的云分区。这决定了驱动程序连接到哪个 IdP 身份验证端点。

如果将此参数留空，则驱动程序默认为商业分区。可能的值有：
+  `us-gov`：如果在 Azure Government 中配置了 IdP，请使用此值。例如，Azure AD Government 使用端点 `login.microsoftonline.us`。
+  `cn`：如果在中国云分区中配置了 IdP，请使用此值。例如，Azure AD China 使用 `login.chinacloudapi.cn` 端点。

此参数为可选的。

## idpPort
<a name="python-idp-port-option"></a>
+ **默认值** – 7890
+ **数据类型** – 整数

IdP 将 SAML 断言发送到的侦听端口。

此参数为必需参数。

## idp\$1response\$1timeout
<a name="python-idp-response-timeout-option"></a>
+ **默认值** – 120
+ **数据类型** – 整数

从 IdP 检索 SAML 断言的超时时间。

此参数为必需参数。

## idp\$1tenant
<a name="python-idp-tenant-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

IdP 租户。

此参数为可选的。

## issuer\$1url
<a name="python-issuer_url"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

 指向 AWS IAM Identity Center 服务器的实例端点。

只有在 credentials\$1provider 配置选项中使用 `BrowserIdcAuthPlugin` 进行身份验证时，才需要此参数。

## listen\$1port
<a name="python-listen-port-option"></a>
+ **默认值** – 7890
+ **数据类型** – 整数

通过浏览器插件使用 SAML、Azure AD 或 AWS IAM Identity Center 服务时，驱动程序用于接收来自身份提供者的 SAML 响应的端口。

此参数为可选的。

## login\$1url
<a name="python-login-url-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

IdP 的单点登录 Url。

此参数为可选的。

## max\$1prepared\$1statements
<a name="python-max-prepared-statements-option"></a>
+ **默认值**：1000
+ **数据类型** – 整数

每个连接将缓存的最大预处理语句数。将该参数设置为 0 将禁用缓存机制。为此参数输入负数会将其设置为默认值。

此参数为可选的。

## numeric\$1to\$1float
<a name="python-numeric-to-float-option"></a>
+ **默认值** – False
+ **数据类型** – Boolean

此选项指定连接器是否将数字数据类型值从 decimal.Decimal 转换为浮点数。默认情况下，连接器将数字数据类型值作为 decimal.Decimal 接收，而不会转换它们。

我们不建议为需要精确度的用例启用 numeric\$1to\$1float（数字转浮点），因为结果可能会四舍五入。

有关 decimal.Decimal 以及它与浮点数之间的权衡的更多信息，请参阅 Python 网站上的 [decimal — 十进制定点和浮点算术](https://docs.python.org/3/library/decimal.html)。

此参数为可选的。

## partner\$1sp\$1id
<a name="python-partner-sp-id-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

用于 Ping 身份验证的合作伙伴 SP ID。

此参数为可选的。

## password
<a name="python-password-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

用于身份验证的密码。

此参数为可选的。

## port
<a name="python-port-option"></a>
+ **默认值** – 5439
+ **数据类型** – 整数

Amazon Redshift 集群的端口号。

此参数为必需参数。

## preferred\$1role
<a name="python-preferred-role-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

当前连接首选的 IAM 角色。

此参数为可选的。

## principal\$1arn
<a name="python-principal-arn-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

要为其生成策略的用户或 IAM 角色的 Amazon 资源名称（ARN）。建议您将策略附加到角色，然后将该角色分配给用户以进行访问。

此参数为可选的。

## 配置文件
<a name="python-profile-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

包含 AWS 凭据的 AWS 凭据文件中的配置文件的名称。

此参数为可选的。

## provider\$1name
<a name="python-provider_name-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

Redshift 本机验证提供程序的名称。

此参数为可选的。

## region
<a name="python-region-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

集群所在的 AWS 区域。

此参数为可选的。

## role\$1arn
<a name="python-role-arn-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

调用方承担的角色的 Amazon 资源名称（ARN）。此参数由 `JwtCredentialsProvider` 指示的提供程序使用。

对于 `JwtCredentialsProvider` 提供商，此参数为必填项。否则，此参数位可选项。

## role\$1session\$1name
<a name="python-role-session-name-option"></a>
+ **默认值** – jwt\$1redshift\$1session
+ **数据类型** – 字符串

所代入角色会话的标识符。通常，您可以传递与使用您的应用程序的用户关联的名称或标识符。您的应用程序使用的临时安全凭证与该用户相关联。此参数由 `JwtCredentialsProvider` 指示的提供程序使用。

此参数为可选的。

## 范围
<a name="python-scope-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

用户可以同意的范围列表，以空格分隔。您可以指定此参数，以便应用程序可以获得您想调用的 API 的同意。在为 credentials\$1provider 选项指定 BrowserAzureOAuth2CredentialsProvider 时，您可以指定此参数。

此参数是 BrowserAzureOAuth2CredentialsProvider 插件必需的。

## secret\$1access\$1key\$1id
<a name="python-secret-access-key-id-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

为 IAM 数据库身份验证配置的 IAM 角色或用户的秘密访问密钥。

此参数为可选的。

## session\$1token
<a name="python-session-token-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

为 IAM 数据库身份验证配置的 IAM 角色或用户的访问密钥 ID。如果使用临时 AWS 凭证，则需要此参数。

此参数为可选的。

## serverless\$1acct\$1id
<a name="python-serverless-acct-id-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

Amazon Redshift Serverless 账户 ID。

此参数为可选的。

## serverless\$1work\$1group
<a name="python-serverless-work-group-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

Amazon Redshift Serverless 工作组名称。

此参数为可选的。

## ssl
<a name="python-ssl-option"></a>
+ **默认值** – True
+ **数据类型** – Boolean

已启用安全套接字层（SSL） 

此参数为必需参数。

## ssl\$1insecure
<a name="python-ssl-insecure-option"></a>
+ **默认值** – False
+ **数据类型** – Boolean

指定是否禁用 IdP 主机的服务器 SSL 证书验证的值。将此参数设置为 True，将禁用对 IdP 主机的服务器 SSL 证书的验证。我们建议您在生产环境中保持默认值 False。

此参数为可选的。

## sslmode
<a name="python-sslmode-option"></a>
+ **默认值** – verify-ca
+ **数据类型** – 字符串

与 Amazon Redshift 的连接的安全性。您可以指定以下任一值：
+ verify-ca
+ verify-full

此参数为必需参数。

## tcp\$1keepalive
<a name="python-tcp_keepalive-option"></a>
+ **默认值** – True
+ **数据类型** – Boolean

是否使用 TCP keepalive 来防止连接超时。可以指定以下值：
+ True：驱动程序将使用 TCP keepalive 来防止连接超时。
+ False：驱动程序不使用 TCP Keepalive。

此参数为可选的。

## tcp\$1keepalive\$1count
<a name="python-tcp_keepalive_count-option"></a>
+ **默认值** – 无
+ **数据类型** – 整数

所发送的未确认探测器的数量，超过此数量后将连接视为不活动。例如，将该值设置为 3 意味着，驱动程序在发送了 3 个未回应的 keepalive 数据包之后，就会确定连接不再处于活动状态。

如果未指定此参数，Amazon Redshift 将使用系统默认值。

此参数为可选的。

## tcp\$1keepalive\$1interval
<a name="python-tcp_keepalive_interval-option"></a>
+ **默认值** – 无
+ **数据类型** – 整数

驱动程序在未收到上一个探测器的确认时，发送后续 keepalive 探测器时的间隔（以秒为单位）。指定此参数时，必须使用正整数。

如果未指定此参数，Amazon Redshift 将使用系统默认值。

此参数为可选的。

## tcp\$1keepalive\$1idle
<a name="python-tcp_keepalive_idle-option"></a>
+ **默认值** – 无
+ **数据类型** – 整数

不活动的持续时间（以秒为单位），驱动程序将在此时间之后发送第一个 keepalive 探测器。例如，将该值设置为 120 意味着，对于不活动状态，驱动程序将会等待 2 分钟，然后发送第一个 keepalive 数据包。指定此参数时，必须使用正整数。

如果未指定此参数，Amazon Redshift 将使用系统默认值。

此参数为可选的。

## timeout
<a name="python-timeout-option"></a>
+ **默认值** – 无
+ **数据类型** – 整数

连接服务器时发生超时前等待的秒数。

此参数为可选的。

## 令牌
<a name="python-token-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

AWS IAM Identity Center 提供的访问令牌，或 OpenID Connect（OIDC）JSON Web 令牌（JWT，JSON Web Token），该令牌由与 AWS IAM Identity Center 关联的 Web 身份提供者提供。您的应用程序必须通过 AWS IAM Identity Center 或与 AWS IAM Identity Center 关联的身份提供者，对您的应用程序用户进行身份验证，从而生成此令牌。

此参数可用于 `IdpTokenAuthPlugin`。

## token\$1type
<a name="python-token_type-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

`IdpTokenAuthPlugin` 中使用的令牌类型。

可以指定以下值：

**ACCESS\$1TOKEN**  
如果您使用 AWS IAM Identity Center 提供的访问令牌，请输入此项。

**EXT\$1JWT**  
如果您使用 OpenID Connect（OIDC）JSON Web 令牌（JWT）（该令牌由与 AWS IAM Identity Center 集成的基于 Web 的身份提供者提供），请输入此项。

此参数可用于 `IdpTokenAuthPlugin`。

## 用户
<a name="python-user-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

用于身份验证的用户名。

此参数为可选的。

## web\$1identity\$1token
<a name="python-web-identity-token-option"></a>
+ **默认值** – 无
+ **数据类型** – 字符串

身份提供者提供的 OAuth 2.0 访问令牌或 OpenID Connect ID 令牌。通过使用 Web 身份提供者对使用您的应用程序的用户进行身份验证，确保您的应用程序获取此令牌。`JwtCredentialsProvider` 指示的提供商使用此参数。

对于 `JwtCredentialsProvider` 提供商，此参数为必填项。否则，此参数位可选项。