

要获得与亚马逊 Timestream 类似的功能 LiveAnalytics，可以考虑适用于 InfluxDB 的亚马逊 Timestream。适用于 InfluxDB 的 Amazon Timestream 提供简化的数据摄取和个位数毫秒级的查询响应时间，以实现实时分析。点击[此处](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)了解更多信息。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

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

 [您可以使用 Java 数据库连接 (JDBC) 连接将 Timestream LiveAnalytics 连接到您的商业智能工具和其他应用程序，例如 SQL Workbench。](https://www.sql-workbench.eu/)适用于 LiveAnalytics JDBC 的 Timestream 驱动程序目前支持 Okta 和 Microsoft Azure AD 的 SSO。

**Topics**
+ [为 Timestream 配置 JDBC 驱动程序 LiveAnalytics](JDBC.configuring.md)
+ [连接属性](JDBC.connection-properties.md)
+ [JDBC URL 示例](JDBC.url-examples.md)
+ [使用 Okta 为 LiveAnalytics JDBC 单点登录身份验证设置时间流](JDBC.SSOwithOkta.md)
+ [使用微软 Azure AD 为 LiveAnalytics JDBC 单点登录身份验证设置 Timestream](JDBC.withAzureAD.md)

# 为 Timestream 配置 JDBC 驱动程序 LiveAnalytics
<a name="JDBC.configuring"></a>

按照以下步骤配置 JDBC 驱动程序。

**Topics**
+ [LiveAnalytics JDBC 驱动程序的时间流 JARs](#w2aab7c44c37b7b7)
+ [LiveAnalytics JDBC 驱动程序类的时间流和 URL 格式](#w2aab7c44c37b7b9)
+ [示例应用程序](#w2aab7c44c37b7c11)

## LiveAnalytics JDBC 驱动程序的时间流 JARs
<a name="w2aab7c44c37b7b7"></a>

 您可以通过直接下载或将驱动程序添加为 Maven 依赖项来获取 Timestream for LiveAnalytics JDBC 驱动程序。
+  *直接下载：*。要直接下载 Timestream for LiveAnalytics JDBC 驱动程序，请完成以下步骤：

  1. 导航到 [ https://github.com/awslabs/amazon-timestream-driver-jdbc/releases](https://github.com/awslabs/amazon-timestream-driver-jdbc/releases) 

  1. 您可以直接将 `amazon-timestream-jdbc-1.0.1-shaded.jar` 与商业智能工具和应用程序配合使用

  1. 将 `amazon-timestream-jdbc-1.0.1-javadoc.jar` 下载到您选择的目录。

  1. 在下载 `amazon-timestream-jdbc-1.0.1-javadoc.jar` 的目录中，运行以下命令以提取 Javadoc HTML 文件：

     ```
     jar -xvf amazon-timestream-jdbc-1.0.1-javadoc.jar
     ```
+  *作为 Maven 依赖项：*要将 Timestream for LiveAnalytics JDBC 驱动程序添加为 Maven 依赖项，请完成以下步骤：

  1. 导航到应用程序的 `pom.xml` 文件，并在您选择的编辑器中打开该文件。

  1. 将 JDBC 驱动程序作为依赖项添加到应用程序的 `pom.xml` 文件中：

     ```
     <!-- https://mvnrepository.com/artifact/software.amazon.timestream/amazon-timestream-jdbc -->
     <dependency>
         <groupId>software.amazon.timestream</groupId>
         <artifactId>amazon-timestream-jdbc</artifactId>
         <version>1.0.1</version>
     </dependency>
     ```

## LiveAnalytics JDBC 驱动程序类的时间流和 URL 格式
<a name="w2aab7c44c37b7b9"></a>

 LiveAnalytics JDBC 驱动程序的 Timestream 的驱动程序类是：

```
software.amazon.timestream.jdbc.TimestreamDriver
```

 Timestream JDBC 驱动程序需要以下 JDBC URL 格式：

```
jdbc:timestream:
```

 要通过 JDBC URL 指定数据库属性，请使用以下 URL 格式：

```
jdbc:timestream://
```

## 示例应用程序
<a name="w2aab7c44c37b7c11"></a>

为了帮助您开始在 JDBC 中使用 Timestream，我们在中创建了一个功能齐全的示例应用程序。 LiveAnalytics GitHub

1. 按照[此处](getting-started.db-w-sample-data.md#getting-started.db-w-sample-data.using-console)所述的说明，创建包含示例数据的数据库。

1. 按照中的说明克隆 [JDBC 示例应用程序](https://github.com/awslabs/amazon-timestream-tools/tree/mainline/integrations/jdbc)的 GitHub 存储库。[GitHub](https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/cloning-a-repository)

1. 按照[自述文件](https://github.com/awslabs/amazon-timestream-tools/tree/mainline/integrations/jdbc/README.md)中的说明，开始使用示例应用程序。

# 连接属性
<a name="JDBC.connection-properties"></a>

 适用于 LiveAnalytics JDBC 的 Timestream 驱动程序支持以下选项：

**Topics**
+ [基本身份验证选项](#JDBC.connection-properties.basic-auth)
+ [标准客户端信息选项](#JDBC.connection-properties.standard-client)
+ [驱动程序配置选项](#JDBC.connection-properties.driver-config)
+ [SDK 选项](#JDBC.connection-properties.sdk-options)
+ [端点配置选项](#JDBC.connection-properties.endpoint-config)
+ [凭证提供程序选项](#JDBC.connection-properties.cred-providers)
+ [适用于 Okta 的基于 SAML 的身份验证选项](#JDBC.connection-properties.okta)
+ [适用于 Azure AD 的基于 SAML 的身份验证选项](#JDBC.connection-properties.azure-ad)

**注意**  
 如果未提供任何属性，则 Timestream f LiveAnalytics or JDBC 驱动程序将使用默认凭证链来加载凭证。

**注意**  
 所有属性键均区分大小写。

## 基本身份验证选项
<a name="JDBC.connection-properties.basic-auth"></a>

下表介绍可用的基本身份验证选项。


| 选项 | 描述 | 默认 | 
| --- | --- | --- | 
|  AccessKeyId  |   AWS 用户访问密钥 ID。  |  NONE  | 
|  SecretAccessKey  |   AWS 用户私有访问密钥。  |  NONE  | 
|  SessionToken  |  访问已启用多重身份验证（MFA）的数据库所需的临时会话令牌。  |  NONE  | 

## 标准客户端信息选项
<a name="JDBC.connection-properties.standard-client"></a>

下表介绍标准客户端信息选项。


| 选项 | 描述 | 默认 | 
| --- | --- | --- | 
|  ApplicationName  |  当前使用该连接的应用程序的名称。 `ApplicationName`用于调试目的，不会发送给 Timestream 进行 LiveAnalytics服务。  |  驱动程序检测到的应用程序名称。  | 

## 驱动程序配置选项
<a name="JDBC.connection-properties.driver-config"></a>

下表介绍驱动程序配置选项。


| 选项 | 描述 | 默认 | 
| --- | --- | --- | 
|  EnableMetaDataPreparedStatement  |  启用 Timestream 让 LiveAnalytics JDBC 驱动程序返回其元数据`PreparedStatements`，但这会在 Timestream 检索元数据时产生额外费用。 LiveAnalytics   |  FALSE  | 
|  Region  |  数据库的区域。  |  us-east-1  | 

## SDK 选项
<a name="JDBC.connection-properties.sdk-options"></a>

下表介绍 SDK 选项。


| 选项 | 描述 | 默认 | 
| --- | --- | --- | 
|  RequestTimeout  |   AWS SDK 在超时之前等待查询请求的时间（以毫秒为单位）。非正值表示禁用请求超时。  |  0  | 
|  SocketTimeout  |   AWS SDK 在超时之前等待通过打开的连接传输数据的时间（以毫秒为单位）。值不能是负值。`0` 的值禁用套接字超时。  |  50000  | 
|  MaxRetryCountClient  |  SDK 中可重试错误（错误代码为 5XX）的最大重试次数。该值不能是负值。  |  NONE  | 
|  MaxConnections  |  允许同时打开的 Timestream 的 HTTP 连接的最大数量。 LiveAnalytics 值必须为正。  |  50  | 

## 端点配置选项
<a name="JDBC.connection-properties.endpoint-config"></a>

下表介绍端点配置选项。


| 选项 | 描述 | 默认 | 
| --- | --- | --- | 
|  端点  |   LiveAnalytics 服务时间流的终端节点。  |  NONE  | 

## 凭证提供程序选项
<a name="JDBC.connection-properties.cred-providers"></a>

下表介绍可用的凭证提供程序选项。


| 选项 | 描述 | 默认 | 
| --- | --- | --- | 
|  AwsCredentialsProviderClass  |  `PropertiesFileCredentialsProvider` 或 `InstanceProfileCredentialsProvider` 其中一个，用于身份验证。  |  NONE  | 
|  CustomCredentialsFilePath  |  包含 AWS 安全凭证`accessKey`和的属性文件的路径`secretKey`。仅当 `AwsCredentialsProviderClass` 指定为 `PropertiesFileCredentialsProvider` 时才需要此选项。  |  NONE  | 

## 适用于 Okta 的基于 SAML 的身份验证选项
<a name="JDBC.connection-properties.okta"></a>

下表介绍可用的适用于 Okta 的基于 SAML 的身份验证选项。


| 选项 | 描述 | 默认 | 
| --- | --- | --- | 
|  IdpName  |  身份提供者（IdP）名称，用于基于 SAML 的身份验证。`Okta` 或 `AzureAD` 其中一个。  |  NONE  | 
|  IdpHost  |  指定 Idp 的主机名。  |  NONE  | 
|  IdpUserName  |  指定 Idp 账户的用户名。  |  NONE  | 
|  IdpPassword  |  指定 Idp 账户的密码。  |  NONE  | 
|  OktaApplication身份证  |  Okta 提供的与应用程序的时间流关联的唯一 ID。 LiveAnalytics `AppId`可以在应用程序元数据中提供的`entityID`字段中找到。考虑以下示例：`entityID = http://www.okta.com//IdpAppID`  |  NONE  | 
|  RoleARN  |  调用方承担的角色的 Amazon 资源名称（ARN）。  |  NONE  | 
|  IdpARN  |  描述 Idp 的 IAM 中 SAML 提供商的 Amazon 资源名称（ARN）。  |  NONE  | 

## 适用于 Azure AD 的基于 SAML 的身份验证选项
<a name="JDBC.connection-properties.azure-ad"></a>

下表介绍可用的适用于 Azure AD 的基于 SAML 的身份验证选项。


| 选项 | 描述 | 默认 | 
| --- | --- | --- | 
|  IdpName  |  身份提供者（IdP）名称，用于基于 SAML 的身份验证。`Okta` 或 `AzureAD` 其中一个。  |  NONE  | 
|  IdpHost  |  指定 Idp 的主机名。  |  NONE  | 
|  IdpUserName  |  指定 Idp 账户的用户名。  |  NONE  | 
|  IdpPassword  |  指定 Idp 账户的密码。  |  NONE  | 
|  AADApplication身份证  |  Azure AD 上已注册应用程序的唯一 ID。  |  NONE  | 
|  AADClient秘密  |  与 Azure AD 上已注册应用程序关联的客户端密钥，用于授权获取令牌。  |  NONE  | 
|  AADTenant  |  Azure AD 租户 ID。  |  NONE  | 
|  IdpARN  |  描述 Idp 的 IAM 中 SAML 提供商的 Amazon 资源名称（ARN）。  |  NONE  | 

# JDBC URL 示例
<a name="JDBC.url-examples"></a>

 本部分介绍如何创建 JDBC 连接 URL，并提供相关示例。要指定[可选的连接属性](JDBC.connection-properties.md)，请使用以下 URL 格式：

```
jdbc:timestream://PropertyName1=value1;PropertyName2=value2... 
```

**注意**  
所有连接属性均为可选属性。所有属性键均区分大小写。

以下是 JDBC 连接的一些示例。 URLs

*包含基本身份验证选项和区域的示例：*  

```
jdbc:timestream://AccessKeyId=<myAccessKeyId>;SecretAccessKey=<mySecretAccessKey>;SessionToken=<mySessionToken>;Region=us-east-1
```

*包含客户信息、区域和 SDK 选项的示例：*  

```
jdbc:timestream://ApplicationName=MyApp;Region=us-east-1;MaxRetryCountClient=10;MaxConnections=5000;RequestTimeout=20000
```

*使用在环境变量中设置凭据的默认 AWS 凭证提供程序链进行连接：*  

```
jdbc:timestream
```

*使用默认凭证提供者链进行连接，并在连接 URL 中设置了 AWS 凭据：*  

```
jdbc:timestream://AccessKeyId=<myAccessKeyId>;SecretAccessKey=<mySecretAccessKey>;SessionToken=<mySessionToken>
```

*使用 Connect PropertiesFileCredentialsProvider 作为身份验证方法：*  

```
jdbc:timestream://AwsCredentialsProviderClass=PropertiesFileCredentialsProvider;CustomCredentialsFilePath=<path to properties file>
```

*使用 Connect InstanceProfileCredentialsProvider 作为身份验证方法：*  

```
jdbc:timestream://AwsCredentialsProviderClass=InstanceProfileCredentialsProvider
```

*使用 Okta 凭证作为身份验证方法进行连接：*  

```
jdbc:timestream://IdpName=Okta;IdpHost=<host>;IdpUserName=<name>;IdpPassword=<password>;OktaApplicationID=<id>;RoleARN=<roleARN>;IdpARN=<IdpARN>
```

*使用 Azure AD 凭证作为身份验证方法进行连接：*  

```
jdbc:timestream://IdpName=AzureAD;IdpUserName=<name>;IdpPassword=<password>;AADApplicationID=<id>;AADClientSecret=<secret>;AADTenant=<tenantID>;IdpARN=<IdpARN>
```

*使用特定端点进行连接：*  

```
jdbc:timestream://Endpoint=abc.us-east-1.amazonaws.com;Region=us-east-1
```

# 使用 Okta 为 LiveAnalytics JDBC 单点登录身份验证设置时间流
<a name="JDBC.SSOwithOkta"></a>

 Timestream for LiveAnalytics 支持使用 Okta 进行 LiveAnalytics JDBC 单点登录身份验证的 Timestream。要使用 Timestream 对 Okta 进行 LiveAnalytics JDBC 单点登录身份验证，请完成下面列出的每个部分。

**Topics**
+ [先决条件](aws-sso-with-okta-prerequisites.md)
+ [AWS 俄克拉荷马州的账户联盟](aws-account-federation-in-okta.md)
+ [为 SAML 设置 Okta](aws-setting-up-okta-for-saml.md)

# 先决条件
<a name="aws-sso-with-okta-prerequisites"></a>

在 Okta 中使用 Timestream for LiveAnalytics JDBC 单点登录身份验证之前，请确保满足以下先决条件：
+ [中 AWS 创建身份提供商和角色的管理员权限](security-iam.md)。
+  一个 Okta 账户（[https://www.okta.com/login/](https://www.okta.com/login/)前往创建账户）。
+ [访问亚马逊 Timestream 以获取](accessing.md). LiveAnalytics 

您已完成先决条件，现可继续执行 [AWS 俄克拉荷马州的账户联盟](aws-account-federation-in-okta.md)。

# AWS 俄克拉荷马州的账户联盟
<a name="aws-account-federation-in-okta"></a>

适用于 LiveAnalytics JDBC 的 Timestream 驱动程序支持 Okta 中的 AWS 账户联合。要在 Okta 中设置 AWS 账户联盟，请完成以下步骤：

1. 使用以下 URL 登录 Okta 管理员控制面板：

   ```
   https://<company-domain-name>-admin.okta.com/admin/apps/active 
   ```
**注意**  
 将 **< company-domain-name >** 替换为您的域名。

1. 成功登录后，选择**添加应用程序**，然后搜索 **AWS 账户联合身份验证**。

1. 选择**添加**

1. 将登录 URL 更改为相应 URL。

1. 选择**下一步**。

1. 选择 **SAML 2.0** 作为**登录**方法

1. 选择**身份提供者元数据**，以打开元数据 XML 文件。将该文件保存在本地。

1. 将所有其他配置选项留空。

1. 选择**完成**。

现在，您已经在 Okta 中完成了 AWS 账户联合，您可以继续。[为 SAML 设置 Okta](aws-setting-up-okta-for-saml.md)

# 为 SAML 设置 Okta
<a name="aws-setting-up-okta-for-saml"></a>

1. 选择 **Sign On**（登录）选项卡。选择**视图**。

1. 在**设置**部分中选择**设置说明**按钮。

**查找 Okta 元数据文档**

1. 要查找文档，请转到：

   ```
   https://<domain>-admin.okta.com/admin/apps/active
   ```
**注意**  
 <domain> 是 Okta 账户的唯一域名。

1. 选择 **AWS 账户联合身份验证**应用程序

1. 选择**登录**选项卡。

# 使用微软 Azure AD 为 LiveAnalytics JDBC 单点登录身份验证设置 Timestream
<a name="JDBC.withAzureAD"></a>

 Timestream fo LiveAnalytics r 支持使用微软 Azur LiveAnalytics e AD 进行 JDBC 单点登录身份验证的 Timestream。要使用 Timestream 对 Microsoft Azure AD 进行 LiveAnalytics JDBC 单点登录身份验证，请完成下面列出的每个部分。

**Topics**
+ [先决条件](JDBC.withAzureAD.prereqs.md)
+ [设置 Azure AD](JDBC.withAzureAD.setUp.md)
+ [在中设置 IAM 身份提供商和角色 AWS](JDBC.withAzureAD.IAM.md)

# 先决条件
<a name="JDBC.withAzureAD.prereqs"></a>

在 Microsoft Azure AD 上使用 Timestream for LiveAnalytics JDBC 单点登录身份验证之前，请确保满足以下先决条件：
+ [中 AWS 创建身份提供商和角色的管理员权限](security-iam.md)。
+ Azure Active Directory 帐户（前往[ https://azure.microsoft.com/en-ca/服务/活动目录](https://azure.microsoft.com/en-ca/services/active-directory/) /创建帐户）
+ [访问亚马逊 Timestream 以获取](accessing.md). LiveAnalytics 

# 设置 Azure AD
<a name="JDBC.withAzureAD.setUp"></a>

1. 登录 Azure 门户

1. 在 Azure 服务列表中选择 **Azure Active Directory**。这将重定向到“默认目录”页面。

1. 在侧边栏的**管理**部分下选择**企业应用程序**

1. 选择 **\$1 新建应用程序**。

1. 查找并选择 **Amazon Web Services**。

1. 在侧边栏的**管理**部分下选择**单点登录**

1. 选择 **SAML** 作为单点登录方法

1. 在“基本 SAML 配置”部分，为标识符和回复 URL 输入以下 URL：

   ```
   https://signin.aws.amazon.com/saml
   ```

1. 选择**保存**

1. 在“SAML 签名证书”部分，下载联合身份验证元数据 XML。这将在后续创建 IAM 身份提供者时使用

1. 返回“默认目录”页面，在**管理**下选择**应用程序注册**。

1. 从 “**所有应用程序**” 部分 LiveAnalytics中选择 “**时间流**”。页面将重定向到应用程序的概述页面
**注意**  
请注意应用程序（客户端）ID 和目录（租户）ID。创建连接时需要提供这些值。

1. 选择**证书和密钥**

1. 在**客户端密钥**下，使用 **\$1 新建客户端密钥**创建新的客户端密钥。
**注意**  
请注意生成的客户端密钥，因为在创建与 Timestream 的连接时，这是必需的 LiveAnalytics。

1. 在侧边栏的**管理**下，选择 **API 权限**

1. 在 “**已配置的权限”** 中，使用**添加权限**来授予 Azure AD 登录 Timestream 的 LiveAnalytics权限。在“请求 API 权限”页面上选择 **Microsoft Graph**。

1. 选择**委派权限**，然后选择 **User.Read** 权限

1. 选择**添加权限**

1. 选择**授予对默认目录的管理员同意**

# 在中设置 IAM 身份提供商和角色 AWS
<a name="JDBC.withAzureAD.IAM"></a>

 完成以下每个部分，为 Timestream 设置 IAM，以便使用 Microsoft Azure AD 进行 LiveAnalytics JDBC 单点登录身份验证：

**Topics**
+ [创建 SAML 身份提供者](#JDBC.withAzureAD.IAM.SAML)
+ [创建一个 IAM 角色](#JDBC.withAzureAD.IAM.roleForIAM)
+ [创建 IAM 策略](#JDBC.withAzureAD.IAM.policyForIAM)
+ [预置](#JDBC.withAzureAD.IAM.provisioning)

## 创建 SAML 身份提供者
<a name="JDBC.withAzureAD.IAM.SAML"></a>

要为使用 Microsoft Azure AD 进行 LiveAnalytics JDBC 单点登录身份验证的时间流创建 SAML 身份提供者，请完成以下步骤：

1. 登录 AWS 管理控制台

1. 选择**服务**，然后在“安全、身份和合规性”下选择 **IAM**

1. 选择“访问管理”下方的**身份提供者**。

1. 选择**创建提供者**，然后选择 **SAML** 作为提供者类型。输入**提供者名称**。此示例将使用 Azure ADProvider。

1. 上传之前下载的联合身份验证元数据 XML 文件

1. 选择**下一步**，然后选择**创建**。

1. 完成后，页面将重定向回身份提供者页面

## 创建一个 IAM 角色
<a name="JDBC.withAzureAD.IAM.roleForIAM"></a>

要使用 Microsoft Azure AD 为 LiveAnalytics JDBC 单点登录身份验证的 Timestream 创建 IAM 角色，请完成以下步骤：

1. 在侧边栏中，选择“访问管理”下方的**角色**

1. 选择“创建角色”

1. 选择 **SAML 2.0 联合身份验证**作为受信任的实体

1. 选择 **Azure AD 提供者**

1. 选择 “**允许编程访问 AWS 和管理控制台**”

1. 选择**下一步：权限**

1. 添加权限策略或继续执行“下一步：标签”

1. 添加可选标签或继续执行“下一步：查看”

1. 输入角色名称。此示例将使用 Azure SAMLRole

1. 提供角色描述

1. 选择**创建角色**以完成

## 创建 IAM 策略
<a name="JDBC.withAzureAD.IAM.policyForIAM"></a>

要使用 Microsoft Azure AD 为 LiveAnalytics JDBC 单点登录身份验证的 Timestream 创建 IAM 策略，请完成以下步骤：

1. 在侧边栏中，选择“访问管理”下方的**策略**

1. 选择**创建策略**，然后选择 **JSON** 选项卡

1. 添加以下策略

------
#### [ JSON ]

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
             "Effect": "Allow",
             "Action": [
                    "iam:ListRoles",
                    "iam:ListAccountAliases"
              ],
              "Resource": "*"
         }
   ]
   }
   ```

------

1. 选择**创建策略**

1. 输入策略名称。此示例将使用 TimestreamAccessPolicy。

1. 选择**创建策略**

1. 在侧边栏中，选择“访问管理”下方的**角色**。

1.  选择之前创建的 **Azure AD 角色**，然后选择“权限”下方的**附加策略**。

1. 选择之前创建的访问策略。

## 预置
<a name="JDBC.withAzureAD.IAM.provisioning"></a>

要为 Timestream 配置身份提供者，以便使用 Microsoft Azure AD 进行 LiveAnalytics JDBC 单点登录身份验证，请完成以下步骤：

1. 返回到 Azure 门户

1. 在 Azure 服务列表中选择 **Azure Active Directory**。这将重定向到“默认目录”页面

1. 在侧边栏的“管理”部分下选择**企业应用程序**

1. 选择**预置**

1. 对于预置方法，选择**自动模式**

1. 在 “管理员凭证” 下，输入您的 **AwsAccessKeyID** 以获取客户端密钥和密钥令**SecretAccessKey**牌

1. 将**预置状态**设置为**开启**

1. 选择**保存**。这允许 Azure AD 加载必要的 IAM 角色

1. 当前周期状态完成后，选择侧边栏中的**用户和组**

1. 选择 **\$1 添加用户**

1. 选择要为其提供时间流访问权限的 Azure AD 用户 LiveAnalytics

1. 选择在中创建的 IAM Azure AD 角色和相应的 Azure 身份提供商 AWS

1. 选择**分配**。