

Amazon Monitron は新規顧客に公開されなくなりました。既存のお客様は、通常どおりサービスを引き続き使用できます。Amazon Monitron に似た機能については、[ブログ記事](https://aws.amazon.com/blogs/machine-learning/maintain-access-and-consider-alternatives-for-amazon-monitron)を参照してください。

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

# Amazon Monitron データへのアクセスする
<a name="access-data"></a>

Amazon Monitron の外部から Amazon Monitron の raw データにアクセスするには 2 つの方法があります。

データに継続的にアクセスして、他の場所でも使用したい場合もあるでしょう。その場合は、自動的に[データを Kinesis ストリームに追加](/Monitron/latest/user-guide/monitron-kinesis-export.html)できるよう Amazon Monitron を設定できます。そこから、データを Amazon S3 や Lambda など、さまざまな宛先に移植することができます。このプロセスには設定が必要であり、その設定には Kinesis データストリームを理解する必要があります。ただし、すべての要素を満足のいくように配置できたら、データを自動的にストリーミングし続けることができます。

また、 AWS上に保存して分析しているデータの種類を明確に把握するために、ときどきデータにアクセスしたい場合もあるかもしれません。その場合は、 AWS サポートに[データを手動で Amazon S3 にコピーするよう依頼](data-download-monitron.md)できます。このプロセスに必要な設定は少ないですが、自動化することはできません。Amazon Monitron がこれまでに蓄積してきたデータのみを、1 つのチャンクにまとめて提供します。

**Topics**
+ [Amazon Monitron データを Amazon S3 にエクスポートする](data-download-monitron.md)
+ [Amazon Monitron Kinesis データエクスポート v1](monitron-kinesis-export.md)
+ [Amazon Monitron Kinesis データエクスポート v2](monitron-kinesis-export-v2.md)

# Amazon Monitron データを Amazon S3 にエクスポートする
<a name="data-download-monitron"></a>

 AWSでどのような種類のデータを安全に保存しているかを正確に把握するために、Amazon Monitron が保存している raw データへのアクセスが必要な場合があります。

にサポートチケットを提出し AWS、データを配信するアクセス許可を Amazon Monitron に付与することで、未加工データを取得できます。

プログラムで消費できる Amazon Monitron リソースのリアルタイムの運用データを取得するには、Kinesis ストリームを使用してデータをエクスポートすることを検討してください。詳細については、[「Amazon Monitron Kinesis データエクスポート v2](https://docs.aws.amazon.com/Monitron/latest/user-guide/monitron-kinesis-export-v2.html)」を参照してください。

**Topics**
+ [前提条件](exporting-data-procedure.md)
+ [を使用したデータのエクスポート CloudFormation (推奨オプション)](onetime-download-cflink.md)
+ [コンソールを使用してデータをエクスポートする](onetime-download-console.md)
+ [CloudShell を使用してデータをエクスポートする](export-shell.md)

# 前提条件
<a name="exporting-data-procedure"></a>

Amazon Monitron データを正常にエクスポートするには、次の前提条件を満たす必要があります。
+ 同じリージョンで (Amazon Monitron データの) 別のエクスポートがすでに実行中でないこと。
+ 過去 24 時間以内に同じリージョンで別のエクスポートを実行していないこと。

# を使用したデータのエクスポート CloudFormation (推奨オプション)
<a name="onetime-download-cflink"></a>

**Topics**
+ [ステップ 1: Amazon S3 バケット、IAM ロール、IAM ポリシーを作成します。](#gdpr-cloudfront-makestack)
+ [ステップ 2: リソースのメモを作成する](#gdpr-cloudfront-resources)
+ [ステップ 3: サポートケースを作成する](#gdpr-cloudfront-case)

## ステップ 1: Amazon S3 バケット、IAM ロール、IAM ポリシーを作成します。
<a name="gdpr-cloudfront-makestack"></a>

1.  AWS アカウントにサインインします。

1. 次の URL で新しいブラウザタブを開きます。

   ```
   https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/create/review?templateURL=https://s3.us-east-1.amazonaws.com/monitron-cloudformation-templates-us-east-1/monitron_manual_download.yaml&stackName=monitronexport
   ```

1. 右上隅にある開いている CloudFormation ページで、Amazon Monitron を使用しているリージョンを選択します。

1. **[スタックの作成]** を選択してください。  
![\[CloudFormation quick create stack interface with template URL, stack name, and IAM role options.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-1.png)

1. 次のページで、スタックのステータス (monitronexport) が CREATE\$1COMPLETE になるまで、必要に応じて更新アイコンを選択します。  
![\[CloudFormation stack details page showing monitronexport stack in CREATE_IN_PROGRESS state.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-2.png)

## ステップ 2: リソースのメモを作成する
<a name="gdpr-cloudfront-resources"></a>

1. **[出力]** タブを選択します。

1. キー `MonRoleArn` の値をメモします。

1. キー `S3BucketArn` の値をメモします。

1. ページの右上隅にあるアカウント ID をメモします。

1. ステップ 1 で選択したリージョンをメモします。ページ上部のアカウント ID の左側にも選択したリージョンが表示されるようになりました。  
![\[CloudFormation stack outputs page showing MonRoleArn and S3BucketArn with descriptions.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-3.png)

## ステップ 3: サポートケースを作成する
<a name="gdpr-cloudfront-case"></a>

1.  AWS コンソールから、任意のページの右上隅にある疑問符アイコンを選択し、**サポートセンター**を選択します。  
![\[AWS console interface showing IAM dashboard with サポート Center dropdown menu highlighted.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/gdpr-support-question-mark.png)

1.  次のページで、**[ケースの作成]** を選択します。  
![\[サポート Center interface with Quick solutions, Active cases, and Create case button.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-4.png)

1. **「How can we help?**」ページで、次の操作を行います。

   1.  [**アカウントおよび請求サポート**] を選択します。

   1. Service で****、**Account **を選択します。

   1. **[カテゴリ]** で、**[コンプライアンスと認定]** を選択します。

   1. サポート契約に基づいてそのオプションが利用できる場合は、**[重要度]** を選択します。

   1. **[次のステップ: 追加情報]** を選択します。  
![\[サポート case form with Account and billing selected, and service details specified.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-5.png)

1. **** 「追加情報」では、次の操作を行います。

   1. **[件名]** に **Amazon Monitron data export request** と入力します。

   1. **[説明]** フィールドに、次のように入力します。

      1. アカウント ID

      1. 作成したバケットのリージョン

      1. 作成したバケットの ARN (例:「arn:aws:s3:::bucketname」)

      1. 作成したロールの ARN (例:「arn:aws:iam::273771705212:role/role-for-monitron」)  
![\[Form for Amazon Monitron data export request with fields for account and bucket details.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-6.png)

   1. **[次のステップ: 今すぐ解決するか、お問い合わせください]** を選択します。

1. **今すぐ解決するか、お問い合わせください**。

   1. **今すぐ解決**で、**次へ**を選択します。  
![\[サポート options interface with "Solve now" and "Contact us" buttons, and recommendations.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-7.png)

   1. **Contact us** で、**希望する問い合わせ言語**と希望する問い合わせ方法を選択します。

   1. [**Submit**] を選択してください。ケース ID と詳細を含む確認画面が表示されます。  
![\[Contact options with language selection and choices for Web, Phone, or Chat communication.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-8.png)

 AWS カスタマーサポートスペシャリストができるだけ早くご連絡します。記載されている手順に問題がある場合、スペシャリストが詳細情報を伺うことがあります。必要な情報がすべて提供されている場合は、上記で作成した Amazon S3 バケットにデータがコピーされ次第、スペシャリストからご連絡いたします。

# コンソールを使用してデータをエクスポートする
<a name="onetime-download-console"></a>

**Topics**
+ [ステップ 1: Amazon S3 バケットを設定する](#gdpr-console-s3)
+ [ステップ 2: Amazon Monitron に Amazon S3 へのアクセス権限を付与する](#gdpr-console-set-policy)
+ [ステップ 3: ロールを作成する](#gdpr-console-create-role)
+ [ステップ 4: 信頼ポリシーを作成する](#gdpr-console-trust-policy)
+ [ステップ 5: サポートケースを作成する](#gdpr-console-case)

## ステップ 1: Amazon S3 バケットを設定する
<a name="gdpr-console-s3"></a>

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

1. [**バケットを作成する**] を選択します。  
![\[Amazon S3 console interface showing Buckets section with Create bucket button highlighted.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/gdpr-create-bucket.png)

1. バケットに名前を付け、適切なリージョンを選択します。ページ下部にある **[バケットの作成]** を選択します。
**重要**  
現時点では、Amazon Monitron は次の 3 つのリージョンでのみサポートされています。  
米国東部 (バージニア北部) us-east-1
欧州 (アイルランド) eu-west-1
 アジアパシフィック (シドニー) ap-south-east-2
そのため、Amazon S3 バケットはそれらのリージョンのいずれかでなければなりません。

   また、Amazon Monitron サービスを使用しているリージョンと同じリージョンである必要があります。  
![\[Create bucket interface showing bucket name "monitron-export-example" and AWS リージョン "US East (N. Virginia)".\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/gdpr-create-bucket-2.png)

1. ページにある残りのオプションを確認し、セキュリティのニーズとポリシーに応じて適切な選択を行います。
**重要**  
ユーザーはデータを保護するための適切な措置を講じる責任があります。サーバー側の暗号化を使用し、バケットへのパブリックアクセスをブロックすることを強くお勧めします。

1. 検索ボックスを使用して、先ほど作成したバケットを検索し、選択します。  
![\[AWS S3 console showing a newly created bucket named "monitron-export-example" in the bucket list.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/gdpr-choose-s3-bucket.png)

1. **[プロパティ]** タブから、バケットの名前、ARN、リージョンをメモします。  
![\[S3 bucket properties showing name, region, ARN, and creation date for monitron-export-example.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/gdpr-s3-properties-tab.png)

## ステップ 2: Amazon Monitron に Amazon S3 へのアクセス権限を付与する
<a name="gdpr-console-set-policy"></a>

1. [IAM コンソール](https://console.aws.amazon.com/iam/)を開き、**[ポリシー]** を選択します。  
![\[IAM Dashboard showing resource counts, recent updates, and tools for policy management.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-9.png)

1. [**Create policy**] (ポリシーの作成) を選択します。  
![\[IAM Policies page with options to search, filter, and create a new policy.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-10.png)

1. [**JSON**] タブを選択します。  
![\[Policy editor interface showing JSON structure for specifying permissions in IAM.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-11.png)

1. デフォルトの JSON テキストを削除して、フォームを空にします。

1. バケットアクセスポリシーを貼り付けます。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
   
       "Statement": [
           {
               "Action": [
                   "s3:GetBucketAcl",
                   "s3:GetBucketLocation",
                   "s3:ListBucket"
               ],
               "Effect": "Allow",
               "Resource": [
                   "arn:aws:s3:::bucketname"
               ]
           },
           {
               "Action": [
                   "s3:PutObject",
                   "s3:GetBucketAcl"
               ],
               "Effect": "Allow",
               "Resource": [
                   "arn:aws:s3:::bucketname/*"
               ]
           }
       ]
   }
   ```

------  
![\[IAM policy editor interface showing JSON code for S3 bucket permissions.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-12.png)

1. **[次へ]** を選択してください。

1. **[レビューと作成]** ページで、以下の操作を実行します。

   1. **ポリシーの詳細**に、**ポリシー名**とオプションの**説明**を入力します。

   1. **このポリシーセクションで定義されているアクセス許可**はそのままにしておきます。

   1. タグ**の追加 — *オプション*で、リソースを追跡するためにタグを追加できます。**

   1. [**Create policy**] (ポリシーの作成) を選択します。  
![\[Policy creation interface showing policy details, permissions, and tags sections.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-13.png)

## ステップ 3: ロールを作成する
<a name="gdpr-console-create-role"></a>

1. [ IAM コンソール](https://console.aws.amazon.com/iam/)を開き、**ロール**を選択します。  
![\[IAM Dashboard showing resource counts, recent updates, and available tools.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-14.png)

1. [**ロールの作成**] を選択してください。  
![\[IAM roles interface showing 116 roles and a prominent "Create role" button.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-15.png)

1. **信頼されたエンティティの選択**で、**信頼されたエンティティタイプ**でアカウントを選択します**AWS **。

1. ** AWS アカウント**で、**このアカウント**を選択します。**オプション**を使用して追加の設定をカスタマイズできます。

1. [**次へ**] を選択します。  
![\[AWS アカウント selection interface with trusted entity types and account options.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-16.png)

1. 「アクセス**許可の追加****」の「アクセス許可ポリシー**」で、検索ボックスで作成したポリシーを検索し、ポリシーを選択します。  
![\[Add permissions interface showing search for "monitron-policy" with one matching result selected.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-17.png)

1. **名前、レビュー、作成**ページで、次の操作を行います。

   1. **ロールの詳細**に、**ロール名**とオプションの**説明**を入力します。

   1. **ステップ 1: 信頼されたエンティティを選択する**、**ステップ 2: 権限を追加する** は無視できます。

   1. **ステップ 3: タグを追加する** の場合、**タグを追加する — *オプション***で、オプションのタグを追加してリソースを追跡します。

1. [**ロールの作成**] を選択してください。  
![\[Form for creating a new role with fields for role name, description, trust policy, and permissions.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-18.png)

## ステップ 4: 信頼ポリシーを作成する
<a name="gdpr-console-trust-policy"></a>

1. 先ほど作成したロールを検索し、選択します。  
![\[IAM Roles page showing search results for "monitron-role" with one matching role listed.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-19.png)

1. **[信頼関係]** タブを選択します。  
![\[IAM role details page showing Trust relationships tab and Edit trust policy button.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-20.png)

1. [**Edit trust relationship (信頼関係の編集)**] を選択します。  
![\[Trust relationships tab with Edit trust relationship button highlighted.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/gdpr-edit-trust-relationship.png)

1. デフォルトの JSON テキストを消去して、フォームを空にします。

1. Amazon Monitron がロールを引き受けることを許可するポリシーを貼り付けます。

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

****  

   ```
   {
   	"Version":"2012-10-17",		 	 	 
   	"Statement": [{
   		"Effect": "Allow",
   		"Principal": {
   			"Service": ["monitron.amazonaws.com"]
   		},
   		"Action": "sts:AssumeRole"
   	}]
   }
   ```

------  
![\[Form for creating a new role with fields for role name, description, trust policy, and permissions.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-18.png)

1. **信頼ポリシーの更新** を選択します。

## ステップ 5: サポートケースを作成する
<a name="gdpr-console-case"></a>

1.  AWS コンソールから、任意のページの右上隅にある疑問符アイコンを選択し、**サポートセンター**を選択します。  
![\[AWS console interface showing IAM dashboard with サポート Center dropdown menu highlighted.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/gdpr-support-question-mark.png)

1.  次のページで、**[ケースの作成]** を選択します。  
![\[サポート Center interface with Quick solutions, Active cases, and Create case button.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-4.png)

1. **「How can we help?**」ページで、次の操作を行います。

   1.  [**アカウントおよび請求サポート**] を選択します。

   1. Service で****、**Account **を選択します。

   1. **[カテゴリ]** で、**[コンプライアンスと認定]** を選択します。

   1. サポート契約に基づいてそのオプションが利用できる場合は、**[重要度]** を選択します。

   1. **[次のステップ: 追加情報]** を選択します。  
![\[サポート case form with Account and billing selected, and service details specified.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-5.png)

1. **** 「追加情報」では、次の操作を行います。

   1. **[件名]** に **Amazon Monitron data export request** と入力します。

   1. **[説明]** フィールドに、次のように入力します。

      1. アカウント ID

      1. 作成したバケットのリージョン

      1. 作成したバケットの ARN (例:「arn:aws:s3:::bucketname」)

      1. 作成したロールの ARN (例:「arn:aws:iam::273771705212:role/role-for-monitron」)  
![\[Form for Amazon Monitron data export request with fields for account and bucket details.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-6.png)

   1. **[次のステップ: 今すぐ解決するか、お問い合わせください]** を選択します。

1. **今すぐ解決するか、お問い合わせください**。

   1. **今すぐ解決**で、**次**へを選択します。  
![\[サポート options interface with "Solve now" and "Contact us" buttons, and recommendations.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-7.png)

   1. **Contact us** で、**希望する問い合わせ言語**と希望する問い合わせ方法を選択します。

   1. [**Submit**] を選択してください。ケース ID と詳細を含む確認画面が表示されます。  
![\[Contact options with language selection and choices for Web, Phone, or Chat communication.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-8.png)

 AWS カスタマーサポートスペシャリストができるだけ早くご連絡します。記載されている手順に問題がある場合、スペシャリストが詳細情報を伺うことがあります。必要な情報がすべて提供されている場合は、上記で作成した Amazon S3 バケットにデータがコピーされ次第、スペシャリストからご連絡いたします。

# CloudShell を使用してデータをエクスポートする
<a name="export-shell"></a>

**Topics**
+ [ステップ 1: Amazon S3 バケットを作成する ( を使用 AWS CloudShell)](#create-s3-with-shell)
+ [ステップ 2: Amazon Monitron に Amazon S3 バケットへのアクセスを許可する ( を使用 AWS CloudShell)](#create-policy-with-shell)
+ [ステップ 3: サポートチケットを作成する](#create-support-ticket)

## ステップ 1: Amazon S3 バケットを作成する ( を使用 AWS CloudShell)
<a name="create-s3-with-shell"></a>

1.  AWS コンソールにログインします。

1.  AWS CloudShellを開きます。

   [AWS CloudShell](https://docs.aws.amazon.com//cloudshell/latest/userguide/welcome.html) はブラウザ内で動作するコマンドライン環境です。内では AWS CloudShell、 AWS Command Line Interface を使用して多くの AWS サービスを起動および設定できます。

1. に AWS CloudShell次のコマンドを入力します。ここで、bucketname は作成するバケットの名前です。

   ```
   $ aws s3api create-bucket --bucket bucketname --region us-east-1
   ```

   このコマンドで、raw データを保存する Amazon S3 バケットを作成します。コンソールから簡単にバケットへアクセスできるようになり、適宜データをダウンロードできるようになります。詳細については、「[Amazon S3 バケットの作成、設定、操作](https://docs.aws.amazon.com//AmazonS3/latest/userguide/creating-buckets-s3.html)」を参照してください。
**重要**  
ユーザーはデータを保護するための適切な措置を講じる責任があります。サーバー側の暗号化を使用し、バケットへのパブリックアクセスをブロックすることを強くお勧めします。

   上記のコマンドは、米国東部 (バージニア北部) リージョンにバケットを作成します。必要に応じて、リクエストボディに別のリージョンを指定できます。詳細については、「[リージョン、アベイラビリティーゾーン、および Local Zones](https://docs.aws.amazon.com//AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)」を参照してください。

   次のような出力が表示されます。

   ```
   { "Location": "/bucketname" }
   ```

1. 作成したバケットの [Amazon リソースネーム (ARN)](https://docs.aws.amazon.com//general/latest/gr/aws-arns-and-namespaces.html) を次のように指定します。

   ```
   arn:aws:s3:::bucketname
   ```

## ステップ 2: Amazon Monitron に Amazon S3 バケットへのアクセスを許可する ( を使用 AWS CloudShell)
<a name="create-policy-with-shell"></a>

1. 以下のコードをテキストエディタに貼り付け、「monitron-assumes-role.json.」と名前をつけて保存します。Microsoft Word は使用しないでください。余分な文字が追加されてしまいます。メモ帳や TextEdit などシンプルなテキストエディタを使用してください。

   このポリシーでは、S3 バケットへアクセスできるロールを引き受ける権限を Amazon Monitron に付与します。詳細については、「[IAM のポリシーとアクセス許可](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies.html)」を参照してください。

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

****  

   ```
   {
   	"Version":"2012-10-17",		 	 	 
   	"Statement": [{
   		"Effect": "Allow",
   		"Principal": {
   			"Service": ["monitron.amazonaws.com"]
   		},
   		"Action": "sts:AssumeRole"
   	}]
   }
   ```

------

1.  以下のテキストをテキストエディタに貼り付け、「monitron-role-accesses-s3.json」と名前をつけて保存します。

    このポリシーで、Amazon Monitron は (上記で作成したロールを使用して) Amazon S3 バケットにアクセスできるようになります。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
   
       "Statement": [
           {
               "Action": [
                   "s3:GetBucketAcl",
                   "s3:GetBucketLocation",
                   "s3:ListBucket"
               ],
               "Effect": "Allow",
               "Resource": [
                   "arn:aws:s3:::bucketname"
               ]
           },
           {
               "Action": [
                   "s3:PutObject",
                   "s3:GetBucketAcl"
               ],
               "Effect": "Allow",
               "Resource": [
                   "arn:aws:s3:::bucketname/*"
               ]
           }
       ]
   }
   ```

------

1. 作成したテキストファイルでは、*バケット名*が出現する箇所をすべて自分のバケット名に置き換えます。

   例えば、バケットの名前が「relentless」の場合、ファイルは次のようになります。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
   
       "Statement": [
           {
               "Action": [
                   "s3:GetBucketAcl",
                   "s3:GetBucketLocation",
                   "s3:ListBucket"
               ],
               "Effect": "Allow",
               "Resource": [
                   "arn:aws:s3:::relentless"
               ]
           },
           {
               "Action": [
                   "s3:PutObject",
                   "s3:GetBucketAcl"
               ],
               "Effect": "Allow",
               "Resource": [
                   "arn:aws:s3:::relentless/*"
               ]
           }
       ]
   }
   ```

------

1. 作成したばかりの JSON ファイルを両方とも、ホームディレクトリの CloudShell にアップロードします。

   ファイルをアップロードするには、CloudShell コンソールページの右上隅から [アクション] を選択し、[ファイルのアップロード] を選択します。

1. CloudShell のコマンドラインで次のとおりに入力します。

   **aws iam create-role --role-name role-for-monitron --assume-role-policy-document "cat monitron-assumes-role.json"**

   このコマンドはロールを作成し、monitron-assumes-role ポリシーをアタッチします。

    次のような出力が表示されます。

   ```
    {
   	"Role": {
   		"Path": "/",
   		"RoleName": "role-for-monitron",
   		"RoleId": "AROAT7PQQWN6BMTMASVPP",
   		"Arn": "arn:aws:iam::273771705212:role/role-for-monitron",
   		"CreateDate": "2021-07-14T02:48:15+00:00",
   		"AssumeRolePolicyDocument": {
   			"Version": "2012-10-17",		 	 	 
   			"Statement": [{
   				"Sid": "",
   				"Effect": "Allow",
   				"Principal": {
   					"Service": [
   						"monitron.amazonaws.com"
   					]
   				},
   				"Action": "sts:AssumeRole"
   			}]
   		}
   	}
   }
   ```

    作成したロールの ARN 値をメモします。後で必要になります。

   この例では、ARN 値は `arn:aws:iam::273771705212:role/role-for-monitron` です。

1. CloudShell のコマンドラインで次のとおりに入力します。

    ** aws iam create-policy --policy-name role-uses-bucket --policy-document "cat role-uses-bucket.json"** 

    このコマンドでは monitron-role-accesses-s3 ポリシーを作成します。

    次のような出力が表示されます。

   ```
    {
   	"Policy": {
   		"PolicyName": "role-uses-bucket",
   		"PolicyId": "ANPAT7PQQWN6I5KLORSDQ",
   		"Arn": "arn:aws:iam::273771705212:policy/role-uses-bucket",
   		"Path": "/",
   		"DefaultVersionId": "v1",
   		"AttachmentCount": 0,
   		"PermissionsBoundaryUsageCount": 0,
   		"IsAttachable": true,
   		"CreateDate": "2021-07-14T02:19:23+00:00",
   		"UpdateDate": "2021-07-14T02:19:23+00:00"
   	}
   }
   ```

    作成したポリシーの ARN 値をメモします。次のステップで必要になります。

    この例では、ARN 値は次の通りです。

   ```
   arn:aws:iam::273771705212:policy/role-uses-bucket
   ```

1. CloudShell のコマンドラインに以下を入力し、ARN を role-uses-bucket ポリシーの ARN に置き換えます。

   ```
    aws iam attach-role-policy --role-name role-for-monitron --policy-arn
         arn:aws:iam::273771705212:policy/role-uses-bucket
   ```

   このコマンドでは、作成したロールに monitron-role-accesses-s3 ポリシーがアタッチされます。

    これで、Amazon S3 バケット、Amazon Monitron が引き受けることができるロール、Amazon Monitron がそのロールを引き受けることを許可するポリシー、およびそのロールを使用するサービスが Amazon S3 バケットを使用することを許可する別のポリシーを作成し、プロビジョニングすることができました。

   ユーザーはデータを保護するための適切な措置を講じる責任があります。サーバー側の暗号化を使用し、バケットへのパブリックアクセスをブロックすることを強くお勧めします。詳細については「[パブリックアクセスのブロック](https://docs.aws.amazon.com//AmazonS3/latest/userguide/access-control-block-public-access.html)」を参照してください。

## ステップ 3: サポートチケットを作成する
<a name="create-support-ticket"></a>

1.  AWS コンソールから、任意のページの右上隅にある疑問符アイコンを選択し、**サポートセンター**を選択します。  
![\[AWS console interface showing IAM dashboard with サポート Center dropdown menu highlighted.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/gdpr-support-question-mark.png)

1.  次のページで、**[ケースの作成]** を選択します。  
![\[サポート Center interface with Quick solutions, Active cases, and Create case button.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-4.png)

1. **「How can we help?**」ページで、次の操作を行います。

   1.  [**アカウントおよび請求サポート**] を選択します。

   1. Service で****、**Account **を選択します。

   1. **[カテゴリ]** で、**[コンプライアンスと認定]** を選択します。

   1. サポート契約に基づいてそのオプションが利用できる場合は、**[重要度]** を選択します。

   1. **[次のステップ: 追加情報]** を選択します。  
![\[サポート case form with Account and billing selected, and service details specified.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-5.png)

1. **** 「追加情報」では、次の操作を行います。

   1. **[件名]** に **Amazon Monitron data export request** と入力します。

   1. **[説明]** フィールドに、次のように入力します。

      1. アカウント ID

      1. 作成したバケットのリージョン

      1. 作成したバケットの ARN (例:「arn:aws:s3:::bucketname」)

      1. 作成したロールの ARN (例:「arn:aws:iam::273771705212:role/role-for-monitron」)  
![\[Form for Amazon Monitron data export request with fields for account and bucket details.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-6.png)

   1. **[次のステップ: 今すぐ解決するか、お問い合わせください]** を選択します。

1. **今すぐ解決するか、お問い合わせください**。

   1. **今すぐ解決**で、**次**へを選択します。  
![\[サポート options interface with "Solve now" and "Contact us" buttons, and recommendations.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-7.png)

   1. **Contact us** で、**希望する問い合わせ言語**と希望する問い合わせ方法を選択します。

   1. [**Submit**] を選択してください。ケース ID と詳細を含む確認画面が表示されます。  
![\[Contact options with language selection and choices for Web, Phone, or Chat communication.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/s3-export-8.png)

 AWS カスタマーサポートスペシャリストができるだけ早くご連絡します。記載されている手順に問題がある場合、スペシャリストが詳細情報を伺うことがあります。必要な情報がすべて提供されている場合は、上記で作成した Amazon S3 バケットにデータがコピーされ次第、スペシャリストからご連絡いたします。

# Amazon Monitron Kinesis データエクスポート v1
<a name="monitron-kinesis-export"></a>

**注記**  
Amazon Monitron の Kinesis データエクスポートスキーマ v1 は廃止されました。[v2 データエクスポートスキーマ](monitron-kinesis-export-v2.md)の詳細を参照してください。

受信した測定データとそれに対応する推論結果を Amazon Monitron からエクスポートして、リアルタイムで分析ができます。データのエクスポートでは、ライブデータが Kinesis にストリーミングされます。

**Topics**
+ [Kinesis ストリームへデータをエクスポートする](#exporting-stream-procedure)
+ [ライブデータエクスポート設定を編集する](#edit-live-export)
+ [ライブデータエクスポートを停止する](#stop-kinesis-export)
+ [データエクスポートのエラーを表示する](#viewing-kinesis-export-errors)
+ [Kinesis ストリームへのサーバー側の暗号化の使用](#data-export-server-side-encryption)
+ [Amazon CloudWatch Logs による のモニタリング](data-export-cloudwatch-logs.md)
+ [エクスポートしたデータを Amazon S3 に保存する](kinesis-store-S3.md)
+ [Lambda でデータを処理する](data-export-lambda.md)
+ [v1 データエクスポートスキーマを理解する](data-export-schema.md)

## Kinesis ストリームへデータをエクスポートする
<a name="exporting-stream-procedure"></a>

1. プロジェクトのメインページの下部、右側にある **[ライブデータのエクスポートを開始]** を選択します。

1. **[Amazon Kinesis データストリームの選択]** で、次のいずれかの操作を行います。
   + 検索ボックスに既存のストリーム名を入力して、ステップ 5 に進みます。
   + **[新しいデータストリームを作成]** を選択します。

1. **[データストリームの作成]** ページの **[データストリームの設定]** で、データストリーム名を入力します。

1. [データストリーム容量] で、[容量モード] を選択します。
   + データストリームのスループット要件が予測不可能で変動する場合は、**[オンデマンド]** を選択します。
   + データストリームのスループット要件を確実に見積もることができる場合は、**[プロビジョニング済み]** を選択してください。次に、[プロビジョニングされたシャード] で、作成するシャード数を入力するか、**[シャードの見積もり]** を選択します。

1. [**データストリームの作成**] を選択します。

## ライブデータエクスポート設定を編集する
<a name="edit-live-export"></a>

ライブデータエクスポート設定を編集するには、

1. Amazon Monitron コンソールを開きます。

1. ナビゲーションペインで、**[プロジェクト]** を選択します。

1. プロジェクトが複数ある場合は、エクスポート設定を編集するプロジェクトを選択します。

1. プロジェクトのメインページにある、**[ライブデータエクスポート]** の **[アクション]** のドロップダウンメニューから、**[ライブデータエクスポート設定の編集]** を選択します。

## ライブデータエクスポートを停止する
<a name="stop-kinesis-export"></a>

1. Amazon Monitron コンソールを開きます。

1. ナビゲーションペインで、**[プロジェクト]** を選択します。

1. プロジェクトが複数ある場合は、エクスポート設定を編集するプロジェクトを選択します。

1. プロジェクトのメインページにある、**[ライブデータエクスポート]** の **[アクション]** のドロップダウンメニューから **[ライブデータのエクスポートを停止]** を選択します。

1. ポップアップウィンドウで、**[停止]** を選択します。

## データエクスポートのエラーを表示する
<a name="viewing-kinesis-export-errors"></a>

CloudWatch Logs のインターフェイスでエラーメッセージを表示するには、
+ Amazon Monitron コンソールで、プロジェクトのメインページにある **[ライブデータのエクスポート]** から、**[CloudWatch ロググループ]** を選択します。

## Kinesis ストリームへのサーバー側の暗号化の使用
<a name="data-export-server-side-encryption"></a>

Kinesis データのエクスポートをセットアップする前に、Kinesis ストリームに対してサーバー側の暗号化を有効にできます。ただし、Kinesis データのエクスポートをセットアップした後にサーバー側の暗号化を有効にすると、Amazon Monitron はストリームに公開できなくなります。これは、Amazon Monitron に Kinesis に送信されたデータを暗号化できる [kms:GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) を呼び出す権限がないためです。

この問題を回避するには、設定を変更せず、[ライブデータエクスポート設定を編集する](#edit-live-export) に記載の指示に従ってください。設定した暗号化をエクスポート設定に関連付けることができます。

# Amazon CloudWatch Logs による のモニタリング
<a name="data-export-cloudwatch-logs"></a>

Amazon CloudWatch Logs を使用して、Amazon Monitron のライブデータエクスポートをモニタリングできます。測定値のエクスポートに失敗すると、Amazon Monitron は CloudWatch Logs にログイベントを送信します。エラーログにメトリクスフィルタを設定してメトリクスを生成し、アラームを設定することもできます。アラームは特定のしきい値を監視し、これらのしきい値に達したときに通知を送信したりアクションを実行したりできます。詳細については、『[CloudWatch ユーザーガイド](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)』を参照してください。

Amazon Monitron は、/aws/monitron/data-export/\$1HASH\$1ID\$1 ロググループにログイベントを送信します。

ログイベントには次の JSON 形式があります。

```
{ 
    "assetDisplayName": "string", 
    "destination": "string", 
    "errorCode": "string", 
    "errorMessage": "string", 
    "eventId": "string", 
    "positionDisplayName": "string", 
    "projectDisplayName": "string", 
    "projectName": "string", 
    "sensorId": "string", 
    "siteDisplayName": "string", 
    "timestamp": "string"
}
```

assetDisplayName  
+ アプリに表示されるアセット名
+ タイプ: 文字列

destination  
+ Kinesis データストリームの ARN
+ タイプ: 文字列
+ パターン: arn:aws:kinesis:\$1\$1REGION\$1\$1:\$1\$1AWS\$1ACCOUNT\$1ID\$1\$1:stream/\$1\$1STREAM\$1NAME\$1\$1

errorCode  
+ エラーコード
+ 型: 文字列
+ 有効な値：`INTERNAL_SEVER_ERROR | KINESIS_RESOURCE_NOT_FOUND | KINESIS_PROVISIONED_THROUGHPUT_EXCEEDED | KMS_ACCESS_DENIED | KMS_NOT_FOUND | KMS_DISABLED | KMS_INVALID_STATE | KMS_THROTTLING`

errorMessage  
+ 詳しいエラーメッセージ
+ タイプ: 文字列

eventId  
+ 各測定値のエクスポートに対応する固有のイベント ID
+ タイプ: 文字列

positionDisplayName  
+ アプリに表示されるセンサーの配置名
+ タイプ: 文字列

sensorId  
+ 測定値の送信元となるセンサーの物理 ID
+ タイプ: 文字列

siteDisplayName  
+ アプリに表示されるサイト名
+ タイプ: 文字列

timestamp  
+ Amazon Monitron サービスが測定値を受信したときのタイムスタンプ (UTC 時間)
+ タイプ: 文字列
+ パターン: yyyy-mm-dd hh:mm:ss.SSS

# エクスポートしたデータを Amazon S3 に保存する
<a name="kinesis-store-S3"></a>

**Topics**
+ [事前定義された CloudFormation テンプレートを使用する](#kinesis-cloudfront-makestack)
+ [コンソールで Kinesis を手動で設定する](#kinesis-configure-console)

## 事前定義された CloudFormation テンプレートを使用する
<a name="kinesis-cloudfront-makestack"></a>

Amazon Monitron には、Kinesis データストリームから Amazon S3 バケットにデータを配信するように Firehose をすばやくセットアップするための事前定義された AWS CloudFormation テンプレートが用意されています。このテンプレートによって動的パーティショニングが可能になり、配信される Amazon S3 オブジェクトでは Amazon Monitron が推奨する以下のキーフォーマットが使用されます: `/project={projectName}/site={siteName}/time={yyyy-mm-dd 00:00:00}/{filename}`

1.  AWS アカウントにサインインします。

1. 以下の URL で新しいブラウザタブを開きます。

   ```
   https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/create/review?templateURL=https://s3.us-east-1.amazonaws.com/monitron-cloudformation-templates-us-east-1/monitron_kinesis_data_export.yaml&stackName=monitron-kinesis-live-data-export
   ```

1. 右上隅にある開いている CloudFormation ページで、Amazon Monitron を使用しているリージョンを選択します。

1. デフォルトでは、Amazon S3 にデータを配信するのに必要なその他のリソースとともに、新しい Kinesis データストリームと S3 バケットがテンプレートで作成されます。パラメータを変更して既存のリソースを使用できます。

1. が *IAM リソースを作成する AWS CloudFormation 可能性があることを確認するチェックボックスをオンにします。*

1. **[スタックの作成]** を選択してください。

1. 次のページで、スタックのステータスが CREATE\$1COMPLETE になるまで必要に応じて更新アイコンを選択します。

## コンソールで Kinesis を手動で設定する
<a name="kinesis-configure-console"></a>

1.  AWS マネジメントコンソールにサインインし、https://console.aws.amazon.com/kinesis で Kinesis コンソールを開きます。

1. ナビゲーションペインで、**[配信ストリーム]** を選択します。

1. [**Create delivery stream (配信ストリームの作成)**] を選択します。

1. [ソース] で、**[Amazon Kinesis Data Streams]** を選択します。

1. [送信先] で、**[Amazon S3]** を選択します。

1. **[ソースの設定] の [Kinesis Data Stream]** で、Kinesis データストリームの ARN を入力します。

1. **[配信ストリーム名]** に、Kinesis データストリーム名を入力します。

1. **[送信先の設定]** で [Amazon S3 バケット] を選択するか、バケット URI を入力します。

1. (任意) JSON のインライン解析を使用して動的パーティショニングを有効にします。このオプションは、ソース情報とタイムスタンプに基づいて、ストリーミング測定データを分割する場合に適しています。例えば、次のようになります。
   + **[動的パーティショニング]** で **[有効]** を選択します。
   + **[改行の区切り文字]** で **[有効]** を選択します。
   + **[JSON のインライン解析]** で **[有効]** を選択します。
   + **[動的パーティショニングキー]** に以下を追加します。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/kinesis-store-S3.html)

1. **[動的パーティショニングキーを適用]** を選択し、生成された Amazon S3 バケットプレフィックスが `!{partitionKeyFromQuery:project}/!{partitionKeyFromQuery:site}/!{partitionKeyFromQuery:time}/` であることを確認します。

1. Amazon S3 で、オブジェクトは次のキー形式を使用します: `/project={projectName}/site={siteName}/time={yyyy-mm-dd 00:00:00}/{filename}`

1. [**Create delivery stream (配信ストリームの作成)**] を選択します。

1. (任意) より詳細なパスを使用してください。

   動的パーティションを選択した場合、 AWS Glue と Athena を使用してデータをクエリする場合は、前の Amazon S3 キー形式を使用します。より詳細なキー形式を選択することもできますが、Amazon Athena クエリでは効率的ではありません。より詳細な Amazon S3 のキーパスを設定する例を次に示します。

   **[動的パーティショニングキー]** に以下を追加します。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/kinesis-store-S3.html)

   Amazon S3 で、オブジェクトは次のキー形式を使用します: ` /project={projectName}/site={siteName}/asset={assetName}/position={positionName}/sensor={sensorId}/date={yyyy-mm-dd}/time={HH:MM:SS}/{filename}`

# Lambda でデータを処理する
<a name="data-export-lambda"></a>

**Topics**
+ [ステップ 1: AWS リソースへのアクセス許可を関数に付与する [IAM ロール](https://docs.aws.amazon.com//lambda/latest/dg/lambda-intro-execution-role.html)を作成する](#create-iam-role)
+ [ステップ 2 : Lambda 関数を作成する](#create-lambda-function)
+ [ステップ 3: Lambda 関数を設定する](#configure-lambda-function)
+ [ステップ 4: AWS Lambda コンソールで Kinesis トリガーを有効にする](#enable-lambda-trigger)

## ステップ 1: AWS リソースへのアクセス許可を関数に付与する [IAM ロール](https://docs.aws.amazon.com//lambda/latest/dg/lambda-intro-execution-role.html)を作成する
<a name="create-iam-role"></a>

1. IAM コンソールの [[ロールページ](https://console.aws.amazon.com/iam/home?#/roles)] を開きます。

1. [**ロールの作成**] を選択します。

1. 次のプロパティでロールを作成します。
   + 信頼されたエンティティ: Lambda
   + 権限: AWSLambdaKinesisExecutionRole (Kinesis ストリームが暗号化されている場合は、AWSKeyManagementServicePowerUser)
   + ロール名: lambda-kinesis-role  
![\[IAM role creation interface showing name, review, and create steps with role details and permissions.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/lambda-create-role.png)

## ステップ 2 : Lambda 関数を作成する
<a name="create-lambda-function"></a>

1. Lambda コンソールの **[関数]** ページを開きます。

1. [**Create function**] (関数の作成) を選択します。

1. [**設計図の使用**] を選択します。

1. **Blueprints** の検索ボックスで、**kinesis-process-record (nodejs)** または **kinesis-process-record-python** を検索して選択します。

1. [**設定**] を選択します。  
![\[Create function interface with options to author from scratch, use a blueprint, or select container image.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/lambda-create-function.png)

## ステップ 3: Lambda 関数を設定する
<a name="configure-lambda-function"></a>

1. **[関数名]** を選択します。

1. 最初のステップで作成したロールを **[実行ロール]** として選択します。

1. Kinesis トリガーを設定します。

   1. Kinesis ストリーミングを選択します。

   1. **[関数の作成]** を選択します。  
![\[Lambda function configuration form with basic information and Kinesis trigger settings.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/lambda-kinesis-trigger.png)

## ステップ 4: AWS Lambda コンソールで Kinesis トリガーを有効にする
<a name="enable-lambda-trigger"></a>

1. **[設定]** タブで、**[トリガー]** を選択します。

1. Kinesis ストリーミング名の横にあるボックスにチェックを入れ、**[有効]** を選択します。  
![\[Lambda function configuration page with Triggers tab and Kinesis stream trigger highlighted.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/kinesis-process-record-lambda.png)

この例で使用されているブループリントは、選択したストリームのログデータのみを消費します。後で Lambda 関数コードを追加編集して、より複雑なタスクを実行できます。

# v1 データエクスポートスキーマを理解する
<a name="data-export-schema"></a>

**注記**  
Amazon Monitron の Kinesis データエクスポートスキーマ v1 は廃止されました。[v2 データエクスポートスキーマ](monitron-kinesis-export-v2.md)の詳細を参照してください。

各測定データとそれに対応する推論結果は、1 つの Kinesis データストリームレコードとして JSON 形式でエクスポートされます。

**Topics**
+ [v1 スキーマ形式](#data-export-schema-format)
+ [v1 スキーマパラメータ](#data-export-schema-parameters)

## v1 スキーマ形式
<a name="data-export-schema-format"></a>

```
{
    "timestamp": "string",
    "eventId": "string",
    "version": "string",
    "projectDisplayName": "string",
    "siteDisplayName": "string",
    "assetDisplayName": "string",
    "sensorPositionDisplayName": "string",
    "sensor": {
        "physicalId": "string",
        "rssi": number
    },
    "gateway": {
        "physicalId": "string"
    },
    "measurement": {
        "features": {
            "acceleration": {
                "band0To6000Hz": {
                    "xAxis": {
                        "rms": number
                    },
                    "yAxis": {
                        "rms": number
                    },
                    "zAxis": {
                        "rms": number
                    }
                },
                "band10To1000Hz": {
                    "resultantVector": {
                        "absMax": number,
                        "absMin": number,
                        "crestFactor": number,
                        "rms": number
                    },
                    "xAxis": {
                        "rms": number
                    },
                    "yAxis": {
                        "rms": number
                    },
                    "zAxis": {
                        "rms": number
                    }
                }
            },
            "temperature": number,
            "velocity": {
                "band10To1000Hz": {
                    "resultantVector": {
                        "absMax": number,
                        "absMin": number,
                        "crestFactor": number,
                        "rms": number
                    },
                    "xAxis": {
                        "rms": number
                    },
                    "yAxis": {
                        "rms": number
                    },
                    "zAxis": {
                        "rms": number
                    }
                }
            }
        },
        "sequenceNo": number
    },
    "models": {
        "temperatureML": {
            "persistentClassificationOutput": "string",
            "pointwiseClassificationOutput": "string"
        },
        "vibrationISO": {
            "isoClass": "string",
            "mutedThreshold": "string",
            "persistentClassificationOutput": "string",
            "pointwiseClassificationOutput": "string"
        },
        "vibrationML": {
            "persistentClassificationOutput": "string",
            "pointwiseClassificationOutput": "string"
        }
    },
    "assetState": {
        "newState": "string",
        "previousState": "string"
    }
}
```

## v1 スキーマパラメータ
<a name="data-export-schema-parameters"></a>

timestamp  
+ Monitron サービスが測定値を受信したときのタイムスタンプ (UTC時間)
+ タイプ: 文字列
+ パターン: yyyy-mm-dd hh:mm:ss.SSS

eventId  
+ 各測定値に割り当てられる固有のデータエクスポートイベント ID。受信した Kinesis ストリームレコードを重複排除するのに使用できます。
+ タイプ: 文字列

バージョン  
+ スキーマバージョニング
+ タイプ: 文字列
+ 現在の値: 1.0

projectDisplayName  
+ アプリとコンソールに表示されるプロジェクト名
+ タイプ: 文字列

siteDisplayName  
+ アプリに表示されるサイト名
+ タイプ: 文字列

assetDisplayName  
+ アプリに表示されるアセット名
+ タイプ: 文字列

sensorPositionDisplayName  
+ アプリに表示されるセンサーの配置名
+ タイプ: 文字列

sensor.physicalId  
+ 測定値の送信元となるセンサーの物理 ID
+ タイプ: 文字列

sensor.rssi  
+ 信号強度のインジケータ値を受信する Bluetooth センサー
+ タイプ: 数値
+ 単位: dBm

gateway.physicalId  
+ Amazon Monitron サービスへのデータ送信に使用されるゲートウェイの物理 ID
+ タイプ: 文字列

measurement.features.acceleration.band0To6000Hz.xAxis.rms  
+ X 軸の 0～6000 Hz の周波数帯域で観測された加速度の二乗平均平方根
+ タイプ: 数値
+ 単位: m/s^2

measurement.features.acceleration.band0To6000Hz.yAxis.rms  
+ Y 軸の 0～6000 Hz の周波数帯域で観測された加速度の二乗平均平方根
+ タイプ: 数値
+ 単位: m/s^2

measurement.features.acceleration.band0To6000Hz.zAxis.rms  
+ Y 軸の 0～6000 Hz の周波数帯域で観測された加速度の二乗平均平方根
+ タイプ: 数値
+ 単位: m/s^2

measurement.features.acceleration.band10To1000Hz.resultantVector.absMax  
+ 10～1000 Hz の周波数帯域で観測された絶対最大加速度
+ タイプ: 数値
+ 単位: m/s^2

measurement.features.acceleration.band10To1000Hz.resultantVector.absMin  
+ 10～1000 Hz の周波数帯域で観測された絶対最小加速度
+ タイプ: 数値
+ 単位: m/s^2

measurement.features.acceleration.band10To1000Hz.resultantVector.crestFactor  
+ 10～1000 Hz の周波数帯域で観測された加速度の波高率
+ タイプ: 数値

measurement.features.acceleration.band10To1000Hz.resultantVector.rms  
+ 10～1000 Hz の周波数帯域で観測された加速度の二乗平均平方根
+ タイプ: 数値
+ m/s^2

measurement.features.acceleration.band10To1000Hz.xAxis.rms  
+ X 軸の 10～1000 Hz の周波数帯域で観測された加速度の二乗平均平方根
+ タイプ: 数値
+ m/s^2

measurement.features.acceleration.band10To1000Hz.yAxis.rms  
+ Y 軸の 10～1000 Hz の周波数帯域で観測された加速度の二乗平均平方根
+ タイプ: 数値
+ m/s^2

measurement.features.acceleration.band10To1000Hz.zAxis.rms  
+ Z 軸の 10～1000 Hz の周波数帯域で観測された加速度の二乗平均平方根
+ タイプ: 数値
+ m/s^2

measurement.features.temperature  
+ 観測された温度
+ タイプ: 数値
+ °C/摂氏

measurement.features.velocity.band10To1000Hz.resultantVector.absMax  
+ 10～1000 Hz の周波数帯域で観測された絶対最大速度
+ タイプ: 数値
+ mm/秒

measurement.features.velocity.band10To1000Hz.resultantVector.absMin  
+ 10～1000 Hz の周波数帯域で観測された絶対最小速度
+ タイプ: 数値
+ mm/秒

measurement.features.velocity.band10To1000Hz.resultantVector.crestFactor  
+ 10～1000 Hz の周波数帯域で観測された速度の波高率
+ タイプ: 数値

measurement.features.velocity.band10To1000Hz.resultantVector.rms  
+ 10～1000 Hz の周波数帯域で観測された速度の二乗平均平方根
+ タイプ: 数値
+ mm/秒

measurement.features.velocity.band10To1000Hz.xAxis.rms  
+ X 軸の 10～1000 Hz の周波数帯域で観測された速度の二乗平均平方根
+ タイプ: 数値
+ mm/秒

measurement.features.velocity.band10To1000Hz.yAxis.rms  
+ Y 軸の 10～1000 Hz の周波数帯域で観測された速度の二乗平均平方根
+ タイプ: 数値
+ mm/秒

measurement.features.velocity.band10To1000Hz.zAxis.rms  
+ Z 軸の 10～1000 Hz の周波数帯域で観測された速度の二乗平均平方根
+ タイプ: 数値
+ mm/秒

measurement.sequenceNo  
+ 測定のシーケンス番号
+ タイプ: 数値

models.temperatureML.persistentClassificationOutput  
+ 機械学習ベースの温度モデルからの永続的な分類出力
+ タイプ: 数値
+ 有効な値：`UNKNOWN | HEALTHY | WARNING | ALARM`

models.temperatureML.pointwiseClassificationOutput  
+ 機械学習ベースの温度モデルからのポイントごとの分類出力
+ 型: 文字列
+ 有効な値：`UNKNOWN | INITIALIZING | HEALTHY | WARNING | ALARM`

models.vibrationISO.isoClass  
+ ISO ベースの振動モデルで使用される ISO 20816 クラス (機械振動の測定と評価に関する規格)
+ 型: 文字列
+ 有効な値：`CLASS1 | CLASS2 | CLASS3 | CLASS4 | FAN_BV2`

models.vibrationISO.mutedThreshold  
+ ISO ベースの振動モデルからの通知をミュートするしきい値
+ 型: 文字列
+ 有効な値：`WARNING | ALARM`

models.vibrationISO.persistentClassificationOutput  
+ ISO ベースの振動モデルからの永続的な分類出力
+ 型: 文字列
+ 有効な値：`UNKNOWN | HEALTHY | WARNING | ALARM`

models.vibrationISO.pointwiseClassificationOutput  
+ ISO ベースの振動モデルからのポイントごとの分類出力
+ 型: 文字列
+ 有効な値：`UNKNOWN | HEALTHY | WARNING | ALARM | MUTED_WARNING | MUTED_ALARM`

models.vibrationML.persistentClassificationOutput  
+ 機械学習ベースの振動モデルからの永続的な分類出力
+ 型: 文字列
+ 有効な値：`UNKNOWN | HEALTHY | WARNING | ALARM`

models.vibrationML.pointwiseClassificationOutput  
+ 機械学習ベースの振動モデルからのポイントごとの分類出力
+ 型: 文字列
+ 有効な値：`UNKNOWN | INITIALIZING | HEALTHY | WARNING | ALARM`

assetState.newState  
+ 測定を処理した後の機械の状態
+ 型: 文字列
+ 有効な値：`UNKNOWN | HEALTHY | NEEDS_MAINTENANCE | WARNING | ALARM`

assetState.previousState  
+ 測定を処理する前の機械の状態
+ 型: 文字列
+ 有効な値：`UNKNOWN | HEALTHY | NEEDS_MAINTENANCE | WARNING | ALARM`

# Amazon Monitron Kinesis データエクスポート v2
<a name="monitron-kinesis-export-v2"></a>

 受信した測定データとそれに対応する推論結果を Amazon Monitron からエクスポートして、リアルタイムで分析ができます。データのエクスポートでは、ライブデータが Kinesis にストリーミングされます。

**Topics**
+ [Kinesis ストリームへデータをエクスポートする](#exporting-stream-procedure-v2)
+ [ライブデータエクスポート設定を編集する](#edit-live-export-v2)
+ [ライブデータエクスポートを停止する](#stop-kinesis-export-v2)
+ [データエクスポートのエラーを表示する](#viewing-kinesis-export-errors-v2)
+ [Kinesis ストリームへのサーバー側の暗号化の使用](#data-export-server-side-encryption-v2)
+ [Amazon CloudWatch Logs による のモニタリング](data-export-cloudwatch-logs-v2.md)
+ [エクスポートしたデータを Amazon S3 に保存する](kinesis-store-S3-v2.md)
+ [Lambda でデータを処理する](data-export-lambda-v2.md)
+ [v2 データエクスポートスキーマを理解する](data-export-schema-v2.md)
+ [Kinesis v1 から v2 への移行](migration-from-v1-to-v2.md)

## Kinesis ストリームへデータをエクスポートする
<a name="exporting-stream-procedure-v2"></a>

1. プロジェクトのメインページの下部、右側にある **[ライブデータのエクスポートを開始]** を選択します。

1. **[Kinesis データストリームの選択]** で、次のいずれかの操作を行います。
   + 検索ボックスに既存のストリーム名を入力して、ステップ 5 に進みます。
   +  **[新しいデータストリームを作成]** を選択します。

1. **[データストリームの作成]** ページの **[データストリームの設定]** で、データストリーム名を入力します。

1. [データストリーム容量] で、[容量モード] を選択します。
   + データストリームのスループット要件が予測不可能で変動する場合は、**[オンデマンド]** を選択します。
   + データストリームのスループット要件を確実に見積もることができる場合は、**[プロビジョニング済み]** を選択してください。次に、[プロビジョニングされたシャード] で、作成するシャード数を入力するか、**[シャードの見積もり]** を選択します。

1. [**データストリームの作成**] を選択します。

## ライブデータエクスポート設定を編集する
<a name="edit-live-export-v2"></a>

ライブデータエクスポート設定を編集するには、

1. Amazon Monitron コンソールを開きます。

1. ナビゲーションペインで、**[プロジェクト]** を選択します。

1. プロジェクトが複数ある場合は、エクスポート設定を編集するプロジェクトを選択します。

1. プロジェクトのメインページにある、**[ライブデータエクスポート]** の **[アクション]** のドロップダウンメニューから、**[ライブデータエクスポート設定の編集]** を選択します。

## ライブデータエクスポートを停止する
<a name="stop-kinesis-export-v2"></a>

1. Amazon Monitron コンソールを開きます。

1. ナビゲーションペインで、**[プロジェクト]** を選択します。

1. プロジェクトが複数ある場合は、エクスポート設定を編集するプロジェクトを選択します。

1. プロジェクトのメインページにある、**[ライブデータエクスポート]** の **[アクション]** のドロップダウンメニューから **[ライブデータのエクスポートを停止]** を選択します。

1. ポップアップウィンドウで、**[停止]** を選択します。

## データエクスポートのエラーを表示する
<a name="viewing-kinesis-export-errors-v2"></a>

CloudWatch Logs のインターフェイスでエラーメッセージを表示するには、
+ Amazon Monitron コンソールで、プロジェクトのメインページにある **[ライブデータのエクスポート]** から、**[CloudWatch ロググループ]** を選択します。

## Kinesis ストリームへのサーバー側の暗号化の使用
<a name="data-export-server-side-encryption-v2"></a>

Kinesis データのエクスポートをセットアップする前に、Kinesis ストリームに対してサーバー側の暗号化を有効にできます。ただし、Kinesis データのエクスポートをセットアップした後にサーバー側の暗号化を有効にすると、Amazon Monitron はストリームに公開できなくなります。これは、Amazon Monitron に Kinesis に送信されたデータを暗号化できる [kms:GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) を呼び出す権限がないためです。

この問題を回避するには、設定を変更せず、[ライブデータエクスポート設定を編集する](#edit-live-export-v2) に記載の指示に従ってください。設定した暗号化をエクスポート設定に関連付けることができます。

# Amazon CloudWatch Logs による のモニタリング
<a name="data-export-cloudwatch-logs-v2"></a>

Amazon CloudWatch Logs を使用して、Amazon Monitron のライブデータエクスポートをモニタリングできます。測定値のエクスポートに失敗すると、Amazon Monitron は CloudWatch Logs にログイベントを送信します。エラーログにメトリクスフィルタを設定してメトリクスを生成し、アラームを設定することもできます。アラームは特定のしきい値を監視し、これらのしきい値に達したときに通知を送信したりアクションを実行したりできます。詳細については、『[CloudWatch ユーザーガイド](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)』を参照してください。

Amazon Monitron は、/aws/monitron/data-export/\$1HASH\$1ID\$1 ロググループにログイベントを送信します。

ログイベントには次の JSON 形式があります。

```
{
    "assetName": "string",
    "destination": "string",
    "errorCode": "string",
    "errorMessage": "string",
    "eventId": "string",
    "eventType": "string",
    "positionName": "string",
    "projectName": "string",
    "projectId": "string",
    "sensorId": "string",
    "gatewayId": "string",
    "siteName": "string",
    "timestamp": "string"
}
```

assetName  
+ アプリに表示されるアセット名
+ タイプ: 文字列

destination  
+ Kinesis データストリームの ARN
+ タイプ: 文字列
+ パターン: arn:aws:kinesis:\$1\$1REGION\$1\$1:\$1\$1AWS\$1ACCOUNT\$1ID\$1\$1:stream/\$1\$1STREAM\$1NAME\$1\$1 

errorCode  
+ エラーコード
+ 型: 文字列
+ 有効な値：`INTERNAL_SEVER_ERROR | KINESIS_RESOURCE_NOT_FOUND | KINESIS_PROVISIONED_THROUGHPUT_EXCEEDED | KMS_ACCESS_DENIED | KMS_NOT_FOUND | KMS_DISABLED | KMS_INVALID_STATE | KMS_THROTTLING`

errorMessage  
+ 詳しいエラーメッセージ
+ タイプ: 文字列

eventId  
+ 各測定値のエクスポートに対応する固有のイベント ID
+ タイプ: 文字列

eventType  
+ 現在のイベントタイプ
+ 型: 文字列
+ 有効な値: `measurement` ` | gatewayConnected` ` | gatewayDisconnected` ` | sensorConnected` ` | sensorDisconnected` ` | assetStateTransition` 

positionName  
+ アプリに表示されるセンサーの配置名
+ タイプ: 文字列

projectName  
+ アプリとコンソールに表示されるプロジェクト名
+ タイプ: 文字列

  

projectID  
+ Amazon Monitron プロジェクトに対応する任意のプロジェクト ID
+ タイプ: 文字列

sensorID  
+ 測定値の送信元となるセンサーの物理 ID
+ タイプ: 文字列

gatewayID  
+ Amazon Monitron サービスへのデータ送信に使用されるゲートウェイの物理 ID
+ タイプ: 文字列

siteName  
+ アプリに表示されるサイト名
+ タイプ: 文字列

timestamp  
+ Amazon Monitron サービスが測定値を受信したときのタイムスタンプ (UTC 時間)
+ タイプ: 文字列
+ パターン: yyyy-mm-dd hh:mm:ss.SSS

# エクスポートしたデータを Amazon S3 に保存する
<a name="kinesis-store-S3-v2"></a>

エクスポートしたデータを Amazon S3 に保存する場合は、以下の手順に従います。

**Topics**
+ [コンソールで Kinesis を手動で設定する](#kinesis-configure-console-v2)

## コンソールで Kinesis を手動で設定する
<a name="kinesis-configure-console-v2"></a>

1.  AWS マネジメントコンソールにサインインし、https://console.aws.amazon.com/kinesis で Kinesis コンソールを開きます。

1. ナビゲーションペインで、**[配信ストリーム]** を選択します。

1. [**Create delivery stream (配信ストリームの作成)**] を選択します。

1. [ソース] で、**[Amazon Kinesis Data Streams]** を選択します。

1. [送信先] で、**[Amazon S3]** を選択します。

1. **[ソースの設定] の [Kinesis Data Stream]** で、Kinesis データストリームの ARN を入力します。

1. **[配信ストリーム名]** に、Kinesis データストリーム名を入力します。

1. **[送信先の設定]** で [Amazon S3 バケット] を選択するか、バケット URI を入力します。

1. (任意) JSON のインライン解析を使用して動的パーティショニングを有効にします。このオプションは、ソース情報とタイムスタンプに基づいて、ストリーミング測定データを分割する場合に適しています。例えば、次のようになります。
   + **[動的パーティショニング]** で **[有効]** を選択します。
   + **[改行の区切り文字]** で **[有効]** を選択します。
   + **[JSON のインライン解析]** で **[有効]** を選択します。
   + **[動的パーティショニングキー]** に以下を追加します。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/kinesis-store-S3-v2.html)

1. **[動的パーティショニングキーを適用]** を選択し、生成された Amazon S3 バケットプレフィックスが `!{partitionKeyFromQuery:project}/!{partitionKeyFromQuery:site}/!{partitionKeyFromQuery:time}/` であることを確認します。

1. Amazon S3 で、オブジェクトは次のキー形式を使用します: `/project={projectName}/site={siteName}/time={yyyy-mm-dd 00:00:00}/{filename}`

1. [**Create delivery stream (配信ストリームの作成)**] を選択します。

# Lambda でデータを処理する
<a name="data-export-lambda-v2"></a>

**Topics**
+ [ステップ 1: AWS リソースへのアクセス許可を関数に付与する [IAM ロール](https://docs.aws.amazon.com//lambda/latest/dg/lambda-intro-execution-role.html)を作成する](#data-export-lambda-v2-1)
+ [ステップ 2 : Lambda 関数を作成する](#create-lambda-function-v2)
+ [ステップ 3: Lambda 関数を設定する](#configure-lambda-function-v2)
+ [ステップ 4: AWS Lambda コンソールで Kinesis トリガーを有効にする](#configure-kinesis-trigger-v2)

## ステップ 1: AWS リソースへのアクセス許可を関数に付与する [IAM ロール](https://docs.aws.amazon.com//lambda/latest/dg/lambda-intro-execution-role.html)を作成する
<a name="data-export-lambda-v2-1"></a>

1. IAM コンソールの [[ロールページ](https://console.aws.amazon.com/iam/home?#/roles)] を開きます。

1. [**ロールの作成**] を選択してください。

1. **[信頼されたエンティティを選択]** ページで、以下の操作を実行してください。
   + **信頼されたエンティティタイプ**で、**AWS サービス**を選択します。
   + **ユースケース**では、**サービスまたはユースケース**で **Lambda** を選択します。
   + [**次へ**] を選択します。  
![\[IAM role creation interface showing trusted entity selection with AWS のサービス option chosen.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/lambda-role-1.png)

1. アクセス**許可の追加**ページで、次の操作を行います。
   + アクセス**許可ポリシー**で、AWSLambdaKinesisExecutionRole (および Kinesis ストリームが暗号化されている場合は AWSKeyManagementServicePowerUser) を選択します。
   + **「アクセス許可の境界を**そのまま設定する」を参照してください。
   + [**次へ**] を選択します。  
![\[Add permissions interface showing AWSLambdaKinesisExecutionRole policy selected for a new role.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/lambda-role-2.png)

1. **名前、確認、作成**ページで、次の操作を行います。
   + **ロールの詳細**の**ロール名**に、ロールの名前を入力します。例えば、*lambda-kinesis-role* です。オプションの **Description** を追加することもできます。
   + **ステップ 1: 信頼できるエンティティを選択し**、**ステップ 2: アクセス許可をそのまま追加**するの設定のままにします。ステップ **3: リソースを追跡**するためのタグを追加する を選択できます。  
![\[IAM role creation interface showing name, review, and create steps with role details and permissions.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/lambda-create-role.png)

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

## ステップ 2 : Lambda 関数を作成する
<a name="create-lambda-function-v2"></a>

1. Lambda コンソールの **[関数]** ページを開きます。

1. [**Create function**] (関数の作成) を選択します。

1. [**設計図の使用**] を選択します。

1. **Blueprints** の検索ボックスで、**kinesis-process-record (nodejs)** または **kinesis-process-record-python** を検索して選択します。

1. [**設定**] を選択します。  
![\[Create function interface with options to author from scratch, use a blueprint, or select container image.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/lambda-create-function.png)

## ステップ 3: Lambda 関数を設定する
<a name="configure-lambda-function-v2"></a>

1. **[関数名]** を選択します。

1. 最初のステップで作成したロールを **[実行ロール]** として選択します。

1. Kinesis トリガーを設定します。

   1. Kinesis ストリーミングを選択します。

   1. **[関数の作成]** を選択します。  
![\[Lambda function configuration form with basic information and Kinesis trigger settings.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/lambda-kinesis-trigger.png)

## ステップ 4: AWS Lambda コンソールで Kinesis トリガーを有効にする
<a name="configure-kinesis-trigger-v2"></a>

1. **[設定]** タブで、**[トリガー]** を選択します。

1. Kinesis ストリーミング名の横にあるボックスにチェックを入れ、**[有効]** を選択します。  
![\[Lambda function configuration page with Triggers tab and Kinesis stream trigger highlighted.\]](http://docs.aws.amazon.com/ja_jp/Monitron/latest/user-guide/images/kinesis-process-record-lambda.png)

この例で使用されているブループリントは、選択したストリームのログデータのみを消費します。後で Lambda 関数コードを追加編集して、より複雑なタスクを実行できます。

# v2 データエクスポートスキーマを理解する
<a name="data-export-schema-v2"></a>

 各測定データ、それに対応する推論結果、ゲートウェイの接続/切断、およびセンサーの接続/切断のイベントは、1 つの Kinesis データストリームレコードとして JSON 形式でエクスポートされます。

**Topics**
+ [v2 スキーマ形式](#data-export-schema-format-v2)
+ [v2 スキーマパラメータ](#data-export-schema-parameters-v2)

## v2 スキーマ形式
<a name="data-export-schema-format-v2"></a>

```
{
    "timestamp": "string",
    "eventId": "string",
    "version": "2.0",
    "accountId": "string",
    "projectName": "string",
    "projectId": "string",
    "eventType": "measurement|gatewayConnected|gatewayDisconnected|sensorConnected|sensorDisconnected|assetStateTransition",
    // measurement
    "eventPayload": {
        "siteName": "string",
        "assetName": "string",
        "positionName": "string",
        "companyName": "string",
        "geoLocation": {
            "latitude": number,
            "longitude": number
        },
        "address": "string",
        "serialNumber": "string",
        "make": "string",
        "model": "string",
        "assetPositionURL": "string",
        "sensor": {
            "physicalId": "string",
            "rssi": number
        },
        "gateway": {
            "physicalId": "string"
        },
        "sequenceNo": number,
        "features": {
            "acceleration": {
                "band0To6000Hz": {
                    "xAxis": {
                        "rms": number
                    },
                    "yAxis": {
                        "rms": number
                    },
                    "zAxis": {
                        "rms": number
                    }
                },
                "band10To1000Hz": {
                    "totalVibration": {
                        "absMax": number,
                        "absMin": number,
                        "crestFactor": number,
                        "rms": number
                    },
                    "xAxis": {
                        "rms": number
                    },
                    "yAxis": {
                        "rms": number
                    },
                    "zAxis": {
                        "rms": number
                    }
                }
            },
            "velocity": {
                "band10To1000Hz": {
                    "totalVibration": {
                        "absMax": number,
                        "absMin": number,
                        "crestFactor": number,
                        "rms": number
                    },
                    "xAxis": {
                        "rms": number
                    },
                    "yAxis": {
                        "rms": number
                    },
                    "zAxis": {
                        "rms": number
                    }
                }
            },
            "temperature": number
        }
        "models": {
            "temperatureML": {
                "previousPersistentClassificationOutput": "string",
                "persistentClassificationOutput": "string",
                "pointwiseClassificationOutput": "string"
            },
            "vibrationISO": {
                "isoClass": "string",
                "mutedThreshold": "string",
                "previousPersistentClassificationOutput": "string",
                "persistentClassificationOutput": "string",
                "pointwiseClassificationOutput": "string"
            },
            "vibrationML": {
                "previousPersistentClassificationOutput": "string",
                "persistentClassificationOutput": "string",
                "pointwiseClassificationOutput": "string"
            }
        },
        "assetPositionId": "string"
    }
    
    // sensorConnected
    "eventPayload": {
        "siteName": "string",
        "assetName": "string",
        "positionName": "string",
        "companyName": "string",
        "geoLocation": {
            "latitude": number,
            "longitude": number
        },
        "address": "string",
        "serialNumber": "string",
        "make": "string",
        "model": "string",
        "assetPositionURL": "string",
        "sensor": {
            "physicalId": "string"
        },
        "assetPositionId": "string"
    }
    
    // sensorDisconnected
    "eventPayload": {
        "siteName": "string",
        "assetName": "string",
        "positionName": "string",
        "companyName": "string",
        "geoLocation": {
            "latitude": number,
            "longitude": number
        },
        "address": "string",
        "serialNumber": "string",
        "make": "string",
        "model": "string",
        "assetPositionURL": "string",
        "sensor": {
            "physicalId": "string"
        },
        "assetPositionId": "string"
    }
    
    // gatewayConnected
    "eventPayload": {
        "siteName": "string",
        "gatewayName": "string",
        "gatewayListURL": "string",
        "companyName": "string",
        "geoLocation": {
            "latitude": number,
            "longitude": number
        },
        "address": "string",
        "gateway": {
            "physicalId": "string"
        }
    }
    
    // gatewayDisconnected
    "eventPayload": {
        "siteName": "string",
        "gatewayName": "string",
        "gatewayListURL": "string",
        "companyName": "string",
        "geoLocation": {
            "latitude": number,
            "longitude": number
        },
        "address": "string",
        "gateway": {
            "physicalId": "string"
        }
    }
    
    // assetStateTransition
    "eventPayload": {
        "siteName": "string",
        "assetName": "string",
        "positionName": "string",
        "companyName": "string",
        "geoLocation": {
            "latitude": number,
            "longitude": number
        },
        "address": "string",
        "serialNumber": "string",
        "make": "string",
        "model": "string",
        "assetPositionURL": "string",
        "sensor": {
            "physicalId": "string"
        },
        "assetTransitionType": "measurement|userInput",
        "assetState": {
            "newState": "string",
            "previousState": "string"
        },
        "closureCode": {
            "failureMode": "string",
            "failureCause": "string",
            "actionTaken": "string",
            "resolvedModels": list<"string">
        },
        "assetPositionId": "string"
    }
}
```

## v2 スキーマパラメータ
<a name="data-export-schema-parameters-v2"></a>

 Amazon Monitron の Kinesis データエクスポートスキーマ v2 には、以下のスキーマパラメータが含まれています。v1 から更新されたパラメータもあれば、v2 に固有のパラメータもあります。例えば、`siteName` は v1 の第 1 レベルのパラメータでしたが、v2 では `eventPayload` エンティティ下の第 2 レベルのパラメータです。

timestamp  
+ Amazon Monitron サービスが測定値を受信したときのタイムスタンプ (UTC 時間)
+ タイプ: 文字列
+ パターン: yyyy-mm-dd hh:mm:ss.SSS

eventId  
+ 各測定値に割り当てられる固有のデータエクスポートイベント ID。受信した Kinesis ストリームレコードを重複排除するのに使用できます。
+ タイプ: 文字列

バージョン  
+ スキーマバージョニング
+ タイプ: 文字列
+ 値: 1.0 または 2.0

accountId  
+ Monitron プロジェクトの 12 桁の AWS アカウント ID
+ タイプ: 文字列

projectName  
アプリとコンソールに表示されるプロジェクト名。  
タイプ: 文字列

projectId  
 Amazon Monitron プロジェクトの一意の ID。  
タイプ: 文字列

eventType  
+ 現在のイベントストリーム。各イベントタイプには専用の `eventPayload` 形式があります。
+ タイプ: 文字列
+ 使用できる値: `measurement`、`gatewayConnected`、`gatewayDisconnected`、`sensorConnected`、`sensorDisconnected`、`assetStateTransition`。

**`eventType: measurement`**

eventPayload.features.acceleration.band0To6000Hz.xAxis.rms  
+ X 軸の 0～6000 Hz の周波数帯域で観測された加速度の二乗平均平方根
+ タイプ: 数値
+ 単位: m/s^2

eventPayload.features.acceleration.band0To6000Hz.yAxis.rms  
+ Y 軸の 0～6000 Hz の周波数帯域で観測された加速度の二乗平均平方根
+ タイプ: 数値
+ 単位: m/s^2

eventPayload.features.acceleration.band0To6000Hz.zAxis.rms  
+ Z 軸の 0～6000 Hz の周波数帯域で観測された加速度の二乗平均平方根
+ タイプ: 数値
+ 単位: m/s^2

eventPayload.features.acceleration.band10To1000Hz.resultantVector.absMax  
+ 10～1000 Hz の周波数帯域で観測された絶対最大加速度
+ タイプ: 数値
+ 単位: m/s^2

eventPayload.features.acceleration.band10To1000Hz.resultantVector.absMin  
+ 10～1000 Hz の周波数帯域で観測された絶対最小加速度
+ タイプ: 数値
+ 単位: m/s^2

eventPayload.features.acceleration.band10To1000Hz.resultantVector.crestFactor  
+ 10～1000 Hz の周波数帯域で観測された加速度の波高率
+ タイプ: 数値

eventPayload.features.acceleration.band10To1000Hz.resultantVector.rms  
+ 10～1000 Hz の周波数帯域で観測された加速度の二乗平均平方根
+ タイプ: 数値
+ m/s^2

eventPayload.features.acceleration.band10To1000Hz.xAxis.rms  
+ X 軸の 10～1000 Hz の周波数帯域で観測された加速度の二乗平均平方根
+ タイプ: 数値
+ m/s^2

eventPayload.features.acceleration.band10To1000Hz.yAxis.rms  
+ Y 軸の 10～1000 Hz の周波数帯域で観測された加速度の二乗平均平方根
+ タイプ: 数値
+ m/s^2

eventPayload.features.acceleration.band10To1000Hz.zAxis.rms  
+ Z 軸の 10～1000 Hz の周波数帯域で観測された加速度の二乗平均平方根
+ タイプ: 数値
+ m/s^2

eventPayload.features.temperature  
+ 観測された温度
+ タイプ: 数値
+ °C/摂氏

eventPayload.features.velocity.band10To1000Hz.resultantVector.absMax  
+ 10～1000 Hz の周波数帯域で観測された絶対最大速度
+ タイプ: 数値
+ mm/秒

eventPayload.features.velocity.band10To1000Hz.resultantVector.absMin  
+ 10～1000 Hz の周波数帯域で観測された絶対最小速度
+ タイプ: 数値
+ mm/秒

eventPayload.features.velocity.band10To1000Hz.resultantVector.crestFactor  
+ 10～1000 Hz の周波数帯域で観測された速度の波高率
+ タイプ: 数値

eventPayload.features.velocity.band10To1000Hz.resultantVector.rms  
+ 10～1000 Hz の周波数帯域で観測された速度の二乗平均平方根
+ タイプ: 数値
+ mm/秒

eventPayload.features.velocity.band10To1000Hz.xAxis.rms  
+ X 軸の 10～1000 Hz の周波数帯域で観測された速度の二乗平均平方根
+ タイプ: 数値
+ mm/秒

eventPayload.features.velocity.band10To1000Hz.yAxis.rms  
+ Y 軸の 10～1000 Hz の周波数帯域で観測された速度の二乗平均平方根
+ タイプ: 数値
+ mm/秒

eventPayload.features.velocity.band10To1000Hz.zAxis.rms  
+ Z 軸の 10～1000 Hz の周波数帯域で観測された速度の二乗平均平方根
+ タイプ: 数値
+ mm/秒

eventPayload.sequenceNo  
+ 測定のシーケンス番号
+ タイプ: 数値

eventPayload.assetPositionId  
+ 測定値が送信されるセンサー位置の識別子。
+ タイプ: 文字列

eventPayload.companyName  
+ アセットを使用している会社の名前。
+ タイプ: 文字列

eventPayload.geoLocation.latitude  
+ サイトの物理的な場所の緯度。
+ タイプ: 数値

eventPayload.geoLocation.longitude  
+ サイトの物理的な場所の経度。
+ タイプ: 数値

eventPayload.address  
+ サイトのアドレス。
+ タイプ: 文字列

eventPayload.serialNumber  
+ アセットのシリアル番号。
+ タイプ: 文字列

eventPayload.make  
+ アセットのメーカー。
+ タイプ: 文字列

eventPayload.model  
+ アセットのモデル。
+ タイプ: 文字列

`eventType: sensorConnected`

siteName  
+ アプリに表示されるサイト名
+ タイプ: 文字列

assetName  
+ アプリに表示されるアセット名
+ タイプ: 文字列

positionName  
+ アプリに表示されるセンサーの配置名
+ タイプ: 文字列

assetPositionURL  
+ アプリに表示されるセンサー URL
+ タイプ: 文字列

physicalID  
+ 測定値の送信元となるセンサーの物理 ID
+ タイプ: 文字列

eventPayload.assetPositionId  
+ 状態が変更されたセンサー位置の識別子。
+ タイプ: 文字列

eventPayload.companyName  
+ アセットを使用している会社の名前。
+ タイプ: 文字列

eventPayload.geoLocation.latitude  
+ サイトの物理的な場所の緯度。
+ タイプ: 数値

eventPayload.geoLocation.longitude  
+ サイトの物理的な場所の経度。
+ タイプ: 数値

eventPayload.address  
+ サイトのアドレス。
+ タイプ: 文字列

eventPayload.serialNumber  
+ アセットのシリアル番号。
+ タイプ: 文字列

eventPayload.make  
+ アセットのメーカー。
+ タイプ: 文字列

eventPayload.model  
+ アセットのモデル。
+ タイプ: 文字列

`eventType: sensorDisconnected`

siteName  
+ アプリに表示されるサイト名
+ タイプ: 文字列

assetName  
+ アプリに表示されるアセット名
+ タイプ: 文字列

positionName  
+ アプリに表示されるセンサーの配置名
+ タイプ: 文字列

assetPositionURL  
+ アプリに表示されるセンサー URL
+ タイプ: 文字列

physicalID  
+ 測定値の送信元となるセンサーの物理 ID
+ タイプ: 文字列

eventPayload.assetPositionId  
+ 状態が変更されたセンサー位置の識別子。
+ タイプ: 文字列

eventPayload.companyName  
+ アセットを使用している会社の名前。
+ タイプ: 文字列

eventPayload.geoLocation.latitude  
+ サイトの物理的な場所の緯度。
+ タイプ: 数値

eventPayload.geoLocation.longitude  
+ サイトの物理的な場所の経度。
+ タイプ: 数値

eventPayload.address  
+ サイトのアドレス。
+ タイプ: 文字列

eventPayload.serialNumber  
+ アセットのシリアル番号。
+ タイプ: 文字列

eventPayload.make  
+ アセットのメーカー。
+ タイプ: 文字列

eventPayload.model  
+ アセットのモデル。
+ タイプ: 文字列

 `eventType: gatewayConnected` 

eventPayload.siteName  
+ アプリに表示されるサイト名
+ タイプ: 文字列

eventPayload.gatewayName  
+ アプリケーションに表示されるゲートウェイ名
+ タイプ: 文字列

eventPayload.gatewayListURL  
+ アプリに表示されるゲートウェイ URL
+ タイプ: 文字列

eventPayload.gateway.physicalID  
+ Amazon Monitron サービスへのデータ送信のために接続したゲートウェイの物理 ID
+ タイプ: 文字列

eventPayload.companyName  
+ アセットを使用している会社の名前。
+ タイプ: 文字列

eventPayload.geoLocation.latitude  
+ サイトの物理的な場所の緯度。
+ タイプ: 数値

eventPayload.geoLocation.longitude  
+ サイトの物理的な場所の経度。
+ タイプ: 数値

eventPayload.address  
+ サイトのアドレス。
+ タイプ: 文字列

`eventType: gatewayDisconnected`

siteName  
+ アプリに表示されるサイト名
+ タイプ: 文字列

gatewayName  
+ アプリケーションに表示されるゲートウェイ名
+ タイプ: 文字列

gatewayListURL  
+ アプリに表示されるゲートウェイ URL
+ タイプ: 文字列

physicalID  
+ Amazon Monitron サービスへのデータ送信のために接続したゲートウェイの物理 ID
+ タイプ: 文字列

eventPayload.companyName  
+ アセットを使用している会社の名前。
+ タイプ: 文字列

eventPayload.geoLocation.latitude  
+ サイトの物理的な場所の緯度。
+ タイプ: 数値

eventPayload.geoLocation.longitude  
+ サイトの物理的な場所の経度。
+ タイプ: 数値

eventPayload.address  
+ サイトのアドレス。
+ タイプ: 文字列

`eventType: assetStateTransition`

eventPayload.siteName  
+ アプリに表示されるサイト名
+ タイプ: 文字列

eventPayload.assetName  
+ アプリに表示されるアセット名
+ タイプ: 文字列

eventPayload.positionName  
+ アプリに表示されるセンサーの配置名
+ タイプ: 文字列

eventPayload.assetPositionURL  
+ アプリに表示されるセンサー URL
+ タイプ: 文字列

eventPayload.sensor.physicalID  
+ 測定値の送信元となるセンサーの物理 ID
+ タイプ: 文字列

eventPayload.assetTransitionType  
+ アセットの状態遷移の理由
+ タイプ: 文字列
+ 使用できる値: `measurement` または `userInput`

eventPayload.assetState.newState  
+ アセットの新しい状態
+ タイプ: 文字列

eventPayload.assetState.previousState  
+ アセットの以前の状態
+ タイプ: 文字列

eventPayload.closureCode.failureMode  
+ この障害を確認するときにユーザーが選択した障害モード
+ タイプ: 文字列
+ 使用できる値: `NO_ISSUE` \$1 `BLOCKAGE` \$1 `CAVITATION` \$1 `CORROSION` \$1 `DEPOSIT` \$1 `IMBALANCE` \$1 `LUBRICATION` \$1 `MISALIGNMENT` \$1 `OTHER` \$1 `RESONANCE` \$1 `ROTATING_LOOSENESS` \$1 `STRUCTURAL_LOOSENESS` \$1 `TRANSMITTED_FAULT` \$1 `UNDETERMINED` 

eventPayload.closureCode.failureCause  
+ 障害を確認するときにユーザーがアプリのドロップダウンで選択した障害の原因。
+ タイプ: 文字列
+ 使用できる値: `ADMINISTRATION` \$1 `DESIGN` \$1 `FABRICATION` \$1 `MAINTENANCE` \$1 `OPERATION` \$1 `OTHER` \$1 `QUALITY` \$1 `UNDETERMINED` \$1 `WEAR` 

eventPayload.closureCode.actionTaken  
+ アプリのドロップダウンでユーザーが選択した、この異常をクローズするときに実行されるアクション。
+ タイプ: 文字列
+ 使用できる値: `ADJUST` \$1 `CLEAN` \$1 `LUBRICATE` \$1 `MODIFY` \$1 `NO_ACTION` \$1 `OTHER` \$1 `OVERHAUL` \$1 `REPLACE` 

eventPayload.closureCode.resolvedModels  
+ 問題が発生したモデルのセット。
+ タイプ: 文字列のリスト
+ 使用できる値: `vibrationISO` \$1 `vibrationML` \$1 `temperatureML` 

eventPayload.assetPositionId  
+ 状態が変更されたアセット位置の識別子。
+ タイプ: 文字列

models.temperatureML.persistentClassificationOutput  
+ 機械学習ベースの温度モデルからの永続的な分類出力
+ タイプ: 数値
+ 有効な値：`UNKNOWN | HEALTHY | WARNING | ALARM`

models.temperatureML.pointwiseClassificationOutput  
+ 機械学習ベースの温度モデルからのポイントごとの分類出力
+ 型: 文字列
+ 有効な値：`UNKNOWN | INITIALIZING | HEALTHY | WARNING | ALARM`

models.vibrationISO.isoClass  
+ ISO ベースの振動モデルで使用される ISO 20816 クラス (機械振動の測定と評価に関する規格)
+ 型: 文字列
+ 有効な値：`CLASS1 | CLASS2 | CLASS3 | CLASS4`

models.vibrationISO.mutedThreshold  
+ ISO ベースの振動モデルからの通知をミュートするしきい値
+ 型: 文字列
+ 有効な値：`WARNING | ALARM`

models.vibrationISO.persistentClassificationOutput  
+ ISO ベースの振動モデルからの永続的な分類出力
+ 型: 文字列
+ 有効な値：`UNKNOWN | HEALTHY | WARNING | ALARM`

models.vibrationISO.pointwiseClassificationOutput  
+ ISO ベースの振動モデルからのポイントごとの分類出力
+ 型: 文字列
+ 有効な値：`UNKNOWN | HEALTHY | WARNING | ALARM | MUTED_WARNING | MUTED_ALARM`

models.vibrationML.persistentClassificationOutput  
+ 機械学習ベースの振動モデルからの永続的な分類出力
+ 型: 文字列
+ 有効な値：`UNKNOWN | HEALTHY | WARNING | ALARM`

models.vibrationML.pointwiseClassificationOutput  
+ 機械学習ベースの振動モデルからのポイントごとの分類出力
+ 型: 文字列
+ 有効な値：`UNKNOWN | INITIALIZING | HEALTHY | WARNING | ALARM`

assetState.newState  
+ 測定を処理した後の機械の状態
+ 型: 文字列
+ 有効な値：`UNKNOWN | HEALTHY | NEEDS_MAINTENANCE | WARNING | ALARM`

assetState.previousState  
+ 測定を処理する前の機械の状態
+ 型: 文字列
+ 有効な値：`UNKNOWN | HEALTHY | NEEDS_MAINTENANCE | WARNING | ALARM`

eventPayload.companyName  
+ アセットを使用している会社の名前。
+ タイプ: 文字列

eventPayload.geoLocation.latitude  
+ サイトの物理的な場所の緯度。
+ タイプ: 数値

eventPayload.geoLocation.longitude  
+ サイトの物理的な場所の経度。
+ タイプ: 数値

eventPayload.address  
+ サイトのアドレス。
+ タイプ: 文字列

eventPayload.serialNumber  
+ アセットのシリアル番号。
+ タイプ: 文字列

eventPayload.make  
+ アセットのメーカー。
+ タイプ: 文字列

eventPayload.model  
+ アセットのモデル。
+ タイプ: 文字列

# Kinesis v1 から v2 への移行
<a name="migration-from-v1-to-v2"></a>

 現在 v1 データスキーマを使用している場合は、すでに Amazon S3 へデータを送信しているか、Lambda を使ってデータストリームのペイロードの処理を進めているかもしれません。

**Topics**
+ [データスキーマを v2 に更新する](#updating-to-v2)
+ [Lambda を使ってデータ処理を更新する](#updating-with-lam)

## データスキーマを v2 に更新する
<a name="updating-to-v2"></a>

 すでに v1 スキーマでデータストリームを設定している場合は、次の手順でデータエクスポートプロセスを更新できます。

1. Amazon Monitron コンソールを開きます。

1. プロジェクトに移動します。

1.  [現在のライブデータのエクスポート](monitron-kinesis-export-v2.md#stop-kinesis-export-v2)を停止します。

1.  ライブデータエクスポートを開始して、新しいデータストリームを作成します。

1. 新しく作成したデータストリームを選択します。

1. **[ライブデータエクスポートを開始]** を選択します。この時点で、新しいスキーマによってペイロードがデータストリーム経由で送信されます。

1. (任意) Kinesis コンソールに移動し、古いデータストリームを削除します。

1. v2 スキーマを使用して、新しく作成したデータストリーム用の新しい配信方法を設定します。

 これで、新しいストリームで v2 スキーマに準拠したペイロードを新しいバケットに配信できます。バケット内のすべてのデータを処理したい場合に備えて、形式を統一するために 2 つの異なるバケットを使用することをおすすめします。たとえば、Athena や などの他の サービスを使用します AWS Glue。

**注記**  
データを Amazon S3 に配信していた場合、v2 スキーマを使用して Amazon S3 にデータを配信する方法の詳細については、「[エクスポートしたデータを Amazon S3 に保存する](kinesis-store-S3-v2.md#kinesis-store-S3-title-v2)」で手順をご確認ください。

**注記**  
Lambda 関数を使用してペイロードを処理していた場合は、「[Lambda でデータを処理する](https://docs.aws.amazon.com/Monitron/latest/user-guide/data-export-lambda.html)」で手順をご確認ください。[Lambda を使って更新する](#updating-with-lam)セクションでは、より詳細な情報が記載されていますので、合わせて参照してください。

## Lambda を使ってデータ処理を更新する
<a name="updating-with-lam"></a>

 Lambda でデータ処理を更新するためには、v2 データストリームがイベントベースになったことを考慮する必要があります。最初の v1 Lambda コードは次のようなコードになっているかもしれません。

```
import base64

def main_handler(event):
    # Kinesis "data" blob is base64 encoded so decode here:
    for record in event['Records']:
        payload = base64.b64decode(record["kinesis"]["data"])
     
        measurement = payload["measurement"]
        projectDisplayName = payload["projectDisplayName"]
     
        # Process the content of the measurement
        # ...
```

 v1 データスキーマは廃止予定であるため、以前の Lambda コードはすべての新しいデータストリームで機能するわけではありません。

 以下の Python サンプルコードでは、データスキーマ v2 を使用して Kinesis ストリームからのイベントを処理します。このコードは、新しい `eventType` パラメーターを使用して、処理を適切なハンドラーに向けます。

```
import base64

handlers = {
    "measurement": measurementEventHandler,
    "gatewayConnected": gatewayConnectedEventHandler,
    "gatewayDisconnected": gatewayDisconnectedEventHandler,
    "sensorConnected": sensorConnectedEventHandler,
    "sensorDisconnected": sensorDisconnectedEventHandler,
}

def main_handler(event):
    # Kinesis "data" blob is base64 encoded so decode here:
    for record in event['Records']:
        payload = base64.b64decode(record["kinesis"]["data"])
          
        eventType = payload["eventType"]
        if eventType not in handler.keys():
            log.info("No event handler found for the event type: {event['eventType']}")
            return 
     
        # Invoke the appropriate handler based on the event type.
        eventPayload = payload["eventPayload"]
        eventHandler = handlers[eventType] 
        eventHandler(eventPayload)

def measurementEventHandler(measurementEventPayload):
    # Handle measurement event
    projectName = measurementEventPayload["projectName"]
    
    # ...

def gatewayConnectedEventHandler(gatewayConnectedEventPayload):
    # Handle gateway connected event

# Other event handler functions
```