

Amazon Timestream for LiveAnalytics와 유사한 기능을 원하는 경우 Amazon Timestream for InfluxDB를 고려해 보세요. 간소화된 데이터 수집과 실시간 분석을 위한 10밀리초 미만의 쿼리 응답 시간을 제공합니다. [여기](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)에서 사용할 수 있으며 Okta 및 Microsoft Azure Active Directory(AD)를 통한 SSO도 지원합니다.

자세한 내용은 [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>

Timestream for LiveAnalytics로 작업하도록 AWS 계정을 아직 설정하지 않은 경우의 지침을 따르세요[Timestream for LiveAnalytics에 액세스](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)

## ODBC 드라이버와 연동되도록 비즈니스 인텔리전스(BI) 애플리케이션 설정
<a name="ODBC-setup-bi-apps"></a>

다음은 ODBC 드라이버와 연동되도록 몇 가지 공통 BI 애플리케이션을 설정하는 지침입니다.
+ [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) ID 제공업체를 사용합니다.
  + `OKTA` - Okta ID 제공업체를 사용합니다.

  기본값은 `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입니다. 연결 문자열에 `UID`와 `AccessKeyId`가 모두 제공된 경우 값이 비어 있지 않으면 `UID` 값이 사용됩니다.

  기본값은 `NONE`입니다.
+ **`PWD`** 또는 **`SecretKey`** - <shared id="AWS"/> 사용자 시크릿 액세스 키입니다. 연결 문자열에 `PWD`와 `SecretKey`가 모두 제공된 경우 값이 비어 있지 않으면 `PWD` 값이 사용됩니다.

  기본값은 `NONE`입니다.
+ **`SessionToken`** - 다중 인증(MFA)이 활성화된 데이터베이스에 액세스하는 데 필요한 임시 세션 토큰입니다. 입력에 후행 ` = `를 포함하지 마세요.

  기본값은 `NONE`입니다.

**Okta에 대한 SAML 기반 인증 옵션**
+ **`IdPHost`** - 지정된 IdP의 호스트 이름입니다.

  기본값은 `NONE`입니다.
+ **`UID`** 또는 **`IdPUserName`**- 지정된 IdP 계정의 사용자 이름입니다. 연결 문자열에 `UID`와 `IdPUserName`가 모두 제공된 경우 값이 비어 있지 않으면 `UID` 값이 사용됩니다.

  기본값은 `NONE`입니다.
+ **`PWD`** 또는 **`IdPPassword`** - 지정된 IdP 계정의 암호입니다. 연결 문자열에 `PWD`와 `IdPPassword`가 모두 제공된 경우 값이 비어 있지 않으면 `PWD` 값이 사용됩니다.

  기본값은 `NONE`입니다.
+ **`OktaApplicationID`** - Timestream for LiveAnalytics 애플리케이션과 연결된 고유한 Okta 제공 ID입니다. 애플리케이션 메타데이터에 제공된 `entityID` 필드에서 애플리케이션 ID(AppId)를 찾을 수 있습니다. 예제:

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

  기본값은 `NONE`입니다.
+ **`RoleARN`** - 발신자가 수임하는 역할의 Amazon 리소스 이름(ARN)입니다.

  기본값은 `NONE`입니다.
+ **`IdPARN`** - IAM의 SAML 제공업체의 Amazon 리소스 이름(ARN)으로, IdP를 설명합니다.

  기본값은 `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 리소스 이름(ARN)입니다.

  기본값은 `NONE`입니다.
+ **`IdPARN`** - IAM의 SAML 제공업체의 Amazon 리소스 이름(ARN)으로, IdP를 설명합니다.

  기본값은 `NONE`입니다.

**AWS SDK(고급) 옵션**
+ **`RequestTimeout`**   - 시간이 초과되기 전에 AWS SDK가 쿼리 요청을 기다리는 밀리초 단위의   시간입니다. 양수가 아닌 값은 요청 제한 시간을 비활성화합니다.

  기본값은 `3000`입니다.
+ **`ConnectionTimeout`**   - AWS 제한 시간이 초과되기 전에 SDK가 열린 연결을 통해 데이터가 전송될 때까지 대기하는 밀리초 단위   시간입니다. 0 값은 연결 제한 시간을 비활성화합니다. 이 값은 음수가 아니어야 합니다.

  기본값은 `1000`입니다.
+ **`MaxRetryCountClient`** - SDK에서 오류 코드 5xx의 재시도 가능한 오류에 대한 최대 재시도 횟수입니다. 값은 음수가 아니어야 합니다.

  기본값은 `0`입니다.
+ **`MaxConnections`** - Timestream 서비스에 대한 허용되는 동시 개방형 HTTP 연결의 최대 수입니다. 값은 양수여야 합니다.

  기본값은 `25`입니다.

**ODBC 드라이버 로깅 옵션**
+ **`LogLevel`** - 드라이버 로깅에 대한 로그 수준입니다. 다음 중 하나여야 합니다.
  + **0**(OFF).
  + **1**(ERROR).
  + **2**(WARNING).
  + **3**(INFO).
  + **4**(DEBUG).

  기본값은 `1`(오류)입니다.

  **경고:** 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`이 설정되지 않으면 SDK 로그 수준은 기본값인 `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에 이미 연결 옵션이 지정되어 있으면 연결 문자열에 다시 지정하지 마세요.