

Amazon Timestream for LiveAnalytics に類似した機能をご希望の場合は Amazon Timestream for InfluxDB をご検討ください。リアルタイム分析に適した、シンプルなデータインジェストと 1 桁ミリ秒のクエリ応答時間を特徴としています。詳細については、[こちら](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Timestream for LiveAnalytics へのアクセス
<a name="accessing"></a>

Timestream for LiveAnalytics へのアクセスには、コンソール、CLI、または API を使用します。Timestream for LiveAnalytics へのアクセスについては、以下を参照してください。

**Topics**
+ [にサインアップする AWS アカウント](#sign-up-for-aws)
+ [管理アクセスを持つユーザーを作成する](#create-an-admin)
+ [Timestream for LiveAnalytics へのアクセス権を提供する](#getting-started.prereqs.iam-user)
+ [プログラマチックアクセス権を付与する](#programmatic-access)
+ [コンソールを使用する](console_timestream.md)
+ [を使用した LiveAnalytics 用 Amazon Timestream へのアクセス AWS CLI](Tools.CLI.md)
+ [API を使用する](Using.API.md)
+ [AWS SDKsの使用](getting-started-sdks.md)

## にサインアップする AWS アカウント
<a name="sign-up-for-aws"></a>

がない場合は AWS アカウント、次の手順を実行して作成します。

**にサインアップするには AWS アカウント**

1. [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup) を開きます。

1. オンラインの手順に従います。

   サインアップ手順の一環として、電話またはテキストメッセージを受け取り、電話キーパッドで検証コードを入力します。

   にサインアップすると AWS アカウント、 *AWS アカウントのルートユーザー* が作成されます。ルートユーザーには、アカウントのすべての AWS のサービス とリソースへのアクセス権があります。セキュリティベストプラクティスとして、ユーザーに管理アクセス権を割り当て、[ルートユーザーアクセスが必要なタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)の実行にはルートユーザーのみを使用するようにしてください。

AWS サインアッププロセスが完了すると、 から確認メールが送信されます。[https://aws.amazon.com/](https://aws.amazon.com/) の **[マイアカウント]** をクリックして、いつでもアカウントの現在のアクティビティを表示し、アカウントを管理することができます。

## 管理アクセスを持つユーザーを作成する
<a name="create-an-admin"></a>

にサインアップしたら AWS アカウント、日常的なタスクにルートユーザーを使用しないように AWS アカウントのルートユーザー、 を保護し AWS IAM アイデンティティセンター、 を有効にして管理ユーザーを作成します。

**を保護する AWS アカウントのルートユーザー**

1.  **ルートユーザー**を選択し、 AWS アカウント E メールアドレスを入力して、アカウント所有者[AWS マネジメントコンソール](https://console.aws.amazon.com/)として にサインインします。次のページでパスワードを入力します。

   ルートユーザーを使用してサインインする方法については、「*AWS サインイン ユーザーガイド*」の「[ルートユーザーとしてサインインする](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)」を参照してください。

1. ルートユーザーの多要素認証 (MFA) を有効にします。

   手順については、*IAM* [ユーザーガイドの AWS アカウント 「ルートユーザー (コンソール) の仮想 MFA デバイス](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)を有効にする」を参照してください。

**管理アクセスを持つユーザーを作成する**

1. IAM アイデンティティセンターを有効にします。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[AWS IAM アイデンティティセンターの有効化](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)」を参照してください。

1. IAM アイデンティティセンターで、ユーザーに管理アクセスを付与します。

   を ID ソース IAM アイデンティティセンターディレクトリ として使用する方法のチュートリアルについては、*AWS IAM アイデンティティセンター 「 ユーザーガイド*」の[「デフォルトを使用してユーザーアクセスを設定する IAM アイデンティティセンターディレクトリ](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)」を参照してください。

**管理アクセス権を持つユーザーとしてサインインする**
+ IAM アイデンティティセンターのユーザーとしてサインインするには、IAM アイデンティティセンターのユーザーの作成時に E メールアドレスに送信されたサインイン URL を使用します。

  IAM Identity Center ユーザーを使用してサインインする方法については、*AWS サインイン 「 ユーザーガイド*[」の AWS 「 アクセスポータルにサインイン](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)する」を参照してください。

**追加のユーザーにアクセス権を割り当てる**

1. IAM アイデンティティセンターで、最小特権のアクセス許可を適用するというベストプラクティスに従ったアクセス許可セットを作成します。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)」を参照してください。

1. グループにユーザーを割り当て、そのグループにシングルサインオンアクセス権を割り当てます。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[グループを追加する](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)」を参照してください。

## Timestream for LiveAnalytics へのアクセス権を提供する
<a name="getting-started.prereqs.iam-user"></a>

 管理者には、Timestream for LiveAnalytics へのアクセスに必要な権限が既に付与されています。管理者以外のユーザーには、以下のポリシーを用いて Timestream for LiveAnalytics へのアクセス権限を付与する必要があります。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "timestream:*",
        "kms:DescribeKey",
        "kms:CreateGrant",
        "kms:Decrypt",
        "dbqms:CreateFavoriteQuery",
        "dbqms:DescribeFavoriteQueries",
        "dbqms:UpdateFavoriteQuery",
        "dbqms:DeleteFavoriteQueries",
        "dbqms:GetQueryString",
        "dbqms:CreateQueryHistory",
        "dbqms:UpdateQueryHistory",
        "dbqms:DeleteQueryHistory",
        "dbqms:DescribeQueryHistory",
        "s3:ListAllMyBuckets"
      ],
      "Resource": "*"
    }
  ]
}
```

------

**注記**  
`dbqms` については、「[データベースクエリメタデータサービスのアクション、リソース、条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_databasequerymetadataservice.html)」を参照してください。詳細については[、 AWS 「 Key Management Service のアクション、リソース、および条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskeymanagementservice.html)`kms`」を参照してください。

## プログラマチックアクセス権を付与する
<a name="programmatic-access"></a>

ユーザーが の AWS 外部とやり取りする場合は、プログラムによるアクセスが必要です AWS マネジメントコンソール。プログラムによるアクセスを許可する方法は、 がアクセスするユーザーのタイプによって異なります AWS。

ユーザーにプログラムによるアクセス権を付与するには、以下のいずれかのオプションを選択します。


****  

| プログラムによるアクセス権を必要とするユーザー | 目的 | 方法 | 
| --- | --- | --- | 
| IAM | (推奨) コンソール認証情報を一時的な認証情報として使用して AWS CLI、、 AWS SDKs、または AWS APIs。 |  使用するインターフェイスの指示に従ってください。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/timestream/latest/developerguide/accessing.html)  | 
|  ワークフォースアイデンティティ (IAM アイデンティティセンターで管理されているユーザー)  | 一時的な認証情報を使用して AWS CLI、、 AWS SDKs、または AWS APIs。 |  使用するインターフェイスの指示に従ってください。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/timestream/latest/developerguide/accessing.html)  | 
| IAM | 一時的な認証情報を使用して AWS CLI、、 AWS SDKs、または AWS APIs。 | 「IAM [ユーザーガイド」の「 AWS リソースでの一時的な認証情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)の使用」の手順に従います。 | 
| IAM | (非推奨)長期認証情報を使用して、 AWS CLI、 AWS SDKs、または AWS APIs。 |  使用するインターフェイスの指示に従ってください。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/timestream/latest/developerguide/accessing.html)  | 

# コンソールを使用する
<a name="console_timestream"></a>

 Timestream Live Analytics の AWS マネジメントコンソールを使用して、データベースとテーブルを作成、編集、削除、説明、一覧表示できます。コンソールを使用してクエリを実行することもできます。

**Topics**
+ [チュートリアル](#console_timestream.db-w-sample-data)
+ [データベースを作成する](#console_timestream.db.using-console)
+ [テーブルを作成する](#console_timestream.table.using-console)
+ [クエリを実行する](#console_timestream.queries.using-console)
+ [スケジュールされたクエリを作成する](#console_timestream.scheduledquery.using-console)
+ [スケジュールされたクエリを削除する](#console_timestream.scheduledquerydeletedisable.using-console)
+ [テーブルを削除する](#console_timestream.delete-table.using-console)
+ [データベースを削除する](#console_timestream.delete-db.using-console)
+ [テーブルを編集する](#console_timestream.edit-table.using-console)
+ [データベースを編集する](#console_timestream.edit-db.using-console)

## チュートリアル
<a name="console_timestream.db-w-sample-data"></a>

 このチュートリアルでは、サンプルデータセットが入力されたデータベースを作成し、サンプルクエリを実行する方法を示します。このチュートリアルで使用されるサンプルデータセットは、IoT および DevOps シナリオで頻繁に見られます。IoT データセットには、トラックの速度、位置、負荷などの時系列データが含まれており、フリート管理を合理化し、最適化の機会を特定します。DevOps データセットには、アプリケーションのパフォーマンスと可用性を向上させるために、CPU、ネットワーク、メモリ使用率などの EC2 インスタンスメトリクスが含まれています。このセクションで説明する手順の[チュートリアル動画はこちら](https://www.youtube.com/watch?v=YBWCGDd4ChQ)です。

以下の手順に従って、サンプルデータセットが入力されたデータベースを作成し、 AWS コンソールを使用してサンプルクエリを実行します。

1. [AWS コンソール](https://console.aws.amazon.com/timestream)を開きます。

1. ナビゲーションペインで **[データベース]** を選択します。

1. **[データベースを作成]** をクリックします。

1. データベース作成ページで、次の操作を行います。
   + **[設定を選択]** – **[サンプルデータベース]** を選択します。
   + **[名前]** – 任意の名前を入力します。
   + **[サンプルデータセットを選択]** – **IoT** と **DevOps** を選択します。
   +  **[データベースを作成]** をクリックして、サンプルデータが入力された IoT と DevOps の 2 つのテーブルを含むデータベースを作成します。

1. ナビゲーションペイン内で **[クエリエディタ]** を選択します。

1. 上部のメニューから **[サンプルクエリ]** を選択します。

1. サンプルクエリのいずれかをクリックします。これにより、クエリエディタに戻り、エディタにサンプルクエリが入力されます。

1. **[実行]** をクリックしてクエリを実行すると、クエリ結果が表示されす。

## データベースを作成する
<a name="console_timestream.db.using-console"></a>

 AWS コンソールを使用してデータベースを作成するには、次の手順に従います。

1. [AWS コンソール](https://console.aws.amazon.com/timestream)を開きます。

1. ナビゲーションペインで **[データベース]** を選択します。

1. **[データベースを作成]** をクリックします。

1. データベース作成ページで、次の操作を行います。
   + **[設定を選択]** – **[標準データベース]** を選択します。
   + **[名前]** – 任意の名前を入力します。
   + **[暗号化]** – KMS キーを選択するか、デフォルトのオプションを使用します。ここで、Timestream for LiveAnalytics は、KMS キーが存在しない場合はアカウントに KMS キーを作成します。

1.  **[データベースを作成]** をクリックしてデータベースを作成します。

## テーブルを作成する
<a name="console_timestream.table.using-console"></a>

 AWS コンソールを使用してテーブルを作成するには、次の手順に従います。

1. [AWS コンソール](https://console.aws.amazon.com/timestream)を開きます。

1. ナビゲーションペインで **[テーブル]** を選択します。

1. **[テーブルを作成]** をクリックします。

1. テーブル作成ページで、次の操作を行います。
   + **[データベース名]** – 「[データベースを作成する](#console_timestream.db.using-console)」で作成されたデータベース名を選択します。
   + **[テーブル名]** – 任意のテーブル名を入力します。
   + **[メモリストアの保持]** – メモリストアにデータを保持する期間を指定します。メモリストアは、遅延到着データ (タイムスタンプが現在の時刻より前のデータ) を含む受信データを処理し、高速なポイントインタイムクエリ用に最適化されています。
   + **[マグネティックストアの保持]** – マグネティックストアにデータを保持する期間を指定します。マグネティックストアは長期ストレージ用であり、高速分析クエリ用に最適化されています。

1.  **[テーブルを作成]** をクリックします。

## クエリを実行する
<a name="console_timestream.queries.using-console"></a>

 AWS コンソールを使用してクエリを実行するには、次の手順に従います。

1. [AWS コンソール](https://console.aws.amazon.com/timestream)を開きます。

1. ナビゲーションペイン内で **[クエリエディタ]** を選択します。

1. 左側のペインで、「[データベースを作成する](#console_timestream.db.using-console)」で作成されたデータベースを選択します。

1. 左側のペインで、「[テーブルを作成する](#console_timestream.table.using-console)」で作成されたデータベースを選択します。

1. クエリエディタでクエリを実行できます。テーブル内の最新の 10 行を表示するには、次を実行します。

   ```
   SELECT * FROM <database_name>.<table_name> ORDER BY time DESC LIMIT 10
   ```

1. (オプション) **[インサイトの有効化]** をオンにして、クエリの効率に関するインサイトを取得します。

## スケジュールされたクエリを作成する
<a name="console_timestream.scheduledquery.using-console"></a>

 AWS コンソールを使用してスケジュールされたクエリを作成するには、次の手順に従います。

1. [AWS コンソール](https://console.aws.amazon.com/timestream)を開きます。

1. ナビゲーションペインで **[スケジュールされたクエリ]** を選択します。

1. **[スケジュールされたクエリを作成]** をクリックします。

1. **[クエリ名]** と **[ターゲットテーブル]** のセクションで、次のように入力します。
   + **[名前]** – クエリ名を入力します。
   + **[データベース名]** – 「[データベースを作成する](#console_timestream.db.using-console)」で作成されたデータベース名を選択します。
   + **[テーブル名]** – 「[テーブルを作成する](#console_timestream.table.using-console)」で作成されたテーブルの名前を選択します。

1. **[クエリステートメント]** セクションで、有効なクエリステートメントを入力します。次に、**[クエリを検証]** をクリックします。

1. **[ターゲットテーブルモデル]** から、未定義の属性のモデルを定義します。**ビジュアルビルダー**または JSON を使用できます。

1. **[実行スケジュール]** セクションで、**[固定レート]** または **[CRON 式]** を選択します。cron 式については、スケジュール式に関する詳細を説明した「[スケジュールされたクエリのスケジュール式](https://docs.aws.amazon.com/timestream/latest/developerguide/scheduledqueries-schedule.html)」を参照してください。

1. **[SNS トピック]** セクションで、通知に使用する SNS トピックを入力します。

1. **[エラーログレポート]** セクションで、エラーの報告に使用される S3 ロケーションを入力します。

   **[Encryption key type]** (暗号化キーの種類) を選択します。

1. **AWS KMS キー****のセキュリティ設定**セクションで、KMS AWS キーのタイプを選択します。

   スケジュールされたクエリの Timestream for LiveAnalytics での実行に使用する **IAM ロール**を入力します。ロールに必要な権限と信頼関係の詳細については、[スケジュールされたクエリの IAM ポリシーの例](https://docs.aws.amazon.com/timestream/latest/developerguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-sheduledqueries)を参照してください。

1.  **[スケジュールされたクエリを作成]** をクリックします。

## スケジュールされたクエリを削除する
<a name="console_timestream.scheduledquerydeletedisable.using-console"></a>

 AWS コンソールを使用して、スケジュールされたクエリを削除または無効化するには、次の手順に従います。

1. [AWS コンソール](https://console.aws.amazon.com/timestream)を開きます。

1. ナビゲーションペインで **[スケジュールされたクエリ]** を選択します。

1. 「[スケジュールされたクエリを作成する](#console_timestream.scheduledquery.using-console)」で作成されたスケジュールされたクエリを選択します。

1. **アクション** を選択します。

1. **[無効化]** または **[削除]** を選択します。

1. [削除] を選択した場合は、アクションを確認して **[削除]** を選択します。

## テーブルを削除する
<a name="console_timestream.delete-table.using-console"></a>

 AWS コンソールを使用してデータベースを削除するには、次の手順に従います。

1. [AWS コンソール](https://console.aws.amazon.com/timestream)を開きます。

1. ナビゲーションペインで **[テーブル]** を選択します。

1. 「[テーブルを作成する](#console_timestream.table.using-console)」で作成したテーブルを選択します。

1. **[削除]** をクリックします。

1. 確認ボックスに「*削除*」と入力します。

## データベースを削除する
<a name="console_timestream.delete-db.using-console"></a>

 AWS コンソールを使用してデータベースを削除するには、次の手順に従います。

1. [AWS コンソール](https://console.aws.amazon.com/timestream)を開きます。

1. ナビゲーションペインで **[データベース]** を選択します。

1. 「**データベースを作成する**」で作成したデータベースを選択します。

1. **[削除]** をクリックします。

1. 確認ボックスに「*削除*」と入力します。

## テーブルを編集する
<a name="console_timestream.edit-table.using-console"></a>

 AWS コンソールを使用してテーブルを編集するには、次の手順に従います。

1. [AWS コンソール](https://console.aws.amazon.com/timestream)を開きます。

1. ナビゲーションペインで **[テーブル]** を選択します。

1. 「[テーブルを作成する](#console_timestream.table.using-console)」で作成したテーブルを選択します。

1. **[編集]** をクリックします。

1. テーブルの詳細を編集して保存します。
   + **[メモリストアの保持]** – メモリストアにデータを保持する期間を指定します。メモリストアは、遅延到着データ (タイムスタンプが現在の時刻より前のデータ) を含む受信データを処理し、高速なポイントインタイムクエリ用に最適化されています。
   + **[マグネティックストアの保持]** – マグネティックストアにデータを保持する期間を指定します。マグネティックストアは長期ストレージ用であり、高速分析クエリ用に最適化されています。

## データベースを編集する
<a name="console_timestream.edit-db.using-console"></a>

 AWS コンソールを使用してデータベースを編集するには、次の手順に従います。

1. [AWS コンソール](https://console.aws.amazon.com/timestream)を開きます。

1. ナビゲーションペインで **[データベース]** を選択します。

1. 「**データベースを作成する**」で作成したデータベースを選択します。

1. **[編集]** をクリックします。

1. データベースの詳細を編集して保存します。

# を使用した LiveAnalytics 用 Amazon Timestream へのアクセス AWS CLI
<a name="Tools.CLI"></a>

 AWS Command Line Interface (AWS CLI) を使用して、コマンドラインから複数の AWS サービスを制御し、スクリプトを使用して自動化できます。アドホックオペレーション AWS CLI には を使用できます。また、ユーティリティスクリプト内に Amazon Timestream for LiveAnalytics オペレーションを埋め込むときにも使用できます。

 Timestream for LiveAnalytics AWS CLI で を使用する前に、プログラムによるアクセスを設定する必要があります。詳細については、「[プログラマチックアクセス権を付与する](accessing.md#programmatic-access)」を参照してください。

 AWS CLIで Timestream for LiveAnalytics Query API 向けに使用できるすべてのコマンドのリストについては、「[AWS CLI Command Reference](https://docs.aws.amazon.com/cli/latest/reference/timestream-query/index.html)」を参照してください。

 AWS CLIで Timestream for LiveAnalytics Write API 向けに使用できるすべてのコマンドのリストについては、「[AWS CLI コマンドリファレンス](https://docs.aws.amazon.com/cli/latest/reference/timestream-write/index.html)」を参照してください。

**Topics**
+ [のダウンロードと設定 AWS CLI](#Tools.CLI.DownloadingAndRunning)
+ [LiveAnalytics での Timestream AWS CLI での の使用](#Tools.CLI.UsingWithQLDB)

## のダウンロードと設定 AWS CLI
<a name="Tools.CLI.DownloadingAndRunning"></a>

は Windows、macOS、または Linux で AWS CLI 実行されます。ダウンロード、インストールおよび設定するには次の手順に従います。

1. [http://aws.amazon.com/cli](https://aws.amazon.com/cli) AWS CLI で をダウンロードします。

1. 「 *AWS Command Line Interface ユーザーガイド*[」の AWS 「 CLI のインストール](https://docs.aws.amazon.com/cli/latest/userguide/installing.html)」および[AWS 「 CLI の設定](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)」の手順に従います。

## LiveAnalytics での Timestream AWS CLI での の使用
<a name="Tools.CLI.UsingWithQLDB"></a>

コマンドラインの形式は、Amazon Timestream for LiveAnalytics オペレーション名の後に、そのオペレーション用のパラメータが続く形式です。は、JSON に加えてパラメータ値の短縮構文 AWS CLI をサポートしています。

 Timestream for LiveAnalytics で使用可能なすべてのコマンドを一覧表示するには、`help` を使用します。例えば、次のようになります。

```
aws timestream-write help
```

```
aws timestream-query help
```

 また `help` を使用して、特定コマンドを記述したり、その用法の詳細を確認したりすることもできます。

```
aws timestream-write create-database help
```

 例えば、データベースを作成するには: 

```
aws timestream-write create-database --database-name myFirstDatabase
```

 マグネティックストアの書き込みを有効にしてテーブルを作成するには: 

```
aws timestream-write create-table \
--database-name metricsdb \
--table-name metrics \
--magnetic-store-write-properties "{\"EnableMagneticStoreWrites\": true}"
```

単一メジャーレコードを使用してデータを書き込むには:

```
aws timestream-write write-records \
--database-name metricsdb \
--table-name metrics \
--common-attributes "{\"Dimensions\":[{\"Name\":\"asset_id\", \"Value\":\"100\"}], \"Time\":\"1631051324000\",\"TimeUnit\":\"MILLISECONDS\"}" \
--records "[{\"MeasureName\":\"temperature\", \"MeasureValueType\":\"DOUBLE\",\"MeasureValue\":\"30\"},{\"MeasureName\":\"windspeed\", \"MeasureValueType\":\"DOUBLE\",\"MeasureValue\":\"7\"},{\"MeasureName\":\"humidity\", \"MeasureValueType\":\"DOUBLE\",\"MeasureValue\":\"15\"},{\"MeasureName\":\"brightness\", \"MeasureValueType\":\"DOUBLE\",\"MeasureValue\":\"17\"}]"
```

マルチメジャーレコードを使用してデータを書き込むには:

```
# wide model helper method to create Multi-measure records
function ingest_multi_measure_records {
  epoch=`date +%s`
  epoch+=$i

  # multi-measure records
  aws timestream-write write-records \
  --database-name $src_db_wide \
  --table-name $src_tbl_wide \
  --common-attributes "{\"Dimensions\":[{\"Name\":\"device_id\", \
              \"Value\":\"12345678\"},\
            {\"Name\":\"device_type\", \"Value\":\"iPhone\"}, \
            {\"Name\":\"os_version\", \"Value\":\"14.8\"}, \
            {\"Name\":\"region\", \"Value\":\"us-east-1\"} ], \
            \"Time\":\"$epoch\",\"TimeUnit\":\"MILLISECONDS\"}" \
--records "[{\"MeasureName\":\"video_metrics\", \"MeasureValueType\":\"MULTI\", \
  \"MeasureValues\": \
  [{\"Name\":\"video_startup_time\",\"Value\":\"0\",\"Type\":\"BIGINT\"}, \
  {\"Name\":\"rebuffering_ratio\",\"Value\":\"0.5\",\"Type\":\"DOUBLE\"}, \
  {\"Name\":\"video_playback_failures\",\"Value\":\"0\",\"Type\":\"BIGINT\"}, \
  {\"Name\":\"average_frame_rate\",\"Value\":\"0.5\",\"Type\":\"DOUBLE\"}]}]" \
--endpoint-url $ingest_endpoint \
  --region  $region
}

# create 5 records
for i in {100..105};
  do ingest_multi_measure_records $i;
done
```

テーブルに対してクエリを実行するには: 

```
aws timestream-query query \
--query-string "SELECT time, device_id, device_type, os_version, 
region, video_startup_time, rebuffering_ratio, video_playback_failures, \
average_frame_rate \
FROM metricsdb.metrics \
where time >= ago (15m)"
```

スケジュールされたクエリを作成するには: 

```
aws timestream-query create-scheduled-query \
  --name scheduled_query_name \
  --query-string "select bin(time, 1m) as time, \
          avg(measure_value::double) as avg_cpu, min(measure_value::double) as min_cpu, region \
          from $src_db.$src_tbl where measure_name = 'cpu' \
          and time BETWEEN @scheduled_runtime - (interval '5' minute)  AND @scheduled_runtime \
          group by region, bin(time, 1m)" \
  --schedule-configuration "{\"ScheduleExpression\":\"$cron_exp\"}" \
  --notification-configuration "{\"SnsConfiguration\":{\"TopicArn\":\"$sns_topic_arn\"}}" \
  --scheduled-query-execution-role-arn "arn:aws:iam::452360119086:role/TimestreamSQExecutionRole" \
  --target-configuration "{\"TimestreamConfiguration\":{\
          \"DatabaseName\": \"$dest_db\",\
          \"TableName\": \"$dest_tbl\",\
          \"TimeColumn\":\"time\",\
          \"DimensionMappings\":[{\
            \"Name\": \"region\", \"DimensionValueType\": \"VARCHAR\"
          }],\
          \"MultiMeasureMappings\":{\
            \"TargetMultiMeasureName\": \"mma_name\",
            \"MultiMeasureAttributeMappings\":[{\
              \"SourceColumn\": \"avg_cpu\", \"MeasureValueType\": \"DOUBLE\", \"TargetMultiMeasureAttributeName\": \"target_avg_cpu\"
            },\
            { \
              \"SourceColumn\": \"min_cpu\", \"MeasureValueType\": \"DOUBLE\", \"TargetMultiMeasureAttributeName\": \"target_min_cpu\"
            }] \
          }\
          }}" \
  --error-report-configuration "{\"S3Configuration\": {\
        \"BucketName\": \"$s3_err_bucket\",\
        \"ObjectKeyPrefix\": \"scherrors\",\
        \"EncryptionOption\": \"SSE_S3\"\
        }\
      }"
```

# API を使用する
<a name="Using.API"></a>

 [SDK](getting-started-sdks.md) に加えて、Amazon Timestream for LiveAnalytics は*エンドポイント検出パターン*を介して REST API への直接アクセスを提供します。エンドポイント検出パターンとそのユースケースを以下に示します。

## エンドポイント検出パターン
<a name="Using-API.endpoint-discovery"></a>

Timestream for LiveAnalytics の SDK は、サービスエンドポイントの管理やマッピングなど、サービスのアーキテクチャと透過的に連携するように設計されているため、ほとんどのアプリケーションで SDK を使用することをお勧めします。ただし、次のようないくつかのインスタンスでは、Timestream for LiveAnalytics REST API のエンドポイント検出パターンの使用が必要です。
+ [Timestream for LiveAnalytics で VPC エンドポイント (AWS PrivateLink)](VPCEndpoints.md) を使用している
+ アプリケーションで、SDK をまだサポートしていないプログラミング言語を使用している
+ クライアント側の実装をより適切に制御する必要がある

このセクションでは、エンドポイント検出パターンの仕組み、エンドポイント検出パターンの実装方法、使用上の注意について説明します。詳しくは、下記のトピックを選択してください。

**Topics**
+ [エンドポイント検出パターン](#Using-API.endpoint-discovery)
+ [エンドポイント検出パターンの仕組み](Using-API.endpoint-discovery.how-it-works.md)
+ [エンドポイント検出パターンの実装](Using-API.endpoint-discovery.describe-endpoints.implementation.md)

# エンドポイント検出パターンの仕組み
<a name="Using-API.endpoint-discovery.how-it-works"></a>

 Timestream は、スケーリングとトラフィック分離のプロパティ向上を確保するため、[セルラーアーキテクチャ](architecture.md#cells)を使用して構築されています。各カスタマーアカウントはリージョン内の特定のセルにマッピングされるため、アプリケーションはアカウントがマッピングされたセル固有の正しいエンドポイントを使用する必要があります。SDK を使用する場合、透過的にこのマッピングが処理されるため、セル固有のエンドポイントを管理する必要はありません。ただし、REST API に直接アクセスする場合は、適切なエンドポイントを自分で管理してマッピングする必要があります。このプロセスを示した*エンドポイント検出パターン*の詳細は次のとおりです。

1.  エンドポイント検出パターンは、`DescribeEndpoints` アクション ([https://docs.aws.amazon.com/timestream/latest/developerguide/API_Reference.html](https://docs.aws.amazon.com/timestream/latest/developerguide/API_Reference.html) のセクションで説明) の呼び出しから始まります。

1.  エンドポイントはキャッシュに保存され、返される time-to-live (TTL) 値 ([https://docs.aws.amazon.com/timestream/latest/developerguide/API_Endpoint.html#timestream-Type-Endpoint-CachePeriodInMinutes.html](https://docs.aws.amazon.com/timestream/latest/developerguide/API_Endpoint.html#timestream-Type-Endpoint-CachePeriodInMinutes.html)) で指定された時間だけ再利用されます。その後、TTL の期間中に Timestream for LiveAnalytics API を呼び出すことができます。

1.  TTL の有効期限が切れたら、DescribeEndpoints への新しい呼び出しを行ってエンドポイントを更新する必要があります (つまりステップ 1 からやり直す)。

**注記**  
 `DescribeEndpoints` アクションの構文、パラメータ、およびその他の使用情報は、[API リファレンス](https://docs.aws.amazon.com/timestream/latest/developerguide/API_DescribeEndpoints.html)で説明されています。`DescribeEndpoints` アクションは両方の SDK を介して使用でき、それぞれについて同じであることに注意してください。

エンドポイント検出パターンの実装については「[エンドポイント検出パターンの実装](Using-API.endpoint-discovery.describe-endpoints.implementation.md)」を参照してください。

# エンドポイント検出パターンの実装
<a name="Using-API.endpoint-discovery.describe-endpoints.implementation"></a>

 エンドポイント検出パターンを実装するには、API (書き込みまたはクエリ) を選択して **DescribeEndpoints** リクエストを作成し、返された TTL 値 (複数可) の期間中に、返されたエンドポイント (複数可) を使用します。実装手順は次のとおりです。

**注記**  
[使用上の注意](#Using-API.endpoint-discovery.describe-endpoints.usage-notes)をよく理解するようにしてください。

## 実装手順
<a name="Using-API.endpoint-discovery.describe-endpoints.implementation.procedure"></a>

1.  [https://docs.aws.amazon.com/timestream/latest/developerguide/API_DescribeEndpoints.html](https://docs.aws.amazon.com/timestream/latest/developerguide/API_DescribeEndpoints.html) リクエストを使用して、([Write](https://docs.aws.amazon.com/timestream/latest/developerguide/API_Operations_Amazon_Timestream_Write.html) または [Query](https://docs.aws.amazon.com/timestream/latest/developerguide/API_Operations_Amazon_Timestream_Query.html)) に対して呼び出しを行う API のエンドポイントを取得します。

   1.  以下に説明する 2 つのエンドポイントのいずれかを使用して、対象の API ([Write](https://docs.aws.amazon.com/timestream/latest/developerguide/API_Operations_Amazon_Timestream_Write.html) または [Query](https://docs.aws.amazon.com/timestream/latest/developerguide/API_Operations_Amazon_Timestream_Query.html)) に対応する [https://docs.aws.amazon.com/timestream/latest/developerguide/API_DescribeEndpoints.html](https://docs.aws.amazon.com/timestream/latest/developerguide/API_DescribeEndpoints.html) のリクエストを作成します。リクエストの入力パラメータはありません。以下の注意事項を必ずお読みください。  
*Write SDK:*  

      ```
      ingest.timestream.<region>.amazonaws.com
      ```  
*Query SDK:*  

      ```
      query.timestream.<region>.amazonaws.com
      ```

      `us-east-1` リージョンの CLI 呼び出しの例を次に示します。

      ```
      REGION_ENDPOINT="https://query.timestream.us-east-1.amazonaws.com"
      REGION=us-east-1
      aws timestream-write describe-endpoints \
      --endpoint-url $REGION_ENDPOINT \
      --region $REGION
      ```
**注記**  
 HTTP「ホスト」ヘッダーには API エンドポイントも*含める必要があります*。ヘッダーが入力されていない場合、リクエストは失敗します。これは、すべての HTTP/1.1 リクエストの標準要件です。1.1 以降をサポートしている HTTP ライブラリを使用する場合は、HTTP ライブラリによってヘッダーが自動的に入力されます。
**注記**  
*<region>* を、リクエストが行われているリージョンのリージョン識別子に置き換えます (例: `us-east-1`)。

   1. レスポンスを解析してエンドポイント (複数可) を抽出し、TTL 値 (複数可) をキャッシュに保存します。レスポンスは、1 つ以上の [`Endpoint` オブジェクト](https://docs.aws.amazon.com/timestream/latest/developerguide/API_Endpoint.html)の配列です。各 `Endpoint` オブジェクトには、エンドポイントアドレス (`Address`) とそのエンドポイントの TTL (`CachePeriodInMinutes`) が含まれます。

1.  指定された TTL までエンドポイントをキャッシュに保存します。

1.  TTL が切れたら、実装のステップ 1 からやり直して新しいエンドポイントを取得します。

## エンドポイント検出パターンの使用上の注意
<a name="Using-API.endpoint-discovery.describe-endpoints.usage-notes"></a>
+ **DescribeEndpoints** アクションは、Timestream for LiveAnalytics のリージョンエンドポイントが認識する唯一のアクションです。
+ レスポンスには、Timestream for LiveAnalytics API コールを行うエンドポイントのリストが含まれています。
+  レスポンスが成功するには、リストに少なくとも 1 つのエンドポイントが存在する必要があります。リストに複数のエンドポイントがある場合、それらのエンドポイントは API コールに等しく使用でき、呼び出し元は使用するエンドポイントをランダムに選択することができます。
+ エンドポイントの DNS アドレスに加えて、リスト内の各エンドポイントは、エンドポイントの使用を許可する分単位で指定される有効期限 (TTL) を指定します。
+ エンドポイントは、キャッシュに保存し、返された TTL 値で指定された時間 (分単位) 再利用する必要があります。TTL の有効期限が切れるとエンドポイントが機能しなくなるため、TTL の有効期限が切れたら **DescribeEndpoints** への新しい呼び出しを実行して、使用するエンドポイントを更新する必要があります。

# AWS SDKsの使用
<a name="getting-started-sdks"></a>

 AWS SDKs を使用して Amazon Timestream にアクセスできます。Timestream は、言語ごとに 2 つの SDK、つまり Write SDK と Query SDK をサポートしています。Write SDK は CRUD オペレーションを実行し、時系列データを Timestream に挿入するために使用されます。Query SDK は、Timestream に保存されている既存の時系列データをクエリするために使用されます。

選択した SDK の必要な前提条件を満たすと、[コードサンプル](code-samples.md)の使用を開始できます。

**Topics**
+ [Java](getting-started.java.md)
+ [Java v2](getting-started.java-v2.md)
+ [Go](getting-started.go.md)
+ [Python](getting-started.python.md)
+ [Node.js](getting-started.node-js.md)
+ [.NET](getting-started.dot-net.md)

# Java
<a name="getting-started.java"></a>

[Java 1.0 SDK](https://aws.amazon.com/sdk-for-java/) と Amazon Timestream の使用を開始するには、次に示す前提条件を満たす必要があります。

Java SDK に必要な前提条件を満たしたら、[コードサンプル](code-samples.md)の使用を開始できます。

## 前提条件
<a name="getting-started.java.prereqs"></a>

Java の使用を開始する前に、次の操作を行う必要があります。

1.  AWS 「」の設定手順に従います[Timestream for LiveAnalytics へのアクセス](accessing.md)。

1. 以下をダウンロードおよびインストールして、Java 開発環境を設定します。
   + Java SE 開発キット 8 ([Amazon Corretto 8](https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/downloads-list.html) など)。
   + Java IDE ([Eclipse](http://www.eclipse.org) や [IntelliJ](https://www.jetbrains.com/idea/) など)。

      詳細については、[「 の開始方法」を参照してください。 AWS SDK for Java](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html)

1. 開発用の AWS 認証情報とリージョンを設定します。
   +  AWS SDK for Javaで使用する AWS セキュリティの認証情報を設定します。
   +  AWS リージョンを設定して、Timestream for LiveAnalytics のデフォルトのエンドポイントを決定します。

## Apache Maven の使用
<a name="getting-started.java.with-maven"></a>

 [Apache Maven ](https://maven.apache.org/) を使用して AWS SDK for Java プロジェクトを設定および構築できます。

**注記**  
Apache Maven を使用するには、Java SDK とランタイムが 1.8 以降であることを確認します。

「Apache Maven で AWS SDK を使用する」の説明に従って、SDK を Maven の依存関係として設定できます。 [https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-project-maven.html](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-project-maven.html)

コンパイルを実行し、次のコマンドを使用してソースコードを実行できます。

```
mvn clean compile
mvn exec:java -Dexec.mainClass=<your source code Main class>
```

**注記**  
 `<your source code Main class>` は、Java ソースコードのメインクラスへのパスです。

## AWS 認証情報の設定
<a name="getting-started.java.credentials"></a>

では、実行時にアプリケーションに AWS 認証情報を指定[AWS SDK for Java](https://aws.amazon.com/sdk-for-java)する必要があります。このガイドのコード例は、「 *AWS SDK for Java デベロッパーガイド*」の AWS [「開発用の AWS 認証情報とリージョンのセットアップ](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/setup-credentials.html)」で説明されているように、認証情報ファイルを使用していることを前提としています。

以下は、 という名前の AWS 認証情報ファイルの例`~/.aws/credentials`です。チルダ文字 (`~`) はホームディレクトリを表します。

```
[default] 
aws_access_key_id = AWS access key ID goes here 
aws_secret_access_key = Secret key goes here
```

# Java v2
<a name="getting-started.java-v2"></a>

[Java 2.0 SDK](https://aws.amazon.com/sdk-for-java/) と Amazon Timestream の使用を開始するには、次に示す前提条件を満たす必要があります。

Java 2.0 SDK に必要な前提条件を満たしたら、[コードサンプル](code-samples.md)の使用を開始できます。

## 前提条件
<a name="getting-started.java-v2.prereqs"></a>

Java の使用を開始する前に、次の操作を行う必要があります。

1.  AWS 「」の設定手順に従います[Timestream for LiveAnalytics へのアクセス](accessing.md)。

1. 「Apache Maven で AWS SDK を使用する」の説明に従って、SDK を Maven の依存関係として設定できます。 [https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/welcome.html](https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/welcome.html)

1. 以下をダウンロードおよびインストールして、Java 開発環境を設定します。
   + Java SE 開発キット 8 ([Amazon Corretto 8](https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/downloads-list.html) など)。
   + Java IDE ([Eclipse](http://www.eclipse.org) や [IntelliJ](https://www.jetbrains.com/idea/) など)。

      詳細については、[「 の開始方法」を参照してください。 AWS SDK for Java](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html)

## Apache Maven の使用
<a name="getting-started.java-v2.with-maven"></a>

 [Apache Maven ](https://maven.apache.org/) を使用して AWS SDK for Java プロジェクトを設定および構築できます。

**注記**  
Apache Maven を使用するには、Java SDK とランタイムが 1.8 以降であることを確認します。

「Apache Maven で AWS SDK を使用する」の説明に従って、SDK を Maven の依存関係として設定できます。 [https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/welcome.html](https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/welcome.html)pom.xml ファイルに必要な変更についての説明は[こちら](https://docs.aws.amazon.com/sdk-for-java/v2/migration-guide/whats-different.html#adding-v2)です。

コンパイルを実行し、次のコマンドを使用してソースコードを実行できます。

```
mvn clean compile
mvn exec:java -Dexec.mainClass=<your source code Main class>
```

**注記**  
 `<your source code Main class>` は、Java ソースコードのメインクラスへのパスです。

# Go
<a name="getting-started.go"></a>

[Go SDK](https://aws.amazon.com/sdk-for-go/) と Amazon Timestream の使用を開始するには、次に示す前提条件を満たす必要があります。

Go SDK に必要な前提条件を満たしたら、[コードサンプル](code-samples.md)の使用を開始できます。

## 前提条件
<a name="getting-started.prereqs.go"></a>

1.  [GO SDK 1.14 をダウンロードします](https://golang.org/doc/install)。

1.  [GO SDK を設定します](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html)。

1.  [クライアントを構築します](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html)。

# Python
<a name="getting-started.python"></a>

[Python SDK](https://aws.amazon.com/sdk-for-python/) と Amazon Timestream の使用を開始するには、次に示す前提条件を満たす必要があります。

Python SDK の必要な前提条件を満たすと、[コードサンプル](code-samples.md)の使用を開始できます。

## 前提条件
<a name="getting-started.python.prereqs"></a>

Python を使用するには、[こちら](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html)の手順に従って Boto3 をインストールして設定します。

# Node.js
<a name="getting-started.node-js"></a>

[Node.js SDK](https://aws.amazon.com/sdk-for-node-js/) と Amazon Timestream の使用を開始するには、次に示す前提条件を満たす必要があります。

Node.js SDK の必要な前提条件を満たすと、[コードサンプル](code-samples.md)の使用を開始できます。

## 前提条件
<a name="getting-started.node-js.prereqs"></a>

Node.js の使用を開始する前に、次の操作を行う必要があります。

1. [Node.js をインストール](https://nodejs.org/en/)します。

1.  [AWS SDK for JavaScript をインストールします](https://aws.amazon.com/sdk-for-node-js/)。

# .NET
<a name="getting-started.dot-net"></a>

[.NET SDK](https://aws.amazon.com/sdk-for-net/) と Amazon Timestream の使用を開始するには、次に示す前提条件を満たす必要があります。

.NET SDK の必要な前提条件を満たすと、[コードサンプル](code-samples.md)の使用を開始できます。

## 前提条件
<a name="getting-started.dot-net.prereqs"></a>

.NET の使用を開始する前に、必要な NuGet パッケージをインストールし、次のコマンドを実行して AWSSDK.Core バージョンが 3.3.107 以降であることを確認します。

```
dotnet add package AWSSDK.Core
dotnet add package AWSSDK.TimestreamWrite
dotnet add package AWSSDK.TimestreamQuery
```