

サポート終了通知: 2025 年 12 月 15 日に、 AWS はサポートを終了します AWS IoT Analytics。2025 年 12 月 15 日以降、 AWS IoT Analytics コンソールまたは AWS IoT Analytics リソースにアクセスできなくなります。詳細については、[AWS IoT Analytics 「サポート終了](https://docs.aws.amazon.com/iotanalytics/latest/userguide/iotanalytics-end-of-support.html)」を参照してください。

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

# Amazon CloudWatch Events を通じた遅延データ通知の取得
<a name="late-data-notification"></a>

指定した時間枠のデータを使用してデータセットコンテンツを作成する場合、一部のデータが処理に間に合わない可能性があります。遅延を許可するには、 `queryAction` (SQL クエリ) を適用して[データセットを作成する](https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_CreateDataset.html)`QueryFilter`ときに の`deltaTime`オフセットを指定できます。 は差分時間内に到着したデータを AWS IoT Analytics 処理し、データセットの内容にはタイムラグがあります。遅延データ通知機能を使えば、データがデルタ時間後に到着した場合に AWS IoT Analytics では [Amazon CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html) を通じて通知を送信できます。

 AWS IoT Analytics コンソール、[API](https://docs.aws.amazon.com/iotanalytics/latest/APIReference/)、 [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/reference/iotanalytics/index.html)、または [AWS SDK](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sdks.html) を使用して、データセットの遅延データルールを指定できます。

 AWS IoT Analytics API では、 `LateDataRuleConfiguration` オブジェクトはデータセットの遅延データルール設定を表します。このオブジェクトは、`CreateDataset` と `UpdateDataset` API オペレーションに関連する `Dataset` オブジェクトの一部です。

## パラメータ
<a name="lateDataRules-parameters"></a>

を使用してデータセットの遅延データルールを作成するときは AWS IoT Analytics、次の情報を指定する必要があります。

**`ruleConfiguration` (`LateDataRuleConfiguration`)**  
遅延データルールの設定情報を含む構造体。    
**`deltaTimeSessionWindowConfiguration`**  
デルタ時間セッションウィンドウの設定情報を含む構造体。  
[DeltaTime](https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_DeltaTime.html) は時間間隔を指定します。`DeltaTime` を使用して、前回の実行以降にデータストアに到着したデータでデータセットコンテンツを作成できます。`DeltaTime` の例については、「[デルタウィンドウを使用して SQL データセットを作成する (CLI)](https://docs.aws.amazon.com/iotanalytics/latest/userguide/automate-create-dataset.html#automate-example6)」を参照してください。    
**`timeoutInMinutes`**  
時間間隔。`timeoutInMinutes` を使用すると、 AWS IoT Analytics は前回の実行以降に生成された遅延データ通知をバッチアップできます。 AWS IoT Analytics は、一度に 1 つの通知のバッチを CloudWatch Events に送信します。  
タイプ: 整数  
有効な範囲: 1 ～ 60

**`ruleName`**  
遅延データルールの名前。  
タイプ: 文字列

**重要**  
`lateDataRules` を指定するには、データセットで `DeltaTime` フィルターを使用する必要があります。

## 遅延データルールの設定 (コンソール)
<a name="config-late-data-rules-console"></a>

以下の手順は、 AWS IoT Analytics コンソールでデータセットの遅延データルールを設定する方法を示しています。

**遅延データルールの設定**

1. [AWS IoT Analytics コンソール](https://console.aws.amazon.com/iotanalytics/) にサインインします。

1. ナビゲーションペインで、**[Data sets]** (データセット) を選択します。

1. **[Data sets]** (データセット) でターゲットのデータセットを選択します。

1. ナビゲーションペインで、**[Details]** (詳細) を選択します。

1. **[Delta window]** (デルタウィンドウ) セクションで **[Edit]** (編集) を選択します。

1. **[Configure data selection filter]** (データ選択フィルターの設定) で以下を実行します。

   1. **[Data selection window]** (データ選択ウィンドウ) で **[Delta time]** (デルタ時間) を選択します。

   1. **[Offset]** (オフセット) で、期間を入力して単位を選択します。

   1. **[Timestamp expression]** (タイムスタンプ式) で式を入力します。これは、タイムスタンプフィールド名、または時間を取得できる SQL 式になります (*from\$1unixtime(time)* など)。

      タイムスタンプ式の記述方法の詳細については、[Presto 0.172 ドキュメント](https://prestodb.io/docs/0.172/functions/datetime.html)の「*日付と時刻の関数と演算子*」を参照してください。

   1. **[Late data notification]** (遅延データ通知) で **[Active]** (アクティブ) を選択します。

   1. **[Delta time]** (デルタ時間) で、整数を入力します。有効な範囲は 1 ～ 60 です。

   1. [**Save (保存)**] を選択します。  
![\[AWS IoT Analytics コンソールでデータ選択フィルターを設定します。\]](http://docs.aws.amazon.com/ja_jp/iotanalytics/latest/userguide/images/late-data-notification-1.png)

## 遅延データルールの設定 (CLI)
<a name="config-late-data-rules-cli"></a>

 AWS IoT Analytics API では、 `LateDataRuleConfiguration` オブジェクトはデータセットの遅延データルール設定を表します。このオブジェクトは、`CreateDataset` と `UpdateDataset` に関連する `Dataset` オブジェクトの一部です。[API](https://docs.aws.amazon.com/iotanalytics/latest/APIReference/)、[AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/iotanalytics/index.html)、または [AWS SDK](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sdks.html) を使用して、データセット用に遅延データルールを指定することができます。次の例では AWS CLIを使用しています。

指定した遅延データルールを使用してデータセットを作成するには、以下のコマンドを実行します。このコマンドでは、`dataset.json` ファイルが現在のディレクトリ内にあると想定します。

**注記**  
[UpdateDataset](https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_UpdateDataset.html) API を使用して既存のデータセットを更新できます。

```
aws iotanalytics create-dataset --cli-input-json file://dataset.json
```

`dataset.json` ファイルには次の内容が含まれます。
+ *demo\$1dataset* をターゲットのデータセット名に置換します。
+ *demo\$1datastore* をターゲットのデータセット名に置換します。
+ *from\$1unixtime(time)* をタイムスタンプフィールド名、または時間を取得できる SQL 式に置換します。

  タイムスタンプ式の記述方法の詳細については、[Presto 0.172 ドキュメント](https://prestodb.io/docs/0.172/functions/datetime.html)の「*日付と時刻の関数と演算子*」を参照してください。
+ *timeout* を 1 ～ 60 の整数に置換します。
+ *demo\$1rule* を任意の名前に置換します。

```
{
    "datasetName": "demo_dataset",
    "actions": [
        {
            "actionName": "myDatasetAction",
            "queryAction": {
                "filters": [
                    {
                        "deltaTime": {
                            "offsetSeconds": -180,
                            "timeExpression": "from_unixtime(time)"
                        }
                    }
                ],
                "sqlQuery": "SELECT * FROM demo_datastore"
            }
        }
    ],
    "retentionPeriod": {
        "unlimited": false,
        "numberOfDays": 90
    },
    "lateDataRules": [
        {
            "ruleConfiguration": {
                "deltaTimeSessionWindowConfiguration": {
                    "timeoutInMinutes": timeout
                }
            },
            "ruleName": "demo_rule"
        }
    ]
}
```

## 遅延データ通知を受信するためのサブスクライブ
<a name="subscribe-eventbridge"></a>

CloudWatch Events で、 AWS IoT Analyticsから送信された遅延データ通知の処理方法を定義するルールを作成できます。CloudWatch Events により通知が受信されると、ルールで定義されている指定のターゲットアクションが呼び出されます。

### CloudWatch Events ルール作成の前提条件
<a name="cwe-rule-prereq"></a>

の CloudWatch Events ルールを作成する前に AWS IoT Analytics、以下を実行する必要があります。
+ CloudWatch Events のイベント、ルール、およびターゲットをしっかりと理解しておきます。
+ CloudWatch Events ルールによって呼び出される[ターゲット](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-targets.html)を作成して設定します。ルールにより、以下のような数多くのタイプのターゲットを呼び出すことができます。
  +  Amazon Kinesis Streams
  + AWS Lambda 関数
  + Amazon Simple Notification Service (Amazon SNS)のトピック
  + Amazon Simple Queue Service Amazon SQS キュー

  CloudWatch Events ルールと関連するターゲットは、 AWS IoT Analytics リソースを作成した AWS リージョンにある必要があります。詳細については、「AWS 全般のリファレンス」の「[サービスエンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html)」を参照してください。

詳細については、*Amazon CloudWatch Events ユーザーガイド*の「[CloudWatch Events とは](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html)」と「[Amazon CloudWatch Events の開始方法](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CWE_GettingStarted.html)」を参照してください。

### 遅延データ通知イベント
<a name="late-data-notification-event"></a>

遅延データ通知のイベントでは次の形式を使用します。

```
{
	"version": "0",
	"id": "7f51dfa7-ffef-97a5-c625-abddbac5eadd",
	"detail-type": "IoT Analytics Dataset Lifecycle Notification",
	"source": "aws.iotanalytics",
	"account": "123456789012",
	"time": "2020-05-14T02:38:46Z",
	"region": "us-east-2",
	"resources": ["arn:aws:iotanalytics:us-east-2:123456789012:dataset/demo_dataset"],
	"detail": {
		"event-detail-version": "1.0",
		"dataset-name": "demo_dataset",
		"late-data-rule-name": "demo_rule",
		"version-ids": ["78244852-8737-4650-aa4d-3071a01338fa"],
		"message": null
	}
}
```

### CloudWatch Events ルールを作成して遅延データ通知を受信する
<a name="create-cwe-rule-console"></a>

次の手順では、 AWS IoT Analytics 遅延データ通知を Amazon SQS キューに送信するルールを作成する方法を示します。

**CloudWatch Events ルールの作成方法**

1. [Amazon CloudWatch コンソール](https://console.aws.amazon.com/cloudwatch/)にサインインします。

1. ナビゲーションペインの [**Events (イベント)**] で、[**Rules (ルール)**] を選択します。

1. **[Rules]** (ルール) ページで、**[Create rule]** (ルールの作成) を選択します。

1. **[Event Source]** (イベントソース) で、**[Event Pattern]** (イベントパターン) を選択します。

1. **[Build event pattern to match events by service]** (サービス別のイベントに一致するイベントパターンの構築) セクションで以下の作業を実行します。

   1. **[Service Name]** (サービス名) で **[IoT Analytics]** を選択します。

   1. **[Event Type]** (イベントタイプ) で、**[IoT Analytics Dataset Lifecycle Notification]** (IoT Analytics データセットライフサイクル通知) を選択します。

   1. **[Specific dataset name(s)]** (特定のデータセット名) を選択し、ターゲットデータセットの名前を入力します。

1. **[Targets]** (ターゲット) で、**[Add target\$1]** (ターゲットの追加) を選択します。

1. **[SQS queue]** (SQS キュー) を選択して、次の作業を行います。

   1. **[Queue\$1]** (キュー) でターゲットキューを選択します。

1. **[Configure details]** (詳細の設定) を選択します。

1. **[Step 2: Configure rule details]** (ステップ 2: ルールの詳細を設定する) ページで、名前と説明を入力します。

1. [**‬Create rule‭ (ルールの作成)**] を選択します。