

如需與 Amazon Timestream for LiveAnalytics 類似的功能，請考慮使用 Amazon Timestream for InfluxDB。它提供簡化的資料擷取和單一位數毫秒查詢回應時間，以進行即時分析。[在這裡](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)進一步了解。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# ODBC
<a name="ODBC"></a>

Amazon Timestream for LiveAnalytics 的開放原始碼 [ODBC 驅動程式](https://github.com/awslabs/amazon-timestream-odbc-driver/tree/main)為開發人員的 Timestream for LiveAnalytics 提供 SQL 相關界面，並啟用 Power BI Desktop 和 Microsoft Excel 等商業智慧 (BI) 工具的連線。Timestream for LiveAnalytics ODBC 驅動程式目前可在 [Windows、macOS 和 Linux ](https://github.com/awslabs/amazon-timestream-odbc-driver/releases)上使用，也支援 SSO 搭配 Okta 和 Microsoft Azure Active Directory (AD)。

如需詳細資訊，請參閱 [ GitHub 上的 Amazon Timestream for LiveAnalytics ODBC 驅動程式文件](https://github.com/awslabs/amazon-timestream-odbc-driver/blob/main/docs/markdown/index.md)。

**Topics**
+ [設定 Timestream for LiveAnalytics ODBC 驅動程式](ODBC-setup.md)
+ [ODBC 驅動程式的連線字串語法和選項](ODBC-connecting.md)
+ [Timestream for LiveAnalytics ODBC 驅動程式的連線字串範例](ODBC-connecting-examples.md)
+ [對與 ODBC 驅動程式的連線進行故障診斷](ODBC-connecting-troubleshooting.md)

# 設定 Timestream for LiveAnalytics ODBC 驅動程式
<a name="ODBC-setup"></a>

## 設定您 AWS 帳戶中 Timestream for LiveAnalytics 的存取權
<a name="ODBC-setup-access"></a>

如果您尚未設定 AWS 帳戶來使用 Timestream for LiveAnalytics，請遵循 中的初始化[存取 LiveAnalytics 的 Timestream](accessing.md)。

## 在您的系統上安裝 ODBC 驅動程式
<a name="ODBC-setup-download"></a>

從 ODBC [ GitHub 儲存庫](https://github.com/awslabs/amazon-timestream-odbc-driver/releases)下載適用於您系統的 Timestream ODBC 驅動程式安裝程式，並遵循適用於您系統的安裝說明：
+ [Windows 安裝指南](https://github.com/awslabs/amazon-timestream-odbc-driver/blob/main/docs/markdown/setup/windows-installation-guide.md)
+ [MacOS 安裝指南](https://github.com/awslabs/amazon-timestream-odbc-driver/blob/main/docs/markdown/setup/macOS-installation-guide.md)
+ [Linux 安裝指南](https://github.com/awslabs/amazon-timestream-odbc-driver/blob/main/docs/markdown/setup/linux-installation-guide.md)

## 設定 ODBC 驅動程式的資料來源名稱 (DSN)
<a name="ODBC-setup-dsn"></a>

請遵循系統 DSN 組態指南中的指示：
+ [Windows DSN 組態](https://github.com/awslabs/amazon-timestream-odbc-driver/blob/main/docs/markdown/setup/windows-dsn-configuration.md)
+ [MacOS DSN 組態](https://github.com/awslabs/amazon-timestream-odbc-driver/blob/main/docs/markdown/setup/macOS-dsn-configuration.md)
+ [Linux DSN 組態](https://github.com/awslabs/amazon-timestream-odbc-driver/blob/main/docs/markdown/setup/linux-dsn-configuration.md)

## 設定您的商業智慧 (BI) 應用程式以使用 ODBC 驅動程式
<a name="ODBC-setup-bi-apps"></a>

以下是設定數個常用 BI 應用程式以搭配 ODBC 驅動程式使用的指示：
+ [設定 Microsoft Power BI。](https://github.com/awslabs/amazon-timestream-odbc-driver/blob/main/docs/markdown/setup/microsoft-power-bi.md)
+ [設定 Microsoft Excel](https://github.com/awslabs/amazon-timestream-odbc-driver/blob/main/docs/markdown/setup/microsoft-excel.md)
+ [設定 Tableau](https://github.com/awslabs/amazon-timestream-odbc-driver/blob/main/docs/markdown/setup/tableau.md)

對於其他應用程式

# ODBC 驅動程式的連線字串語法和選項
<a name="ODBC-connecting"></a>

指定 ODBC 驅動程式連線字串選項的語法如下：

```
DRIVER={Amazon Timestream ODBC Driver};(option)=(value);
```

可用選項如下：

**驅動程式連線選項**
+ **`Driver`**   *（必要）*   –   與 ODBC 搭配使用的驅動程式。

  預設值為 Amazon Timestream。
+ **`DSN`**   –   用於設定連線的資料來源名稱 (DSN)。

  預設值為 `NONE`。
+ **`Auth`**   –   身分驗證模式。這必須是下列其中一項：
  + `AWS_PROFILE` – 使用預設登入資料鏈。
  + `IAM` – 使用 AWS IAM 登入資料。
  + `AAD` – 使用 Azure Active Directory (AD) 身分提供者。
  + `OKTA` – 使用 Okta 身分提供者。

  預設值為 `AWS_PROFILE`。

**端點組態選項**
+ **`EndpointOverride`**   – Timestream for LiveAnalytics 服務的 端點覆寫。這是覆寫區域的進階選項。例如：

  ```
  query-cell2.timestream.us-east-1.amazonaws.com
  ```
+ **`Region`**   – Timestream for LiveAnalytics   服務端點的簽署區域。

  預設值為 `us-east-1`。

**登入資料提供者選項**
+ **`ProfileName`**   –   AWS 組態檔案中的設定檔名稱。

  預設值為 `NONE`。

**AWS IAM 身分驗證選項**
+ **`UID`** 或 **`AccessKeyId`**   –   AWS 使用者存取金鑰 ID。如果連線字串中同時提供 `AccessKeyId` `UID`和 ，除非值為空白，否則將使用 `UID`值。

  預設值為 `NONE`。
+ **`PWD`** 或 **`SecretKey`**   – AWS   使用者私密存取金鑰。如果連線字串中同時提供 `SecretKey` `PWD`和 ，除非值為空白，否則將使用 搭配 `PWD`的值。

  預設值為 `NONE`。
+ **`SessionToken`**   –   存取已啟用多重要素驗證 (MFA) 的資料庫所需的臨時工作階段字符。請勿在輸入` = `中包含結尾。

  預設值為 `NONE`。

**Okta 的 SAML 型身分驗證選項**
+ **`IdPHost`**   –   指定 IdP 的主機名稱。

  預設值為 `NONE`。
+ **`UID`** 或 **`IdPUserName`**   –   指定 IdP 帳戶的使用者名稱。如果連線字串中同時提供 `IdPUserName` `UID`和 ，則除非值為空白，否則將使用 `UID`值。

  預設值為 `NONE`。
+ **`PWD`** 或 **`IdPPassword`**   –   指定 IdP 帳戶的密碼。如果連線字串中同時提供 `IdPPassword` `PWD`和 ，除非值為空白，否則將使用 `PWD`值。

  預設值為 `NONE`。
+ **`OktaApplicationID`**   –   與 Timestream for LiveAnalytics 應用程式相關聯的唯一 Okta 提供的 ID。尋找應用程式 ID (AppId) 的位置位於應用程式中繼資料中提供的`entityID`欄位中。範例為：

  ```
  entityID="http://www.okta.com//(IdPAppID)
  ```

  預設值為 `NONE`。
+ **`RoleARN`**   –   發起人所擔任角色的 Amazon Resource Name (ARN)。

  預設值為 `NONE`。
+ **`IdPARN`**   –   IAM 中描述 IdP 之 SAML 提供者的 Amazon Resource Name (ARN)。

  預設值為 `NONE`。

**Azure Active Directory 的 SAML 型身分驗證選項**
+ **`UID`** 或 **`IdPUserName`**   –   指定 IdP 帳戶的使用者名稱。

  預設值為 `NONE`。
+ **`PWD`** 或 **`IdPPassword`**   –   指定 IdP 帳戶的密碼。

  預設值為 `NONE`。
+ **`AADApplicationID`**   – Azure AD   上已註冊應用程式的唯一 ID。

  預設值為 `NONE`。
+ **`AADClientSecret`**   –   與 Azure AD 上已註冊應用程式相關聯的用戶端秘密，用於授權擷取字符。

  預設值為 `NONE`。
+ **`AADTenant`**   –   Azure AD 租用戶 ID。

  預設值為 `NONE`。
+ **`RoleARN`**   –   發起人所擔任角色的 Amazon Resource Name (ARN)。

  預設值為 `NONE`。
+ **`IdPARN`**   –   IAM 中描述 IdP 之 SAML 提供者的 Amazon Resource Name (ARN)。

  預設值為 `NONE`。

**AWS SDK （進階） 選項**
+ **`RequestTimeout`**   –   SDK 在逾時之前 AWS 等待查詢請求的時間，以毫秒為單位。任何非正值都會停用請求逾時。

  預設值為 `3000`。
+ **`ConnectionTimeout`**   –   SDK 在逾時之前 AWS 等待透過開放連線傳輸資料的時間，以毫秒為單位。值為 0 會停用連線逾時。此值不得為負。

  預設值為 `1000`。
+ **`MaxRetryCountClient`**   –   SDK 中具有 5xx 錯誤代碼的可重試錯誤重試嘗試次數上限。值不得為負。

  預設值為 `0`。
+ **`MaxConnections`**   –   與 Timestream 服務同時開啟 HTTP 連線的允許數目上限。值必須為正值。

  預設值為 `25`。

**ODBC 驅動程式記錄選項**
+ **`LogLevel`**   –   驅動程式記錄的日誌層級。必須是下列其中一個：
  + **0**  (OFF)。
  + **1**  (ERROR)。
  + **2**  （警告）。
  + **3**  (INFO)。
  + **4**  (DEBUG)。

  預設值為 `1`(ERROR)。

  **警告：**使用 DEBUG 記錄模式時，驅動程式可以記錄個人資訊。
+ **`LogOutput`**   – 要存放日誌檔案的 資料夾。

  預設值為：
  + **Windows：**`%USERPROFILE%`，如果無法使用，則為 `%HOMEDRIVE%%HOMEPATH%`。
  + **macOS 和 Linux：**`$HOME`，如果無法使用，則為函數`getpwuid(getuid())`傳回值`pw_dir`中的 欄位。

**SDK 記錄選項**

 AWS SDK 日誌層級與 Timestream for LiveAnalytics ODBC 驅動程式日誌層級不同。設定一個不會影響另一個。

使用環境變數 設定 SDK 日誌層級`TS_AWS_LOG_LEVEL`。有效的值如下：
+ `OFF`
+ `ERROR`
+ `WARN`
+ `INFO`
+ `DEBUG`
+ `TRACE`
+ `FATAL`

如果 `TS_AWS_LOG_LEVEL` 未設定，軟體開發套件日誌層級會設定為預設值，即 `WARN`。

## 透過代理連線
<a name="ODBC-connecting-proxy"></a>

ODBC 驅動程式支援透過代理連線至 Amazon Timestream for LiveAnalytics。若要使用此功能，請根據您的代理設定設定下列環境變數：
+ **`TS_PROXY_HOST`**   –   代理主機。
+ **`TS_PROXY_PORT`**   –   代理連接埠號碼。
+ **`TS_PROXY_SCHEME`**   –   代理結構描述， `http`或 `https`。
+ **`TS_PROXY_USER`**   –   代理身分驗證的使用者名稱。
+ **`TS_PROXY_PASSWORD`**   –   代理身分驗證的使用者密碼。
+ **`TS_PROXY_SSL_CERT_PATH`**   –   用於連線至 HTTPS 代理的 SSL 憑證檔案。
+ **`TS_PROXY_SSL_CERT_TYPE`**   –   代理用戶端 SSL 憑證的類型。
+ **`TS_PROXY_SSL_KEY_PATH`**   –   用於連線至 HTTPS 代理的私有金鑰檔案。
+ **`TS_PROXY_SSL_KEY_TYPE`**   –   用來連線至 HTTPS 代理的私有金鑰檔案類型。
+ **`TS_PROXY_SSL_KEY_PASSWORD`**   –   用於連線至 HTTPS 代理的私有金鑰檔案的密碼短語。

# Timestream for LiveAnalytics ODBC 驅動程式的連線字串範例
<a name="ODBC-connecting-examples"></a>

## 使用 IAM 憑證連線至 ODBC 驅動程式的範例
<a name="ODBC-connecting-examples-iam"></a>

```
Driver={Amazon Timestream ODBC Driver};Auth=IAM;AccessKeyId=(your access key ID);secretKey=(your secret key);SessionToken=(your session token);Region=us-east-2;
```

## 使用設定檔連線至 ODBC 驅動程式的範例
<a name="ODBC-connecting-examples-profile"></a>

```
Driver={Amazon Timestream ODBC Driver};ProfileName=(the profile name);region=us-west-2;
```

驅動程式會嘗試使用 中提供的登入資料進行連線`~/.aws/credentials`，或者如果在環境變數 中指定檔案`AWS_SHARED_CREDENTIALS_FILE`，則會使用該檔案中的登入資料進行連線。

## 使用 Okta 連線至 ODBC 驅動程式的範例
<a name="ODBC-connecting-examples-okta"></a>

```
driver={Amazon Timestream ODBC Driver};auth=okta;region=us-west-2;idPHost=(your host at Okta);idPUsername=(your user name);idPPassword=(your password);OktaApplicationID=(your Okta AppId);roleARN=(your role ARN);idPARN=(your Idp ARN);
```

## 使用 Azure Active Directory (AAD) 連線至 ODBC 驅動程式的範例
<a name="ODBC-connecting-examples-aad"></a>

```
driver={Amazon Timestream ODBC Driver};auth=aad;region=us-west-2;idPUsername=(your user name);idPPassword=(your password);aadApplicationID=(your AAD AppId);aadClientSecret=(your AAD client secret);aadTenant=(your AAD tenant);roleARN=(your role ARN);idPARN=(your idP ARN);
```

## 連接至具有指定端點且日誌層級為 2 的 ODBC 驅動程式的範例 （警告）
<a name="ODBC-connecting-examples-okta"></a>

```
Driver={Amazon Timestream ODBC Driver};Auth=IAM;AccessKeyId=(your access key ID);secretKey=(your secret key);EndpointOverride=ingest.timestream.us-west-2.amazonaws.com;Region=us-east-2;LogLevel=2;
```

# 對與 ODBC 驅動程式的連線進行故障診斷
<a name="ODBC-connecting-troubleshooting"></a>

**注意**  
當 DSN 中已指定使用者名稱和密碼時，不需要在 ODBC 驅動程式管理員要求時再次指定使用者名稱和密碼。

當連線字串選項在連線字串中傳遞超過一次時，`Re-writing (connection string option) (have you specified it several times?`會發生`01S02`具有訊息的錯誤代碼 。多次指定選項會導致錯誤。與 DSN 和連線字串建立連線時，如果已在 DSN 中指定連線選項，請勿在連線字串中再次指定。