從 2025 年 11 月 1 日起,Amazon Redshift 將不再支援建立新的 Python UDFs。如果您想要使用 Python UDFs,請在該日期之前建立 UDFs。現有的 Python UDFs將繼續如常運作。如需詳細資訊,請參閱部落格文章
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
ODBC 驅動程式選項
您可以使用驅動程式組態選項來控制 Amazon Redshift ODBC 驅動程式的行為。驅動程式選項不區分大小寫。
在 Microsoft Windows 中,您通常於設定資料來源名稱 (DSN) 時設定驅動程式選項。您也可以在連接時以程式設計方式在連線字串中設定驅動程式選項,或在 HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\
中新增或變更登錄機碼。your_DSN
在 Linux 中,您可以在 odbc.ini
和 amazon.redshiftodbc.ini
檔案中設定驅動程式組態選項。在 amazon.redshiftodbc.ini
檔案中設定的組態選項會套用至所有連線。相反地,odbc.ini
檔案中設定的組態選項是針對某個連線。odbc.ini
中設定的組態選項優先於 amazon.redshiftodbc.ini
中設定的組態選項。
以下是您可以為 Amazon Redshift ODBC 2.x 版驅動程式指定之選項的描述。
AccessKeyID
-
預設值 — 無
-
資料類型 — 字串
使用者或角色的 IAM 存取金鑰。如果設定此參數,則也必須指定 SecretAccessKey。
此為選用參數。
app_id
-
預設值 — 無
-
資料類型 — 字串
與您的 Amazon Redshift 應用程式相關聯、Okta 所提供的唯一 ID。
此為選用參數。
app_name
-
預設值 — 無
-
資料類型 — 字串
您用來驗證與 Amazon Redshift 之連線的 Okta 應用程式名稱。
此為選用參數。
AuthProfile
-
預設值 — 無
-
資料類型 — 字串
用來管理連線設定的身分驗證設定檔。如果設定此參數,則也必須指定 AccessKeyID 和 SecretAccessKey。
此為選用參數。
AuthType
-
預設值 — 標準
-
資料類型 — 字串
此選項指定當您使用 [Amazon Redshift ODBC 驅動程式 DSN 設定] 對話方塊設定 DSN 時,驅動程式會使用的身分驗證模式:
-
標準:使用 Amazon Redshift 使用者名稱和密碼的標準身分驗證。
-
AWS 設定檔:使用設定檔進行 IAM 身分驗證。
-
AWS IAM 登入資料:使用 IAM 登入資料進行 IAM 身分驗證。
-
身分提供者:AD FS:使用 Active Directory Federation Services (AD FS) 進行 IAM 身分驗證。
-
Identity Provider:Auth Plugin:一種授權外掛程式,可接受來自連結至 AWS IAM Identity Center 之任何 Web Identity Provider 的 IAM Identity Center 字符或 OpenID Connect (OIDC) JSON 型身分字符 AWS (JWT)。
-
身分提供者:Azure AD:使用 Azure AD 入口網站進行 IAM 身分驗證。
-
身分提供者:JWT:使用 JSON Web 權杖 (JWT) 進行 IAM 身分驗證。
-
身分提供者:Okta:使用 Okta 進行 IAM 身分驗證。
-
身分提供者:PingFederate:使用 PingFederate 進行 IAM 身分驗證。
只有當您使用 Windows 驅動程式中的 [Amazon Redshift ODBC 驅動程式 DSN 設定] 對話方塊設定 DSN 時,才能使用此選項。當您使用連線字串或非 Windows 機器設定連線時,驅動程式會根據您指定的登入資料,自動判斷要使用標準、 AWS 設定檔或 AWS IAM 登入資料身分驗證。若要使用身分提供者,您必須設定 plugin_name 屬性。
此為必要參數。
AutoCreate
-
預設值 — 0
-
資料類型 — 布林值
指定當所指定的使用者不存在時,驅動程式是否會建立新使用者的布林值。
-
1 | TRUE:如果透過 UID 指定的使用者不存在,驅動程式會建立新使用者。
-
0 | FALSE:驅動程式不會建立新使用者。如果指定的使用者不存在,則身分驗證會失敗。
此為選用參數。
CaFile
-
預設值 — 無
-
資料類型 — 字串
用於某些 IAM 身分驗證形式之 CA 憑證檔案的檔案路徑。
這個參數只能在 Linux 上使用。
此為選用參數。
client_id
-
預設值 — 無
-
資料類型 — 字串
與 Azure AD 中 Amazon Redshift 應用程式相關聯的用戶端 ID。
如果透過 Azure AD 服務進行驗證,則需要此參數。
client_ secret
-
預設值 — 無
-
資料類型 — 字串
與 Azure AD 中 Amazon Redshift 應用程式相關聯的私密金鑰。
如果透過 Azure AD 服務進行驗證,則需要此參數。
ClusterId
-
預設值 — 無
-
資料類型 — 字串
您想要連線到之 Amazon Redshift 叢集的名稱。其會用於 IAM 身分驗證。伺服器參數中不會指定叢集 ID。
此為選用參數。
compression
-
預設值 – 關閉
-
資料類型 — 字串
用於 Amazon Redshift 伺服器與用戶端或驅動程式之間的有線通訊協定通訊的壓縮方法。
您可以指定下列值:
-
lz4:將用於與 Amazon Redshift 進行線路通訊協定通訊的壓縮方法設定為
lz4
。 -
zstd:將用於與 Amazon Redshift 進行線路通訊協定通訊的壓縮方法設定為
zstd
。 -
關閉:不對與 Amazon Redshift 的線路通訊協定通訊使用壓縮。
此為選用參數。
資料庫
-
預設值 — 無
-
資料類型 — 字串
您想要存取之 Amazon Redshift 資料庫的名稱。
此為必要參數。
DatabaseMetadataCurrentDbOnly
-
預設值 — 1
-
資料類型 — 布林值
指定驅動程式是否會從多個資料庫和叢集傳回中繼資料的布林值。
-
1 | TRUE:驅動程式只會從目前的資料庫傳回中繼資料。
-
0 | FALSE。驅動程式會傳回多個 Amazon Redshift 資料庫和叢集的中繼資料。
此為選用參數。
dbgroups_filter
-
預設值 — 無
-
資料類型 — 字串
當您使用 Azure、瀏覽器 Azure 和瀏覽器 SAML 身分驗證類型時,可指定來篩選出從 Amazon Redshift 的 SAML 回應收到之 DbGroups 的規則運算式。
此為選用參數。
驅動程式
-
預設值 — Amazon Redshift ODBC 驅動程式 (x64)
-
資料類型 — 字串
驅動程式的名稱。唯一支援的值是 Amazon Redshift ODBC 驅動程式 (x64)。
如果您未設定 DSN,則需要此參數。
DSN
-
預設值 — 無
-
資料類型 — 字串
驅動程式資料來源名稱的名稱。應用程式會在 SQLDriverConnect API 中指定 DSN。
如果您未設定驅動程式,則需要此參數。
EndpointUrl
-
預設值 — 無
-
資料類型 — 字串
用來與 Amazon Redshift Coral Service 通訊以進行 IAM 身分驗證的覆寫端點。
此為選用參數。
ForceLowercase
-
預設值 — 0
-
資料類型 — 布林值
指定在使用單一登入身分驗證時,驅動程式是否會將從身分提供者傳送至 Amazon Redshift 的所有 DbGroups 轉換為小寫的布林值。
-
1 | TRUE:驅動程式會將從身分提供者傳送的所有 DbGroups 轉換為小寫。
-
0 | FALSE:驅動程式不會改變 DbGroups。
此為選用參數。
group_federation
-
預設值 — 0
-
資料類型 — 布林值
指定 getClusterCredentialsWithIAM
API 是否用於在佈建叢集中取得臨時叢集登入資料的布林值。此選項可讓 IAM 使用者與佈建叢集中的 Redshift 資料庫角色整合。請注意,此選項不適用於 Redshift Serverless 命名空間。
-
1 | TRUE:驅動程式使用
getClusterCredentialsWithIAM
API 在佈建的叢集中取得臨時叢集登入資料。 -
0 | FALSE:驅動程式使用預設
getClusterCredentials
API 在佈建的叢集中取得臨時叢集登入資料。
此為選用參數。
https_proxy_host
-
預設值 — 無
-
資料類型 — 字串
您想要透過其通過 IAM 身分驗證程序之代理伺服器的主機名稱或 IP 地址。
此為選用參數。
https_proxy_password
-
預設值 — 無
-
資料類型 — 字串
您用來存取代理伺服器的密碼。其會用於 IAM 身分驗證。
此為選用參數。
https_proxy_port
-
預設值 — 無
-
資料類型 — 整數
代理伺服器用來接聽用戶端連線的連接埠號碼。其會用於 IAM 身分驗證。
此為選用參數。
https_proxy_username
-
預設值 — 無
-
資料類型 — 字串
您用來存取代理伺服器的使用者名稱。其會用於 IAM 身分驗證。
此為選用參數。
IAM
-
預設值 — 0
-
資料類型 — 布林值
指定驅動程式是否會使用 IAM 身分驗證方法來驗證連線的布林值。
-
1 | TRUE:驅動程式會使用其中一種 IAM 身分驗證方法 (使用存取金鑰和私密金鑰組、或設定檔或憑證服務)。
-
0 | FALSE。驅動程式會使用標準身分驗證 (使用資料庫使用者名稱和密碼)。
此為選用參數。
idc_client_display_name
-
預設值 – Amazon Redshift ODBC 驅動程式
-
資料類型 — 字串
用於使用 BrowserIdcAuthPlugin 之用戶端的顯示名稱。
此為選用參數。
idc_region
-
預設值 — 無
-
資料類型 — 字串
IAM Identity Center AWS 執行個體所在的 AWS 區域。
只有在 plugin_name 組態選項BrowserIdcAuthPlugin
中使用 驗證時,才需要此參數。
idp_host
-
預設值 — 無
-
資料類型 — 字串
您用來對 Amazon Redshift 進行身分驗證的 IdP (身分提供者) 主機。
此為選用參數。
idp_partition
-
預設值 — 無
-
資料類型 — 字串
Idp (身分提供者) 所設定的分割區。分割區是 的群組 AWS 區域。如需分割區的詳細資訊,請參閱 中的分割區AWS 詞彙表。
如果此參數保留空白,Amazon Redshift 會預設為 AWS 標準分割區,其中包含所有商業分割區 AWS 區域。可能的值如下:
us-gov
‐ IdP 是在 中設定 AWS GovCloud (US) Regions。cn
‐ IdP 已在中國區域設定。
此為選用參數。
idp_port
-
預設值 — 無
-
資料類型 — 整數
您用來對 Amazon Redshift 進行身分驗證的 IdP (身分提供者) 連接埠。根據您在建立、修改或遷移叢集時所選取的連接埠而定,允許存取選取的連接埠。
此為選用參數。
idp_response_timeout
-
預設值 — 120
-
資料類型 — 整數
透過瀏覽器外掛程式使用 SAML 或 Azure AD 服務時,驅動程式等待身分提供者所傳 SAML 回應的秒數。
此為選用參數。
idp_tenant
-
預設值 — 無
-
資料類型 — 字串
與 Amazon Redshift 應用程式相關聯的 Azure AD 租用戶 ID。
如果透過 Azure AD 服務進行驗證,則需要此參數。
idp_use_https_proxy
-
預設值 — 0
-
資料類型 — 布林值
指定驅動程式是否會透過代理伺服器來通過身分提供者 (IdP) 身分驗證程序的布林值。
-
1 | TRUE:驅動程式會透過代理伺服器來通過 IdP 身分驗證程序。
-
0 | FALSE。驅動程式不會透過代理伺服器來通過 IdP 身分驗證程序。
此為選用參數。
InstanceProfile
-
預設值 — 0
-
資料類型 — 布林值
指定驅動程式在設定為使用設定檔進行身分驗證時,是否會使用 Amazon EC2 執行個體設定檔的布林值。
-
1 | TRUE:驅動程式會使用 Amazon EC2 執行個體設定檔。
-
0 | FALSE。驅動程式會改用 [設定檔名稱] 選項 (設定檔) 所指定的鏈結角色設定檔。
此為選用參數。
發行者_url
-
預設值 — 無
-
資料類型 — 字串
指向 AWS IAM Identity Center 伺服器的執行個體端點。
只有在 plugin_name 組態選項BrowserIdcAuthPlugin
中使用 驗證時,才需要此參數。
KeepAlive
-
預設值 — 1
-
資料類型 — 布林值
指定驅動程式是否會使用 TCP 保持連線來防止連線逾時的布林值。
-
1 | TRUE:驅動程式會使用 TCP 保持連線來防止連線逾時。
-
0 | FALSE。驅動程式不會使用 TCP 保持連線。
此為選用參數。
KeepAliveCount
-
預設值 — 0
-
資料類型 — 整數
在認為連線已中斷之前可遺失的 TCP 保持連線封包數。此參數設為 0 時,驅動程式會使用此設定的系統預設值。
此為選用參數。
KeepAliveInterval
-
預設值 — 0
-
資料類型 — 整數
每一次 TCP 保持連線重新傳輸之間的秒數。此參數設為 0 時,驅動程式會使用此設定的系統預設值。
此為選用參數。
KeepAliveTime
-
預設值 — 0
-
資料類型 — 整數
驅動程式傳送 TCP 保持連線封包之前的閒置秒數。此參數設為 0 時,驅動程式會使用此設定的系統預設值。
此為選用參數。
listen_port
-
預設值 — 7890
-
資料類型 — 整數
透過瀏覽器外掛程式使用 SAML、Azure AD 或 IAM Identity Center AWS 服務時,驅動程式用來從身分提供者或授權碼接收 SAML 回應的連接埠。
此為選用參數。
login_url
-
預設值 — 無
-
資料類型 — 字串
使用一般瀏覽器 SAML 外掛程式時,身分提供者網站上資源的 URL。
如果透過瀏覽器外掛程式向 SAML 或 Azure AD 服務進行驗證,則需要此參數。
loginToRp
-
預設值 — urn:amazon:webservices
-
資料類型 — 字串
您要用於 AD FS 身分驗證類型的依賴方信任。
此為選用字串。
LogLevel
-
預設值 — 0
-
資料類型 — 整數
使用此屬性可在驅動程式中啟用或停用日誌記錄,以及指定日誌檔案中包含的詳細資訊數量。日誌記錄建議只啟用到足以擷取到問題就好,因為日誌記錄會降低效能,而且可能會耗用大量磁碟空間。
將此屬性設為以下其中一個值:
-
0:OFF。停用所有日誌記錄功能。
-
1:ERROR。記錄可能允許驅動程式繼續執行但會產生錯誤的錯誤事件。
-
2:API_CALL。記錄 ODBC API 函數呼叫與函數引數值。
-
3:INFO。記錄用於描述驅動程式進展的一般資訊。
-
4:MSG_PROTOCOL。記錄驅動程式的訊息通訊協定詳細資訊。
-
5:DEBUG。記錄所有驅動程式活動。
-
6:DEBUG_APPEND。持續附加所有驅動程式活動的日誌。
在啟用日誌記錄功能時,驅動程式會在您於 LogPath 屬性中指定的位置產生下列日誌檔案:
-
記錄在連線交握期間發生之驅動程式活動的
redshift_odbc.log.1
檔案。 -
在與資料庫建立連線後所有驅動程式活動的
redshift_odbc.log
檔案。
此為選用參數。
LogPath
-
預設值 — 作業系統特定的 TEMP 目錄
-
資料類型 — 字串
LogLevel 大於 0 時,驅動程式用來儲存日誌檔案之資料夾的完整路徑。
此為選用參數。
Min_TLS
-
預設值 – 1.2
-
資料類型 — 字串
驅動程式允許資料存放區用於加密連線的 TLS/SSL 最低版本。例如,如果指定 TLS 1.2,則無法使用 TLS 1.1 來加密連線。
Min_TLS 接受以下值:
-
1.0:連線必須至少使用 TLS 1.0。
-
1.1:連線必須至少使用 TLS 1.1。
-
1.2:連線至少必須使用 TLS 1.2。
此為選用參數。
partner_spid
-
預設值 — 無
-
資料類型 — 字串
使用 PingFederate 服務驗證連線時,要使用的合作夥伴 SPID (服務提供者 ID) 值。
此為選用參數。
Password | PWS
-
預設值 — 無
-
資料類型 — 字串
與您在 [使用者] 欄位 (UID | User | LogonID) 中所提供資料庫使用者名稱對應的密碼。
此為選用參數。
plugin_name
-
預設值 — 無
-
資料類型 — 字串
您想要用於身分驗證的憑證提供者外掛程式名稱。
支援下列值:
-
ADFS
:使用 Active Directory Federation Services 進行身分驗證。 -
AzureAD
:使用 Microsoft Azure Active Directory (AD) Service 進行身分驗證。 -
BrowserAzureAD
:使用 Microsoft Azure Active Directory (AD) Service 的瀏覽器外掛程式進行身分驗證。 -
BrowserIdcAuthPlugin
:使用 AWS IAM Identity Center 的授權外掛程式。 -
BrowserSAML
:使用 SAML 服務 (例如 Okta 或 Ping) 的瀏覽器外掛程式進行身分驗證。 -
IdpTokenAuthPlugin
:從任何連結至 AWS IAM Identity Center 的 Web 身分提供者接受 IAM Identity Center 字符或 OpenID Connect (OIDC) JSON 型身分字符 (JWT) AWS 的授權外掛程式。 -
JWT
:使用 JSON Web 權杖 (JWT) 進行身分驗證。 -
Ping
:使用 PingFederate 服務進行身分驗證。 -
Okta
:使用 Okta 服務進行身分驗證。
此為選用參數。
Port | PortNumber
-
預設值 — 5439
-
資料類型 — 整數
Amazon Redshift 伺服器用來接聽用戶端連線的 TCP 連接埠號碼。
此為選用參數。
preferred_role
-
預設值 — 無
-
資料類型 — 字串
您要在連線到 Amazon Redshift 期間擔任的角色。其會用於 IAM 身分驗證。
此為選用參數。
設定檔
-
預設值 — 無
-
資料類型 — 字串
用於向 Amazon Redshift 驗證的使用者 AWS 設定檔名稱。
-
如果 Use Instance Profile 參數 (InstanceProfile 屬性) 設為 1 | TRUE,則該設定會優先,而且驅動程式會改用 Amazon EC2 執行個體設定檔。
-
包含設定檔之憑證檔案的預設位置為
~/.aws/Credentials
。可使用AWS_SHARED_CREDENTIALS_FILE
環境變數以指向不同的憑證檔案。
此為選用參數。
provider_name
-
預設值 — 無
-
資料類型 — 字串
使用者使用 CREATE IDENTITY PROVIDER 查詢所建立的身分驗證提供者。其會用於原生 Amazon Redshift 身分驗證。
此為選用參數。
ProxyHost
-
預設值 — 無
-
資料類型 — 字串
您想要透過其進行連線之代理伺服器的主機名稱或 IP 地址。
此為選用參數。
ProxyPort
-
預設值 — 無
-
資料類型 — 整數
代理伺服器用來接聽用戶端連線的連接埠號碼。
此為選用參數。
ProxyPwd
-
預設值 — 無
-
資料類型 — 字串
您用來存取代理伺服器的密碼。
此為選用參數。
ProxyUid
-
預設值 — 無
-
資料類型 — 字串
您用來存取代理伺服器的使用者名稱。
此為選用參數。
ReadOnly
-
預設值 — 0
-
資料類型 — 布林值
指定驅動程式是否處於唯讀模式的布林值。
-
1 | TRUE:連線處於唯讀模式,無法寫入到資料存放區。
-
0 | FALSE:連接不處於唯讀模式,可以寫入到資料存放區。
此為選用參數。
region
-
預設值 — 無
-
資料類型 — 字串
叢集所在的 AWS 區域。
此為選用參數。
SecretAccessKey
-
預設值 — 無
-
資料類型 — 字串
使用者或角色的 IAM 私密金鑰。如果設定此參數,則也必須指定 AccessKeyID。
此為選用參數。
SessionToken
-
預設值 — 無
-
資料類型 — 字串
與您用來驗證的 IAM 角色相關聯的臨時 IAM 工作階段權杖。
此為選用參數。
Server | HostName | Host
-
預設值 — 無
-
資料類型 — 字串
要連線到的端點伺服器。
此為必要參數。
ssl_insecure
-
預設值 — 0
-
資料類型 — 布林值
指定驅動程式是否會檢查 IdP 伺服器憑證真確性的布林值。
-
1 | TRUE:驅動程式不會檢查 IdP 伺服器憑證的真確性。
-
0 | FALSE:驅動程式會檢查 IdP 伺服器憑證的真確性。
此為選用參數。
SSLMode
-
預設值 —
verify-ca
-
資料類型 — 字串
連線到 Amazon Redshift 時要使用的 SSL 憑證驗證模式。可能的值如下:
-
verify-full
:僅使用 SSL、受信任的憑證授權機構和符合憑證的伺服器名稱進行連線。 -
verify-ca
:僅使用 SSL 和受信任的憑證授權機構進行連線。 -
require
:僅使用 SSL 進行連線。 -
prefer
:使用 SSL (如果可用) 進行連線。否則,以不使用 SSL 的方式進行連線。 -
allow
:預設會以不使用 SSL 的方式進行連線。如果伺服器需要 SSL 連線,則使用 SSL。 -
disable
:以不使用 SSL 的方式進行連線。
此為選用參數。
StsConnectionTimeout
-
預設值 — 0
-
資料類型 — 整數
IAM 連線的等待時間上限 (以秒為單位)。如果設定為 0 或未指定,驅動程式會等待每次 AWS STS 呼叫 60 秒。
此為選用參數。
StsEndpointUrl
-
預設值 — 無
-
資料類型 — 字串
此選項會指定用來與 AWS Security Token Service (AWS STS) 進行通訊的覆寫端點。
此為選用參數。
token
-
預設值 — 無
-
資料類型 — 字串
IAM Identity Center AWS 提供的存取字符或由與 IAM Identity Center 連結的 Web 身分提供者提供的 OpenID Connect (OIDC) JSON Web Token AWS (JWT)。您的應用程式必須使用 IAM Identity Center 或與 IAM AWS Identity Center AWS 連結的身分提供者來驗證應用程式的使用者,以產生此字符。
此參數適用於 IdpTokenAuthPlugin
。
token_type
-
預設值 — 無
-
資料類型 — 字串
在 中使用的字符類型IdpTokenAuthPlugin
。
您可以指定下列值:
- ACCESS_TOKEN
-
如果您使用 AWS IAM Identity Center 提供的存取權杖,請輸入此選項。
- EXT_JWT
-
如果您使用與 AWS IAM Identity Center 整合的 Web 型身分提供者提供的 OpenID Connect (OIDC) JSON Web Token (JWT),請輸入此選項。
此參數適用於 IdpTokenAuthPlugin
。
UID | User | LogonID
-
預設值 — 無
-
資料類型 — 字串
您用來存取 Amazon Redshift 伺服器的使用者名稱。
若您使用資料庫身分驗證,則此為必要參數。
web_identity_token
-
預設值 — 無
-
資料類型 — 字串
身分提供者所提供的 OAUTH 權杖。其會用於 JWT 外掛程式。
如果您將 plugin_name 參數設定為 BasicJwtCredentialsProvider,則此為必要參數。