

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

# AWS が提供したコンポーネント
<a name="public-components"></a>

AWS IoT Greengrass は、デバイスにデプロイできるプレビルドコンポーネントを提供して保守します。これらのコンポーネントには、機能 (ストリームマネージャーなど)、AWS IoT Greengrass V1 コネクタ (CloudWatch メトリクスなど)、ローカル開発ツール (AWS IoT Greengrass CLI など) が含まれています。スタンドアロンの機能性のため、デバイスに[これらのコンポーネントをデプロイ](manage-deployments.md)、あるいは[カスタム Greengrass コンポーネント](develop-greengrass-components.md)に従属関係として使用することができます。

**注記**  <a name="component-nucleus-dependency-update-note"></a>
AWS が提供する複数のコンポーネントは、Greengrass nucleus の特定マイナーバージョンに依存します。この従属関係により、Greengrass nucleus を新しいマイナーバージョンに更新するとき、これらのコンポーネントを更新する必要があります。各コンポーネントが依存する nucleus の特定バージョンの情報については、対応するコンポーネントのトピックを参照してください。nucleus の更新の詳細については、「[AWS IoT Greengrass Core ソフトウェア (OTA) の更新](update-greengrass-core-v2.md)」を参照してください。

<a name="component-table-type-description"></a>コンポーネントにジェネリックと Lambda の両方のコンポーネントタイプがある場合、コンポーネントの現在のバージョンはジェネリックタイプであり、コンポーネントの以前のバージョンは Lambda タイプです。


| コンポーネント | 説明 | [コンポーネントタイプ](develop-greengrass-components.md#component-types) | サポートされる OS | [オープンソース](open-source.md) | Nucleus lite 互換 | 
| --- | --- | --- | --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | AWS IoT Greengrass Core ソフトウェアの nucleus。このコンポーネントを使用して、コアデバイスのソフトウェアを設定と更新します。 | nucleus | Linux、Windows | [あり](https://github.com/aws-greengrass/aws-greengrass-nucleus) | いいえ | 
| [Greengrass nucleus lite](greengrass-nucleus-lite-component.md) | 低コストのエッジデバイスと大容量アプリケーション向けに最適化された、リソースに制約のあるデバイス向けの軽量な nucleus | NucleusLite | Linux | [あり](https://github.com/aws-greengrass/aws-greengrass-lite) | いいえ | 
| <a name="client-device-auth-component-table-row"></a>[クライアントデバイス認証](client-device-auth-component.md) | クライアントデバイスと呼ばれるローカル IoT デバイスがコアデバイスに接続できるようにします。 | プラグイン | Linux、Windows | [あり](https://github.com/aws-greengrass/aws-greengrass-client-device-auth) | いいえ | 
| [CloudWatch メトリクス](cloudwatch-metrics-component.md) | Amazon CloudWatch にカスタムメトリクスをパブリッシュします。 | ジェネリック、Lambda | Linux、Windows | [はい](https://github.com/aws-greengrass/aws-greengrass-cloudwatch-metrics) | あり | 
| [AWS IoT Device Defender](device-defender-component.md) | Greengrass コアデバイスの状態の変化を管理者に通知し、異常な行動を特定します。 | ジェネリック、Lambda | Linux、Windows | [あり](https://github.com/aws-greengrass/aws-greengrass-device-defender) | いいえ | 
| [ディスクスプーラ](disk-spooler-component.md) | Greengrass コアデバイスから AWS IoT Core にスプールされたメッセージについて永続ストレージオプションを有効にします。このコンポーネントは、これらの送信メッセージをディスクに保存します。 | プラグイン | Linux、Windows | [あり](https://github.com/aws-greengrass/aws-greengrass-disk-spooler) | いいえ | 
| [Docker アプリケーションマネージャー](docker-application-manager-component.md) | AWS IoT Greengrass が Docker Hub と Amazon Elastic Container Registry (Amazon ECR) から Docker イメージをダウンロードできるようにします。 | ジェネリック | Linux、Windows | なし | なし | 
| [Kinesis Video Streams 向けのエッジコネクタ](kvs-edge-connector-component.md) | ローカルカメラからビデオフィードを読み取り、ストリームを Kinesis Video Streams に発行し、AWS IoT TwinMaker でストリームを Grafana ダッシュボードに表示します。 | ジェネリック | Linux | なし | なし | 
| [Greengrass CLI](greengrass-cli-component.md) | ローカルなデプロイを作成して Greengrass コアデバイスとそのコンポーネントとやり取りするために使用できるコマンドラインインターフェイスを提供します。 | プラグイン | Linux、Windows | [あり](https://github.com/aws-greengrass/aws-greengrass-cli) | [いいえ](https://github.com/aws-greengrass/aws-greengrass-lite/blob/main/docs/ggl-cli.md) | 
| <a name="ip-detector-component-table-row"></a>[IP ディテクター](ip-detector-component.md) | MQTT ブローカーの接続情報を AWS IoT Greengrass に報告し、クライアントデバイスが接続方法を検出できるようにします。 | プラグイン | Linux、Windows | [あり](https://github.com/aws-greengrass/aws-greengrass-ip-detector) | いいえ | 
| [Firehose](kinesis-firehose-component.md) | Amazon Data Firehose 配信ストリームを介して、AWS クラウド の送信先にデータをパブリッシュします。 | Lambda | Linux | なし | なし | 
| [Lambda ランチャー](lambda-launcher-component.md) | Lambda 関数のプロセスと環境設定を処理します。 | ジェネリック | Linux | なし | なし | 
| [Lambda マネージャー](lambda-manager-component.md) | Lambda 関数のプロセス間通信とスケーリングを処理します。 | プラグイン | Linux | なし | なし | 
| [Lambda ランタイム](lambda-runtimes-component.md) | 各 Lambda ランタイムにアーティファクトを提供します。 | ジェネリック | Linux | なし | なし | 
| [レガシーサブスクリプションルーター](legacy-subscription-router-component.md) | AWS IoT Greengrass V1 で実行される Lambda 関数のサブスクリプションを管理します。 | ジェネリック | Linux | なし | なし | 
| [ローカルデバッグコンソール](local-debug-console-component.md) | Greengrass コアデバイスとそのコンポーネントのデバッグと管理に使用できるローカルコンソールを提供します。 | プラグイン | Linux、Windows | [あり](https://github.com/aws-greengrass/aws-greengrass-localdebugconsole) | いいえ | 
| [ログマネージャー](log-manager-component.md) | Greengrass コアデバイス上にログを収集してアップロードします。 | プラグイン | Linux、Windows | [あり](https://github.com/aws-greengrass/aws-greengrass-log-manager) | いいえ | 
| [機械学習コンポーネント](machine-learning-components.md) | Greengrass コアデバイスで機械学習の推論を実行するために使用できる機械学習モデルとサンプル推論コードを提供します。 | 「[機械学習コンポーネント](machine-learning-components.md)」を参照してください。 | なし | 
| [Modbus-RTU プロトコルアダプタ](modbus-rtu-protocol-adapter-component.md) | ローカルの Modbus RTU デバイスから情報をポーリングします。 | Lambda | Linux | なし | なし | 
| [nucleus テレメトリエミッタ](nucleus-emitter-component.md) | nucleus から収集されたシステムヘルスのテレメトリデータを、ローカルトピックまたは AWS IoT Core MQTT トピックにパブリッシュします。 | プラグイン | Linux、Windows | [あり](https://github.com/aws-greengrass/aws-greengrass-telemetry-nucleus-emitter) | いいえ | 
| <a name="mqtt-bridge-component-table-row"></a>[MQTT ブリッジ](mqtt-bridge-component.md) | クライアントデバイス、ローカル AWS IoT Greengrass パブリッシュ/サブスクライブ、AWS IoT Core の間で MQTT メッセージをリレーします。 | プラグイン | Linux、Windows | [あり](https://github.com/aws-greengrass/aws-greengrass-mqtt-bridge) | いいえ | 
| <a name="mqtt-broker-moquette-component-table-row"></a>[MQTT 3.1.1 ブローカー (モケット)](mqtt-broker-moquette-component.md) | クライアントデバイスとコアデバイスの間のメッセージを処理する、MQTT 3.1.1 ブローカーを実行します。 | プラグイン | Linux、Windows | [あり](https://github.com/aws-greengrass/aws-greengrass-moquette-mqtt) | いいえ | 
| <a name="mqtt-broker-emqx-component-table-row"></a>[MQTT 5 ブローカー (EMQX)](mqtt-broker-emqx-component.md) | クライアントデバイスとコアデバイスの間のメッセージを処理する、MQTT 5 ブローカーを実行します。 | ジェネリック | Linux、Windows | なし | なし | 
| [PKCS\$111 プロバイダ](pkcs11-provider-component.md) | Greengrass コンポーネントに対して、ハードウェアセキュリティモジュール (HSM) に安全に保存しているプライベートキーと証明書へのアクセスを有効にします。 | プラグイン | Linux | [あり](https://github.com/aws-greengrass/aws-greengrass-pkcs11-provider) | いいえ | 
| [シークレットマネージャー](secret-manager-component.md) | AWS Secrets Manager シークレットからのシークレットのデプロイし、Greengrass コアデバイスのカスタムコンポーネントでパスワードなどの認証情報を安全に使用できるようにします。 | プラグイン | Linux、Windows | [あり](https://github.com/aws-greengrass/aws-greengrass-secret-manager) | いいえ | 
| [セキュアトンネリング](secure-tunneling-component.md) | 制限されたファイアウォールの背後にある Greengrass コアデバイスと双方向通信を確立するために使用できる AWS IoT の安全なトンネリング接続を有効化します。 | ジェネリック | Linux | なし | あり | 
| <a name="shadow-manager-component-table-row"></a>[シャドウマネージャー](shadow-manager-component.md) | コアデバイス上のシャドウとの対話を有効にします。AWS IoT デバイスシャドウサービスで、シャドウドキュメントのストレージとローカルシャドウ状態の同期も管理します。 | プラグイン | Linux、Windows | [あり](https://github.com/aws-greengrass/aws-greengrass-shadow-manager) | いいえ | 
| [Amazon SNS](sns-component.md) | Amazon SNS トピックにメッセージを公開します。 | Lambda | Linux | なし | なし | 
| [ストリームマネージャー](stream-manager-component.md) | 大量のデータをローカルソースから AWS クラウド にストリーミングします。 | ジェネリック | Linux、Windows | なし | あり | 
| [システムログフォワーダー](system-log-forwarder-component.md) | systemd-journald ログを AWS クラウド にアップロードします。 | ジェネリック | Linux | [はい](https://github.com/aws-greengrass/aws-greengrass-system-log-forwarder) | あり | 
| [Systems Manager エージェント](systems-manager-agent-component.md) | デバイスにパッチ適用やコマンド実行などができる AWS Systems Manager でコアデバイスを管理します。 | ジェネリック | Linux | [あり](https://github.com/aws/amazon-ssm-agent/blob/mainline/packaging/greengrass/component.json) | いいえ | 
| [トークン交換サービス](token-exchange-service-component.md) | AWS サービスとやり取りに使用できる AWS 認証情報を提供します。 | ジェネリック | Linux、Windows | なし | なし | 
| [IoT SiteWise OPC UA コレクター](iotsitewise-opcua-collector-component.md) | OPC-UA サーバーからデータを収集します。 | ジェネリック | Linux、Windows | なし | なし | 
| [IoT SiteWise OPC UA データソースシミュレーター](iotsitewise-opcua-data-source-simulator-component.md) | サンプルデータを生成するローカル OPC-UA サーバーを実行します。 | ジェネリック | Linux、Windows | なし | なし | 
| [IoT SiteWise パブリッシャー](iotsitewise-publisher-component.md) | AWS Cloud にデータをパブリッシュします。 | ジェネリック | Linux、Windows | なし | なし | 
| [IoT SiteWise プロセッサ](iotsitewise-processor-component.md) | Greengrass コアデバイス上にデータを処理します。 | ジェネリック | Linux、Windows | なし | なし | 

# Greengrass nucleus
<a name="greengrass-nucleus-component"></a>

Greengrass nucleus コンポーネント (`aws.greengrass.Nucleus`) は必須コンポーネントであり、デバイスで AWS IoT Greengrass Core ソフトウェアを実行するための最小要件です。このコンポーネントを設定して、 AWS IoT Greengrass Core ソフトウェアをリモートでカスタマイズおよび更新できます。このコンポーネントをデプロイして、コアデバイスでプロキシ、デバイスロール、 AWS IoT モノの設定などの設定を行います。

**注記**  
Greengrass バージョン 2.14.0 以降、制約のあるエッジデバイスで nucleus デバイスランタイムのメモリフットプリント最適化バージョンが利用可能になりました。設定と使用の詳細については、「[Greengrass nucleus lite](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)」を参照してください。

**重要**  
nucleus コンポーネントのバージョンが変更された場合、または特定の設定パラメータを変更すると、nucleus とデバイス上の他のすべてのコンポーネントを含む AWS IoT Greengrass Core ソフトウェアが再起動して変更を適用します。  
<a name="component-patch-update"></a>コンポーネントをデプロイすると、 はそのコンポーネントのすべての依存関係のサポートされている最新バージョン AWS IoT Greengrass をインストールします。このため、モノのグループに新しいデバイスを追加するか、それらのデバイスをターゲットとするデプロイを更新すると、 AWS提供されたパブリックコンポーネントの新しいパッチバージョンがコアデバイスに自動的にデプロイされる可能性があります。nucleus の更新など、一部の自動更新により、デバイスに予期せぬ再起動が発生することがあります。  
<a name="component-version-pinning"></a>デバイスで実行されているコンポーネントに不要に更新されることを防ぐには、[デプロイを作成する](create-deployments.md)際、そのコンポーネントの優先バージョンを直接含めることをお勧めします。 AWS IoT Greengrass Core ソフトウェアの更新動作の詳細については、「」を参照してください[AWS IoT Greengrass Core ソフトウェア (OTA) の更新](update-greengrass-core-v2.md)。

**Topics**
+ [バージョン](#greengrass-nucleus-component-versions)
+ [デバイスの要件](#greengrass-v2-requirements)
+ [サポートされているプラットフォーム](#greengrass-v2-supported-platforms)
+ [オペレーティングシステム](#greengrass-nucleus-component-os-support)
+ [要件](#greengrass-nucleus-component-requirements)
+ [依存関係](#greengrass-nucleus-component-dependencies)
+ [ダウンロードとインストール](#greengrass-nucleus-component-install)
+ [設定](#greengrass-nucleus-component-configuration)
+ [ローカルログファイル](#greengrass-nucleus-component-log-file)
+ [変更ログ](#greengrass-nucleus-component-changelog)

## バージョン
<a name="greengrass-nucleus-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.16.x
+ 2.15.x
+ 2.14.x
+ 2.13.x
+ 2.12.x
+ 2.11.x
+ 2.10.x
+ 2.9.x
+ 2.8.x
+ 2.7.x
+ 2.6.x
+ 2.5.x
+ 2.4.x
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## デバイスの要件
<a name="greengrass-v2-requirements"></a>

**注記**  
 AWS IoT Device Tester の を使用して AWS IoT Greengrass 、デバイスが AWS IoT Greengrass Core ソフトウェアを実行し、 と通信できることを確認できます AWS クラウド。詳細については、「[AWS IoT Device Tester for AWS IoT Greengrass V2 を使用する](device-tester-for-greengrass-ug.md)」を参照してください。

------
#### [ Linux ]
+ <a name="requirement-supported-region"></a>がサポート[AWS リージョン](https://en.wikipedia.org/wiki/Amazon_Web_Services#Availability_and_topology)する の使用 AWS IoT Greengrass V2。サポートされているリージョンのリストについては、「AWS 全般のリファレンス」の「[AWS IoT Greengrass V2 の エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/greengrassv2.html)」を参照してください。
+  AWS IoT Greengrass Core ソフトウェアで使用できるディスク容量は 256 MB 以上です。この要件には、コアデバイスにデプロイされたコンポーネントは含まれません。
+  AWS IoT Greengrass Core ソフトウェアに割り当てられる最小 96 MB の RAM。この要件には、コアデバイスで実行されるコンポーネントは含まれません。詳細については、「[JVM オプションでメモリ割り当てを制御する](configure-greengrass-core-v2.md#jvm-tuning)」を参照してください。
+ Java ランタイム環境 (JRE) バージョン 8 以降。デバイスの [PATH](https://en.wikipedia.org/wiki/PATH_(variable)) 環境変数で Java が利用可能になっている必要があります。Java を使用してカスタムコンポーネントを開発するには、Java Development Kit (JDK) をインストールする必要があります。[Amazon Corretto](https://aws.amazon.com/corretto/) または [OpenJDK](https://openjdk.java.net/) の長期サポートバージョンを使用することをお勧めします。バージョン 8 以降が必要です。
+ [[GNU C Library]](https://www.gnu.org/software/libc/) (GNU C ライブラリ)(glibc) バージョン 2.25 以降。
+  AWS IoT Greengrass Core ソフトウェアをルートユーザーとして実行する必要があります。例えば `sudo` を使用します。
+ などの AWS IoT Greengrass Core ソフトウェアを実行するルートユーザーには`root`、ユーザーとグループ`sudo`で を実行するアクセス許可が必要です。`/etc/sudoers` ファイルは、このユーザーに `sudo` を他のグループとして実行する権限が与えられていることが必要です。`/etc/sudoers` のユーザーの権限は、次の例のようになります。

  ```
  root    ALL=(ALL:ALL) ALL
  ```
+ コアデバイスは、一連のエンドポイントおよびポートへのアウトバウンド要求を実行できる必要があります。詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。
+ `/tmp` ディレクトリは `exec` 権限でマウントする必要があります。
+ 次のすべてのシェルコマンド:
  + `ps -ax -o pid,ppid`
  + `sudo`
  + `sh`
  + `kill`
  + `cp`
  + `chmod`
  + `rm`
  + `ln`
  + `echo`
  + `exit`
  + `id`
  + `uname`
  + `grep`
+ デバイスでは、次のオプションのシェルコマンドが必要な場合もあります。
  + (オプション) `systemctl`。このコマンドは、 AWS IoT Greengrass Core ソフトウェアをシステムサービスとして設定するために使用します。
  + (オプション) `useradd`、`groupadd`、および `usermod`。これらのコマンドは、`ggc_user` システムユーザーと `ggc_group` システムグループを設定するために使用します。
  + (オプション) `mkfifo`。このコマンドは、Lambda 関数をコンポーネントとして実行するために使用します。
+ コンポーネントプロセスのシステムリソース制限を設定するには、デバイスで Linux カーネルバージョン 2.6.24 以降を実行する必要があります。
+ Lambda 関数を実行するには、デバイスが追加の要件を満たしている必要があります。詳細については、「[Lambda 関数の要件](setting-up.md#greengrass-v2-lambda-requirements)」を参照してください。

------
#### [ Windows ]
+ <a name="requirement-supported-region"></a>がサポート[AWS リージョン](https://en.wikipedia.org/wiki/Amazon_Web_Services#Availability_and_topology)する の使用 AWS IoT Greengrass V2。サポートされているリージョンのリストについては、「AWS 全般のリファレンス」の「[AWS IoT Greengrass V2 の エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/greengrassv2.html)」を参照してください。
+  AWS IoT Greengrass Core ソフトウェアで使用できるディスク容量は 256 MB 以上です。この要件には、コアデバイスにデプロイされたコンポーネントは含まれません。
+  AWS IoT Greengrass Core ソフトウェアに割り当てられる最小 160 MB の RAM。この要件には、コアデバイスで実行されるコンポーネントは含まれません。詳細については、「[JVM オプションでメモリ割り当てを制御する](configure-greengrass-core-v2.md#jvm-tuning)」を参照してください。
+ Java ランタイム環境 (JRE) バージョン 8 以降。デバイスの [PATH](https://en.wikipedia.org/wiki/PATH_(variable)) システム変数で Java が利用可能になっている必要があります。Java を使用してカスタムコンポーネントを開発するには、Java Development Kit (JDK) をインストールする必要があります。[Amazon Corretto](https://aws.amazon.com/corretto/) または [OpenJDK](https://openjdk.java.net/) の長期サポートバージョンを使用することをお勧めします。バージョン 8 以降が必要です。
**注記**  
[Greengrass nucleus](#greengrass-nucleus-component) のバージョン 2.5.0 を使用するには、64 ビット版の Java Runtime Environment (JRE) を使用する必要があります。Greengrass nucleus バージョン 2.5.1 は 32 ビットおよび 64 ビットの JRE をサポートします。
+  AWS IoT Greengrass Core ソフトウェアをインストールするユーザーは、管理者である必要があります。
+  AWS IoT Greengrass Core ソフトウェアをシステムサービスとしてインストールする必要があります。ソフトウェアをインストールするとき、`--setup-system-service true` を指定します。
+ コンポーネントプロセスを実行する各ユーザーは、LocalSystem アカウントに存在し、ユーザーの名前とパスワードが LocalSystem アカウントの認証情報マネージャーインスタンスに含まれている必要があります。[AWS IoT Greengrass Core ソフトウェアをインストールする](install-greengrass-core-v2.md)手順に従うときに、このユーザーを設定できます。
+ コアデバイスは、一連のエンドポイントおよびポートへのアウトバウンド要求を実行できる必要があります。詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。

------

## サポートされているプラットフォーム
<a name="greengrass-v2-supported-platforms"></a>

AWS IoT Greengrass は、以下のプラットフォームを実行するデバイスを正式にサポートしています。このリストに含まれていないプラットフォームを持つデバイスは動作する可能性がありますが、これらの指定されたプラットフォームでのみ AWS IoT Greengrass テストされます。

------
#### [ Linux ]

アーキテクチャ:
+ Armv7l
+ Armv8 (AArch64)
+ x86\$164

------
#### [ Windows ]

アーキテクチャ:
+ x86\$164

バージョン:
+ Windows 10
+ Windows 11
+ Windows Server 2019
+ Windows Server 2022

**注記**  
一部の AWS IoT Greengrass 機能は、現在 Windows デバイスではサポートされていません。詳細については、「[Greengrass 機能の互換性](operating-system-feature-support-matrix.md)」および「[機能に関する考慮事項](#greengrass-v2-windows-feature-considerations)」を参照してください。

------

### 機能に関する考慮事項
<a name="greengrass-v2-windows-feature-considerations"></a>

一部の AWS IoT Greengrass 機能は、現在 Windows デバイスではサポートされていません。Windows デバイスが要件を満たしているかどうかを確認するには、機能の違いを確認してください。詳細については、「[Greengrass 機能の互換性](operating-system-feature-support-matrix.md)」を参照してください。

カスタムの Linux ベースのオペレーティングシステムをビルドするには、[[ AWS IoT Greengrass project]](https://github.com/aws/meta-aws/tree/master/recipes-iot) ( プロジェクト) の `meta-aws` に BitBake recipe を使用できます。この`meta-aws`プロジェクトでは、[OpenEmbedded](https://www.openembedded.org/wiki/Main_Page) および Yocto プロジェクトビルドフレームワークで構築された[組み込み Linux](https://elinux.org/) システムで AWS エッジソフトウェア機能を構築するために使用できるレシピを提供します。[Yocto Project](https://www.yoctoproject.org/) は、ハードウェアのアーキテクチャに関係なく、組み込みアプリケーション用のカスタム Linux ベースのシステムをビルドするのに役立つ、オープンソースのコラボレーションプロジェクトです。の AWS IoT Greengrass BitBake レシピは、デバイスで AWS IoT Greengrass Core ソフトウェアをインストール、設定、および自動的に実行します。

Linux プラットフォームは、Docker コンテナ AWS IoT Greengrass で実行することもできます。詳細については、「[Docker コンテナで AWS IoT Greengrass Core ソフトウェアを実行する](run-greengrass-docker.md)」を参照してください。

## オペレーティングシステム
<a name="greengrass-nucleus-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Server 

詳細については、「[サポートされているプラットフォーム](#greengrass-v2-supported-platforms)」を参照してください。

## 要件
<a name="greengrass-nucleus-component-requirements"></a>

Greengrass nucleus と AWS IoT Greengrass Core ソフトウェアをインストールして実行するには、デバイスが特定の要件を満たしている必要があります。詳細については、「[デバイスの要件](#greengrass-v2-requirements)」を参照してください。

Greengrass nucleus コンポーネントは、VPC での実行がサポートされています。このコンポーネントを VPC にデプロイするには、以下が必要です。
+ Greengrass nucleus コンポーネントは AWS IoT data、、 AWS IoT 認証情報、および Amazon S3 に接続する必要があります。

## 依存関係
<a name="greengrass-nucleus-component-dependencies"></a>

Greengrass nucleus にはコンポーネントの依存関係は含まれません。ただし、いくつかの AWSで提供されるコンポーネントには、依存関係としての nucleus が含まれます。詳細については、「[AWS が提供したコンポーネント](public-components.md)」を参照してください。

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## ダウンロードとインストール
<a name="greengrass-nucleus-component-install"></a>

お使いのデバイスに Greengrass nucleus コンポーネントを設定するインストーラをダウンロードできます。このインストーラは、お使いのデバイスを Greengrass コアデバイスとしてセットアップします。実行できるインストールには、必要な AWS リソースを作成するクイックインストールと、自分で AWS リソースを作成する手動インストールの 2 種類があります。詳細については、「[AWS IoT Greengrass Core ソフトウェアをインストールします。](install-greengrass-core-v2.md)」を参照してください。

チュートリアルに従って Greengrass nucleus をインストールし、Greengrass コンポーネントの開発を参照することもできます。詳細については、「[チュートリアル: AWS IoT Greengrass V2 の開始方法](getting-started.md)」を参照してください。

## 設定
<a name="greengrass-nucleus-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。一部のパラメータでは、 AWS IoT Greengrass Core ソフトウェアを再起動して有効にする必要があります。このコンポーネントの設定理由と方法の詳細については、「[AWS IoT Greengrass Core ソフトウェアを設定する](configure-greengrass-core-v2.md)」を参照してください。

`iotRoleAlias`  
<a name="nucleus-component-configuration-iot-role-alias"></a>トークン交換 IAM AWS IoT ロールを指すロールエイリアス。 AWS IoT 認証情報プロバイダーはこのロールを引き受け、Greengrass コアデバイスが AWS サービスとやり取りできるようにします。詳細については、「[コアデバイスが AWS サービスとやり取りできるように認可する](device-service-role.md)」を参照してください。  
`--provision true` オプションを使用して AWS IoT Greengrass Core ソフトウェアを実行すると、ソフトウェアはロールエイリアスをプロビジョニングし、nucleus コンポーネントでその値を設定します。

  `interpolateComponentConfiguration`   
(オプション) コンポーネント設定の[コンポーネント recipe 変数](component-recipe-reference.md#recipe-variables)、および[マージ設定の更新](update-component-configurations.md#merge-configuration-update-recipe-variables)を補間するように、Greengrass nucleus を有効化することができます。コアデバイスが、recipe 変数を設定内で使用する Greengrass コンポーネントを実行できるように、このオプションを `true` に設定することをお勧めします。  
この機能は、このコンポーネントの v2.6.0 以降で利用可能です。  
デフォルト: `false`

`networkProxy`  
(オプション) すべての接続に使用するネットワークプロキシ。詳細については、「[ポート 443 での接続またはネットワークプロキシを通じた接続](configure-greengrass-core-v2.md#configure-alpn-network-proxy)」を参照してください。  
<a name="nucleus-component-parameter-restart-para"></a>この設定パラメータに変更をデプロイすると、変更を有効にするために AWS IoT Greengrass Core ソフトウェアが再起動します。
このオブジェクトには、次の情報が含まれます。    
`noProxyAddresses`  
(オプション) プロキシの対象外となる IP アドレスやホスト名のカンマ区切りリスト。  
`proxy`  
接続先のプロキシ。このオブジェクトには、次の情報が含まれます。    
`url`  
プロキシサーバーの URL (`scheme://userinfo@host:port` 形式)。  <a name="nucleus-component-configuration-proxy-url-segments"></a>
+ `scheme` - スキーム。`http` または `https` である必要があります。
**重要**  
<a name="https-proxy-greengrass-nucleus-requirement"></a>HTTPS プロキシを使用するには、Greengrass コアデバイスで [Greengrass nucleus ](#greengrass-nucleus-component) v2.5.0 以降を実行している必要があります。  
HTTPS プロキシを設定する場合は、コアデバイスの Amazon ルート CA 証明書にプロキシサーバー CA 証明書を追加する必要があります。詳細については、「[コアデバイスが HTTPS プロキシを信頼できるようにする](configure-greengrass-core-v2.md#https-proxy-certificate-trust)」を参照してください。
+ `userinfo` - (オプション) ユーザー名とパスワードの情報。この情報を `url` で指定する場合、Greengrass コアデバイスは `username` および `password` フィールドを無視します。
+ `host` – プロキシサーバーのホスト名または IP アドレス。
+ `port` - (オプション) ポート番号。ポートを指定しない場合、Greengrass コアデバイスは次のデフォルト値を使用します。
  + `http` – 80
  + `https` – 443  
`username`  
(オプション) プロキシサーバーを認証するユーザー名です。  
`password`  
(オプション) プロキシサーバーを認証するパスワードです。

`mqtt`  
(オプション) Greengrass コアデバイスの MQTT 設定。詳細については、「[ポート 443 での接続またはネットワークプロキシを通じた接続](configure-greengrass-core-v2.md#configure-alpn-network-proxy)」を参照してください。  
<a name="nucleus-component-parameter-restart-para"></a>この設定パラメータに変更をデプロイすると、変更を有効にするために AWS IoT Greengrass Core ソフトウェアが再起動します。
このオブジェクトには、次の情報が含まれます。    
`port`  
(オプション) MQTT 接続に使用するポート。  
デフォルト: `8883`  
`keepAliveTimeoutMs`  
(オプション) MQTT 接続を維持するためにクライアントが送信する各 `PING` メッセージを送信する間隔 (ミリ秒)。この値は `pingTimeoutMs` より大きくなければなりません。  
デフォルト: `60000` (60 秒)  
`pingTimeoutMs`  
(オプション) クライアントがサーバーから `PINGACK` メッセージを受信するまで待機する時間 (ミリ秒)。待機時間がタイムアウトを超えると、コアデバイスは MQTT 接続を閉じて再度開きます。この値は、`keepAliveTimeoutMs` より小さくなければなりません。  
デフォルト: `30000` (30 秒)  
`operationTimeoutMs`  
(オプション) MQTT 操作 (`CONNECT` や `PUBLISH` など) が完了するまでクライアントが待機する時間 (ミリ秒)。このオプションは MQTT `PING` メッセージやキープアライブメッセージには適用されません。  
デフォルト: `30000` (30 秒)  
`maxInFlightPublishes`  
(オプション) 同時に送信できる未確認の MQTT QoS 1 メッセージの最大数。  
この機能は、このコンポーネントの v2.1.0 以降に利用できます。  
デフォルト: `5`  
有効な範囲: 最大値は 100 です。  
`maxMessageSizeInBytes`  
(オプション) MQTT メッセージの最大サイズ。メッセージがこのサイズを超えると、Greengrass nucleus でエラーとなりメッセージが拒否されます。  
この機能は、このコンポーネントの v2.1.0 以降に利用できます。  
デフォルト: `131072` (128 KB)  
有効な範囲: 最大値は `2621440` (2.5 MB) です。  
`maxPublishRetry`  
(オプション) パブリッシュに失敗したメッセージを再試行する最大回数。`-1` の再試行回数の上限はありません。  
この機能は、このコンポーネントの v2.1.0 以降に利用できます。  
デフォルト: `100`  
`spooler`  
(オプション) Greengrass コアデバイスの MQTT スプーラ設定。このオブジェクトには、次の情報が含まれます。    
`storageType`  
メッセージを保存するためのストレージタイプ。`storageType` が `Disk` に設定されている場合、`pluginName` を設定できます。`Memory` または `Disk` のどちらかを指定できます。  
この機能は、[Greengrass nucleus コンポーネント](#greengrass-nucleus-component)の v2.11.0 以降で利用できます。  
MQTT スプーラの `storageType` が `Disk` に設定されていて、Greengrass nucleus をバージョン 2.11.x から以前のバージョンにダウングレードしたい場合は、設定を `Memory` に戻す必要があります。2.10.x 以前のバージョンの Greengrass nucleus でサポートされている `storageType` の設定は `Memory` のみです。このガイダンスに従わないと、スプーラが壊れる可能性があります。スプーラが壊れると、Greengrass コアデバイスが MQTT メッセージを  AWS クラウド に送信できなくなります。
デフォルト: `Memory`  
`pluginName`  
(オプション) プラグインコンポーネント名。このコンポーネントは、`storageType` が `Disk` に設定されている場合にのみ使用されます。このオプションのデフォルトは `aws.greengrass.DiskSpooler` で、Greengrass が提供する [ディスクスプーラ](disk-spooler-component.md) を使用します。  
この機能は、[Greengrass nucleus コンポーネント](#greengrass-nucleus-component)の v2.11.0 以降で利用できます。  
デフォルト: `"aws.greengrass.DiskSpooler"`  
`maxSizeInBytes`  
(オプション) コアデバイスが未処理の MQTT メッセージをメモリに格納するキャッシュの最大サイズ。キャッシュがいっぱいになると、新しいメッセージは拒否されます。  
デフォルト: `2621440` (2.5 MB)  
`keepQos0WhenOffline`  
(オプション) コアデバイスがオフライン中に受信する MQTT QoS 0 メッセージをスプールできます。このオプションを `true` に設定した場合、コアデバイスは、オフライン中に送信できない QoS 0 メッセージをスプールします。このオプションを `false` に設定した場合、コアデバイスはこれらのメッセージを廃棄します。コアデバイスは、スプールがいっぱいでない限り、常に QoS 1 メッセージをスプールします。  
デフォルト: `false`  
`version`  
(オプション) MQTT のバージョン。`mqtt3` または `mqtt5` のどちらかを指定できます。  
この機能は、[Greengrass nucleus コンポーネント](#greengrass-nucleus-component)の v2.10.0 以降で利用できます。  
デフォルト: `mqtt5`  
`receiveMaximum`  
(オプション) ブローカーが送信できる未承認の QoS1 パケットの最大数。  
この機能は、[Greengrass nucleus コンポーネント](#greengrass-nucleus-component)の v2.10.0 以降で利用できます。  
デフォルト: `100`  
`sessionExpirySeconds`  
(オプション) IoT Core からのセッション継続を要求できる時間 (秒) を指定します。デフォルトは、 でサポートされる最大時間です AWS IoT Core。  
この機能は、[Greengrass nucleus コンポーネント](#greengrass-nucleus-component)の v2.10.0 以降で利用できます。  
デフォルト: `604800 (7 days)`  
`minimumReconnectDelaySeconds`  
(オプション) 再接続動作のオプション。MQTT が再接続するまでの最小時間 (秒) を指定します。  
この機能は、[Greengrass nucleus コンポーネント](#greengrass-nucleus-component)の v2.10.0 以降で利用できます。  
デフォルト: `1`  
`maximumReconnectDelaySeconds`  
(オプション) 再接続動作のオプション。MQTT が再接続するまでの最大時間 (秒) を指定します。  
この機能は、[Greengrass nucleus コンポーネント](#greengrass-nucleus-component)の v2.10.0 以降で利用できます。  
デフォルト: `120`  
`minimumConnectedTimeBeforeRetryResetSeconds`  
(オプション) 再接続動作のオプション。リトライ遅延が最小値にリセットされる以前に、接続がアクティブでなければならない時間 (秒) を指定します。  
この機能は、[Greengrass nucleus コンポーネント](#greengrass-nucleus-component)の v2.10.0 以降で利用できます。  
デフォルト: `30`

  `jvmOptions`  
(オプション) AWS IoT Greengrass Core ソフトウェアの実行に使用する JVM オプション。 AWS IoT Greengrass Core ソフトウェアを実行するために推奨される JVM オプションについては、「」を参照してください[JVM オプションでメモリ割り当てを制御する](configure-greengrass-core-v2.md#jvm-tuning)。  
<a name="nucleus-component-parameter-restart-para"></a>この設定パラメータに変更をデプロイすると、変更を有効にするために AWS IoT Greengrass Core ソフトウェアが再起動します。

`iotDataEndpoint`  
<a name="nucleus-component-configuration-iot-data-endpoint"></a> AWS IoT のデータエンドポイント AWS アカウント。  
<a name="nucleus-component-set-iot-endpoints"></a>`--provision true` オプションを使用して AWS IoT Greengrass Core ソフトウェアを実行すると、ソフトウェアは からデータと認証情報のエンドポイントを取得し AWS IoT 、nucleus コンポーネントに設定します。

`iotCredEndpoint`  
<a name="nucleus-component-configuration-iot-cred-endpoint"></a>の AWS IoT 認証情報エンドポイント AWS アカウント。  
<a name="nucleus-component-set-iot-endpoints"></a>`--provision true` オプションを使用して AWS IoT Greengrass Core ソフトウェアを実行すると、ソフトウェアは からデータと認証情報のエンドポイントを取得し AWS IoT 、nucleus コンポーネントに設定します。

`greengrassDataPlaneEndpoint`  
この機能は、このコンポーネントの v2.7.0 以降で利用可能です。  
詳細については、「[プライベート CA によって署名されたデバイス証明書を使用する](configure-greengrass-core-v2.md#configure-nucleus-private-ca)」を参照してください。

`greengrassDataPlanePort`  
この機能は、このコンポーネントの v2.0.4 以降で利用できます。  
(オプション) データプレーン接続に使用するポート。詳細については、「[ポート 443 での接続またはネットワークプロキシを通じた接続](configure-greengrass-core-v2.md#configure-alpn-network-proxy)」を参照してください。  
デバイスがアウトバウンド接続を確立できるポートを指定する必要があります。ブロックされているポートを指定すると、デバイスは に接続 AWS IoT Greengrass してデプロイを受信できなくなります。
次のオプションから選択します。  
+ `443`
+ `8443`
デフォルト: `8443`

`awsRegion`  
 AWS リージョン 使用する 。

`runWithDefault`  
コンポーネントの実行に使用するシステムユーザー。  
<a name="nucleus-component-parameter-restart-para"></a>この設定パラメータに変更をデプロイすると、変更を有効にするために AWS IoT Greengrass Core ソフトウェアが再起動します。
このオブジェクトには、次の情報が含まれます。    
`posixUser`  
コアデバイスがジェネリックコンポーネントおよび Lambda コンポーネントを実行するために使用するシステムユーザーの名前または ID (オプション)。ユーザーとグループを `user:group` の形式に従ってコロン (`:`) で区切って指定します。グループはオプションです。グループを指定しない場合、 AWS IoT Greengrass Core ソフトウェアはユーザーのプライマリグループを使用します。たとえば、`ggc_user` や `ggc_user:ggc_group` と指定することができます。詳細については、「[コンポーネントを実行するユーザーを設定する](configure-greengrass-core-v2.md#configure-component-user)」を参照してください。  
`--component-default-user ggc_user:ggc_group` オプションを使用して AWS IoT Greengrass Core ソフトウェアインストーラを実行すると、ソフトウェアはこのパラメータを nucleus コンポーネントに設定します。  
`windowsUser`  
この機能は、このコンポーネントの v2.5.0 以降で利用できます。  
Windows コアデバイスでこのコンポーネントを実行するために使用する Windows ユーザーの名前。ユーザーは各 Windows コアデバイスに存在し、その名前とパスワードが LocalSystem アカウントの認証情報マネージャーインスタンスに格納されている必要があります。詳細については、「[コンポーネントを実行するユーザーを設定する](configure-greengrass-core-v2.md#configure-component-user)」を参照してください。  
`--component-default-user ggc_user` オプションを使用して AWS IoT Greengrass Core ソフトウェアインストーラを実行すると、ソフトウェアはこのパラメータを nucleus コンポーネントに設定します。  
`systemResourceLimits`  
この機能は、このコンポーネントの v2.4.0 以降に利用できます。 AWS IoT Greengrass は、現在 Windows コアデバイスにこの機能をサポートしていません。  
デフォルトで、ジェネリックおよびコンテナ化されていない Lambda コンポーネントプロセスに適用されるシステムリソースの制限。デプロイを作成するときに、個々のコンポーネントのシステムリソース制限を上書きできます。詳細については、「[コンポーネントのシステムリソース制限を設定する](configure-greengrass-core-v2.md#configure-component-system-resource-limits)」を参照してください。  
このオブジェクトには、次の情報が含まれます。    
`cpus`  
 <a name="system-resource-limits-cpu-definition-each"></a>各コンポーネントのプロセスがコアデバイスで使用できる CPU 時間の最大量。コアデバイスの合計 CPU 時間は、デバイスの CPU コア数と同じです。たとえば、4 つの CPU コアを持つコアデバイスでは、この値を `2` に設定することで、各コンポーネントのプロセスを各 CPU コアの 50% の使用率に制限することができます。CPU コアが 1 つのデバイスの場合は、この値を `0.25` に設定することで、各コンポーネントのプロセスを CPU の 25% の使用率に制限することができます。この値を CPU コア数より大きい数に設定した場合、 AWS IoT Greengrass Core ソフトウェアはコンポーネントの CPU 使用率を制限しません。  
`memory`  
 <a name="system-resource-limits-memory-definition-each"></a>各コンポーネントのプロセスがコアデバイスで使用できる RAM の最大量 (キロバイト単位)。

 `s3EndpointType`   
(オプション) S3 エンドポイントタイプ。このパラメータは、米国東部 (バージニア北部) (`us-east-1`) リージョンでのみ有効になります。他のリージョンでこのパラメータを設定すると無視されます。次のオプションから選択します。  
+ `REGIONAL` – S3 クライアントと署名付き URL は、リージョンエンドポイントを使用します。
+ `GLOBAL` – S3 クライアントと署名付き URL はレガシーエンドポイントを使用します。
+ `DUALSTACK` – S3 署名付き URL はデュアルスタックエンドポイントを使用します。
デフォルト: `GLOBAL`

 `fipsMode`   
(オプション) Greengrass が FIPS エンドポイントを使用できるようにします。FIPS エンドポイントを有効にする方法の詳細については、「[FIPS エンドポイント](FIPS.html)」を参照してください。  
次のオプションから選択します。  
+ `true` true に設定すると、エンドポイントは FIPS エンドポイントを使用します。
+ `false` false の場合、エンドポイントは FIPS エンドポイントを使用しません。
デフォルト: `false`

`logging`  
(オプション) コアデバイスのログ設定。Greengrass ログの設定と使用方法の詳細については、「[AWS IoT Greengrass ログのモニタリング](monitor-logs.md)」を参照してください。  
このオブジェクトには、次の情報が含まれます。    
  `level`   
(オプション) 出力するログメッセージの最小レベル。  
こちらにレベル順に一覧表示されているログレベルから選択します。  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
デフォルト: `INFO`  
  `format`   
(オプション) ログのデータ形式。次のオプションから選択します。  
+ `TEXT` - ログをテキスト形式で表示する場合は、このオプションを選択します。
+ `JSON` - [Greengrass CLI のログコマンド](gg-cli-logs.md)でログを表示したり、プログラムでログとやり取りしたりするには、このオプションを選択します。
デフォルト: `TEXT`  
`outputType`  
(オプション) ログの出力タイプ。次のオプションから選択します。  
+ `FILE` – AWS IoT Greengrass Core ソフトウェアは、 で指定したディレクトリ内のファイルにログを出力します`outputDirectory`。
+ `CONSOLE` – AWS IoT Greengrass Core ソフトウェアはログを に出力します`stdout`。コアデバイスがログを印刷するときにログを表示するには、このオプションを選択します。
デフォルト: `FILE`  
  `fileSizeKB`   
(オプション) 各ログファイルの最大サイズ (キロバイト単位)。ログファイルがこの最大ファイルサイズを超えると、 AWS IoT Greengrass Core ソフトウェアは新しいログファイルを作成します。  
<a name="nucleus-component-logging-parameter-file-only"></a>このパラメータは、`FILE` または `outputType` が指定されている場合にのみ適用されます。  
デフォルト: `1024`  
  `totalLogsSizeKB`   
(オプション) Greengrass nucleus を含む各コンポーネントのログファイルの最大合計サイズ (キロバイト単位)。Greengrass nucleus のログファイルには、[プラグインコンポーネント](develop-greengrass-components.md#component-types)からのログも含まれます。コンポーネントのログファイルの合計サイズがこの最大サイズを超えると、 AWS IoT Greengrass Core ソフトウェアはそのコンポーネントの最も古いログファイルを削除します。  
このパラメータは、[ログマネージャーコンポーネント](log-manager-component.md)の[ディスク容量の制限](log-manager-component.md#log-manager-component-configuration)パラメータ (`diskSpaceLimit`) と同等で、Greengrass nucleus (システム) と各コンポーネントに対して指定できます。 AWS IoT Greengrass Core ソフトウェアは、Greengrass nucleus と各コンポーネントの最大合計ログサイズとして 2 つの値の最小値を使用します。  
<a name="nucleus-component-logging-parameter-file-only"></a>このパラメータは、`FILE` または `outputType` が指定されている場合にのみ適用されます。  
デフォルト: `10240`  
  `outputDirectory`   
(オプション) ログファイルの出力ディレクトリ。  
<a name="nucleus-component-logging-parameter-file-only"></a>このパラメータは、`FILE` または `outputType` が指定されている場合にのみ適用されます。  
デフォルト: `/greengrass/v2/logs`。このとき AWS IoT Greengrass ルートフォルダは `/greengrass/v2` です。

  `fleetstatus`   
このパラメータは、このコンポーネントの v2.1.0 以降で利用できます。  
(オプション) コアデバイスのフリートステータス設定。  
このオブジェクトには、次の情報が含まれます。    
`periodicStatusPublishIntervalSeconds`  
(オプション) コアデバイスがデバイスステータスを AWS クラウドにパブリッシュする時間 (秒単位)。  
最小:`86400` (24 時間)  
デフォルト: `86400` (24 時間)

  `telemetry`   
(オプション) コアデバイスのシステムヘルステレメトリ設定。テレメトリメトリクスとテレメトリデータに対する動作の詳細については、「[AWS IoT Greengrass コアデバイスからシステムヘルステレメトリデータを収集する](telemetry.md)」を参照してください。  
このオブジェクトには、次の情報が含まれます。    
`enabled`  
(オプション) テレメトリを有効または無効にできます。  
デフォルト: `true`  
`periodicAggregateMetricsIntervalSeconds`  
(オプション) コアデバイスがメトリクスを集約する間隔 (秒単位)。  
この値をサポートされている最小値よりも低く設定すると、nucleus では代わりにデフォルト値が使用されます。  
最小: `3600`  
デフォルト: `3600`  
`periodicPublishMetricsIntervalSeconds`  
(オプション) コアデバイスがテレメトリメトリクスを AWS クラウドにパブリッシュする間隔 (秒単位)。  
この値をサポートされている最小値よりも低く設定すると、nucleus では代わりにデフォルト値が使用されます。  
最小: `86400`  
デフォルト: `86400`

`deploymentPollingFrequencySeconds`  
(オプション) デプロイ通知をポーリングする期間 (秒)。  
デフォルト: `15`

`componentStoreMaxSizeBytes`  
(オプション) コンポーネントの recipe とアーティファクトを含む、コンポーネントストアのディスク上の最大サイズ。  
デフォルト: `10000000000` (10 GB)

  `platformOverride`   
(オプション) コアデバイスのプラットフォームを識別する属性のディクショナリ。これを使用して、コンポーネント recipe がコンポーネントの正しいライフサイクルとアーティファクトを識別するために使用できるカスタムプラットフォーム属性を定義します。たとえば、ハードウェア機能属性を定義して、コンポーネントを実行するアーティファクトの最小セットのみをデプロイできます。詳細については、コンポーネント recipe の「[マニフェストプラットフォームパラメータ](component-recipe-reference.md#component-platform-definition)」を参照してください。  
また、このパラメータを使用して、コアデバイスの `os` および `architecture` プラットフォーム属性を上書きすることができます。

  `httpClient`   
このパラメータは、このコンポーネントの v2.5.0 以降で利用できます。  
(オプション) コアデバイスの HTTP クライアント設定。これらの設定オプションは、このコンポーネントによって行われたすべての HTTP リクエストに適用されます。コアデバイスが低速のネットワーク上で動作している場合、これらのタイムアウト時間を長くして HTTP 要求がタイムアウトするのを防ぐことができます。  
このオブジェクトには、次の情報が含まれます。    
`connectionTimeoutMs`  
(オプション) 接続を開いた際に接続要求がタイムアウトするまの待機時間 (ミリ秒)。  
デフォルト: `2000` (2 秒)  
`socketTimeoutMs`  
(オプション) 開いている接続でデータを転送した際に接続がタイムアウトするまでの待機時間 (ミリ秒)。  
デフォルト: `30000` (30 秒)

  `deploymentConfigurationTimeSource`   
このパラメータは、このコンポーネントの v2.15.0 以降で使用できます。  
(オプション) デプロイを処理するときに使用するタイムスタンプ。デフォルトは `deploymentCreationTime` です。  
このオブジェクトには以下の値が含まれます。    
`deploymentCreationTime`  
`deploymentConfigurationTimeSource` のデフォルト値。デバイスは、デプロイ作成タイムスタンプを使用して、処理中の設定キーの競合を解決します。この動作を選択すると、nucleus によって保持されるローカルデバイス設定のタイムスタンプが、受信デプロイのタイムスタンプよりも新しくなる可能性があります。その結果、受信設定の変更は古いものとして拒否されます。  
`deploymentProcessingTime`  
デバイスはローカルタイムスタンプを使用して、デプロイ処理中の設定キーの競合を解決します。処理されると、デバイスはデプロイ作成タイムスタンプではなく処理タイムスタンプに基づいて設定を更新します。この動作は、デバイスクロックが適切にキャリブレーションされていることを前提としています。  
新しいデバイスが最初の接続でこの動作を使用する場合は、デプロイではなく、最初のデバイスイメージまたはインストールでこの nucleus 設定を構成します。この設定には、nucleus classic インストーラの [https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-installer.html](https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-installer.html) オプションを使用します。  
デバイスは複数のデプロイを任意の順序で処理するため、この初期設定は不可欠です。適切な初期設定がない場合、デバイスは nucleus 設定を `deploymentProcessingTime` に設定するデプロイを受信する前に、デフォルトの `deploymentCreationTime` 動作を使用してデプロイを処理することがあります。

**Example 例: 設定マージの更新**  

```
{
  "iotRoleAlias": "GreengrassCoreTokenExchangeRoleAlias",
  "networkProxy": {
    "noProxyAddresses": "http://192.168.0.1,www.example.com",
    "proxy": {
      "url": "http://my-proxy-server:1100",
      "username": "Mary_Major",
      "password": "pass@word1357"
    }
  },
  "mqtt": {
    "port": 443
  },
  "greengrassDataPlanePort": 443,
  "jvmOptions": "-Xmx64m",
  "runWithDefault": {
    "posixUser": "ggc_user:ggc_group"
  }
}
```

## ローカルログファイル
<a name="greengrass-nucleus-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="greengrass-nucleus-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.16.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.16.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.15.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.15.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.14.3  |  バグ修正と機能向上 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.14.2  |  バグ修正と機能向上 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.14.1  |  バグ修正と機能向上 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.14.0  |  このバージョンは現在利用できません。このバージョンの改善は、このコンポーネントのそれ以降のバージョンで利用できます。  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.13.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.6  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.3  |   このバージョンは現在利用できません。このバージョンの改善は、このコンポーネントのそれ以降のバージョンで利用できます。  バグ修正と機能向上 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.0  |  <a name="changelog-nucleus-2.12.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.11.3  |  <a name="changelog-nucleus-2.11.3"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.11.2  |  <a name="changelog-nucleus-2.11.2"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.11.1  |  <a name="changelog-nucleus-2.11.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.11.0  |  <a name="changelog-nucleus-2.11.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.10.3  |  <a name="changelog-nucleus-2.10.3"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.10.2  |  <a name="changelog-nucleus-2.10.2"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.10.1  |  <a name="changelog-nucleus-2.10.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.10.0  |  <a name="changelog-nucleus-2.10.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.6  |  <a name="changelog-nucleus-2.9.6"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.5  |  <a name="changelog-nucleus-2.9.5"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.4  |  <a name="changelog-nucleus-2.9.4"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.3  |  <a name="changelog-nucleus-2.9.3"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.2  |  <a name="changelog-nucleus-2.9.2"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.1  |  <a name="changelog-nucleus-2.9.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.0  |  <a name="changelog-nucleus-2.9.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.8.1  |  <a name="changelog-nucleus-2.8.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.8.0  |  <a name="changelog-nucleus-2.8.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.7.0  |  <a name="changelog-nucleus-2.7.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.6.0  |  <a name="changelog-nucleus-2.6.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.6  |  <a name="changelog-nucleus-2.5.6"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.5  |  <a name="changelog-nucleus-2.5.5"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.4  |  <a name="changelog-nucleus-2.5.4"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.3  |  <a name="changelog-nucleus-2.5.3"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.2  |  <a name="changelog-nucleus-2.5.2"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.1  |   このバージョンは現在利用できません。このバージョンの改善は、このコンポーネントのそれ以降のバージョンで利用できます。  <a name="changelog-nucleus-2.5.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.0  |  <a name="changelog-nucleus-2.5.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.4.0  |  <a name="changelog-nucleus-2.4.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.3.0  |  <a name="changelog-nucleus-2.3.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.2.0  |  <a name="changelog-nucleus-2.2.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.1.0  |  <a name="changelog-nucleus-2.1.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.0.5  |  <a name="changelog-nucleus-2.0.5"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.0.4  |  <a name="changelog-nucleus-2.0.4"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.0.3  |  当初のバージョン  | 

# Greengrass nucleus lite
<a name="greengrass-nucleus-lite-component"></a>

Greengrass nucleus lite (`aws.greengrass.NucleusLite`) は、制約のあるエッジデバイス向けのデバイスランタイムで、メモリフットプリントを最小限に抑えるために最適化されています (5 MB 未満の RAM を使用)。 AWS IoT Greengrass バージョン 2.14.0 リリースで導入され、 AWS IoT Greengrass 汎用コンポーネント、Greengrass V2 API、および SDK と下位互換性があります。

Greengrass nucleus lite は、一般的な [Greengrass nucleus (`aws.greengrass.Nucleus`)](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html) の代替として提供され、Greengrass デバイスの異種混在フリートで使用できます。

**Topics**
+ [バージョン](#greengrass-nucleus-lite-component-versions)
+ [オペレーティングシステム](#greengrass-nucleus-lite-component-os-support)
+ [要件](#greengrass-nucleus-lite-component-requirements)
+ [互換性](#greengrass-nucleus-lite-component-compatibility)
+ [ダウンロードとインストール](#greengrass-nucleus-lite-component-install)
+ [設定](#greengrass-nucleus-lite-component-configuration)
+ [ローカルログファイル](#greengrass-nucleus-lite-component-log-file)
+ [変更ログ](#greengrass-nucleus-lite-component-changelog)

## バージョン
<a name="greengrass-nucleus-lite-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## オペレーティングシステム
<a name="greengrass-nucleus-lite-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux (systemd を使用したディストリビューション)

詳細については、「[Greengrass nucleus](https://docs.aws.amazon.com/greengrass/v2/developerguide/operating-system-feature-support-matrix.html)」を参照してください。

## 要件
<a name="greengrass-nucleus-lite-component-requirements"></a>

デバイスは、nucleus AWS IoT Greengrass lite と AWS IoT Greengrass Core ソフトウェアをインストールして実行する特定の要件を満たしている必要があります。詳細については、「[Setup guide](https://github.com/aws-greengrass/aws-greengrass-lite/blob/main/docs/SETUP.md#setting-up-greengrass-nucleus-lite)」を参照してください。
+ Nucleus ランタイム用の 5 MB の RAM スペース。
+ 5 MB のストレージ (ディスク/FLASH)。

その他のシステム依存関係については、「[Setup Guide](https://github.com/aws-greengrass/aws-greengrass-lite/blob/main/docs/SETUP.md#dependencies)」を参照してください。

Greengrass nucleus コンポーネントは、VPC での実行がサポートされています。このコンポーネントを VPC にデプロイするには、以下が必要です。
+ Greengrass nucleus には、 AWS IoT データ、 AWS IoT 認証情報、Amazon S3 への接続が必要です。

## 互換性
<a name="greengrass-nucleus-lite-component-compatibility"></a>

 AWS IoT Greengrass nucleus lite は、v2 API ( のサブセット) AWS IoT Greengrass およびサポートされている SDKs。特定の言語ランタイム/VM には依存しませんが、デプロイに追加されるコンポーネントには特定のランタイム (Java JVM、Python など) が必要になる場合があります。Greengrass nucleus lite でサポートされている機能の詳細については、「[Greengrass 機能の互換性](operating-system-feature-support-matrix.md)」を参照してください。

## ダウンロードとインストール
<a name="greengrass-nucleus-lite-component-install"></a>

apt パッケージをダウンロードしたり、[ソースから構築](https://github.com/aws-greengrass/aws-greengrass-lite/blob/main/README.md#getting-started)したり、[Yocto レイヤーを使用](https://github.com/aws4embeddedlinux/meta-aws)したり、互換性のあるデバイス (RaspberryPi など) 用に[構築済みの Yocto イメージをダウンロード](https://github.com/aws4embeddedlinux/meta-aws-demos)したりできます。[AWS IoT Core コンソール](https://console.aws.amazon.com/iot/home)から、デバイスのすべての認証情報と初期設定を含む**接続キット**をダウンロードできます。インストールする手順は、各特定のディストリビューション方法に含まれています。

チュートリアルに従って nucleus AWS IoT Greengrass lite をインストールし、Greengrass コンポーネント開発を検討することもできます。詳細については、「[チュートリアル: AWS IoT Greengrass V2 の開始方法](getting-started.md)」を参照してください。

## 設定
<a name="greengrass-nucleus-lite-component-configuration"></a>

Nucleus は以下の[設定](https://github.com/aws-greengrass/aws-greengrass-lite/blob/main/docs/SETUP.md#configuring-greengrass)パラメータを提供します。一部のパラメータでは、有効にするために AWS IoT Greengrass Core ソフトウェアを再起動する必要があります。

`iotRoleAlias`  
トークン交換 IAM AWS IoT ロールを指すロールエイリアス。 AWS IoT 認証情報プロバイダーはこのロールを引き受け、Greengrass コアデバイスが AWS サービスとやり取りできるようにします。詳細については、[「 コアデバイスが AWS サービスとやり取りすることを許可する」を参照してください。](https://docs.aws.amazon.com/greengrass/v2/developerguide/device-service-role.html)

`iotDataEndpoint`  
<a name="nucleus-component-configuration-iot-data-endpoint"></a> AWS IoT のデータエンドポイント AWS アカウント。

`iotCredEndpoint`  
<a name="nucleus-component-configuration-iot-cred-endpoint"></a>の AWS IoT 認証情報エンドポイント AWS アカウント。

`greengrassDataPlanePort`  
データプレーン接続に使用するポート。詳細については、「[Connect on port 443 or through a network proxy](https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-alpn-network-proxy)」を参照してください。  
デバイスがアウトバウンド接続を確立できるポートを指定する必要があります。ブロックされているポートを指定すると、デバイスは に接続 AWS IoT Greengrass してデプロイを受信できなくなります。次のオプションから選択します。  
+ `443`
+ `8443`
+ デフォルト: `8443`

`awsRegion`  
 AWS リージョン 使用する 。

`runWithDefault`  
コンポーネントの実行に使用するシステムユーザー。  
<a name="nucleus-component-parameter-restart-para"></a>この設定パラメータに変更をデプロイすると、変更を有効にするために AWS IoT Greengrass Core ソフトウェアが再起動します。
このオブジェクトには、次の情報が含まれます。    
`posixUser`  
コアデバイスが汎用コンポーネントを実行するために使用するシステムユーザーの名前または ID、およびシステムグループ (オプション)。ユーザーとグループを `user:group` の形式に従ってコロン (`:`) で区切って指定します。グループはオプションです。グループを指定しない場合、 AWS IoT Greengrass Core ソフトウェアはユーザーのプライマリグループを使用します。たとえば、`ggc_user` や `ggc_user:ggc_group` と指定することができます。詳細については、「[コンポーネントを実行するユーザーを設定する](configure-greengrass-core-v2.md#configure-component-user)」を参照してください。

`networkProxy`  
(オプション) すべての接続に使用するネットワークプロキシ。詳細については、「[ポート 443 での接続またはネットワークプロキシを通じた接続](configure-greengrass-core-v2.md#configure-alpn-network-proxy)」を参照してください。  
この設定パラメータに変更をデプロイすると、その変更は AWS IoT Greengrass Core ソフトウェアの次回の再起動後に有効になります。
このオブジェクトには、次の情報が含まれます。    
`noProxyAddresses`  
(オプション) プロキシの対象外となる IP アドレスやホスト名のカンマ区切りリスト。  
`proxy`  
接続先のプロキシ。このオブジェクトには、次の情報が含まれます。    
`url`  
プロキシサーバーの URL (`http://host:port` 形式)。  
+ `scheme` - スキーム。`http` である必要があります。
+ `host` – プロキシサーバーのホスト名または IP アドレス。
+ `port` - (オプション) ポート番号。ポートを指定しない場合、Greengrass コアデバイスは以下のデフォルト値を使用します。
  + `http` – 80

## ローカルログファイル
<a name="greengrass-nucleus-lite-component-log-file"></a>

メッセージは stdout に記録され、ログファイルは systemd によって処理されます。

**このコンポーネントのログを確認するには**
+ `journalctl` を使用してログを表示します。

## 変更ログ
<a name="greengrass-nucleus-lite-component-changelog"></a>


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.3.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)  | 
|  2.3.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)  | 
|  2.3.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)  | 
|  2.2.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)  | 
|  2.2.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)  | 
|  2.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)  | 
|  2.0.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)  | 
|  2.0.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)  | 
|  2.0.0  |  当初のバージョン  | 

# クライアントデバイス認証
<a name="client-device-auth-component"></a>

クライアントデバイス認証コンポーネント (`aws.greengrass.clientdevices.Auth`) がクライアントデバイスを認証し、クライアントデバイスのアクションを承認します。

**注記**  <a name="client-device-component-context"></a>
クライアントデバイスは、Greengrass コアデバイスに接続し、処理するために MQTT メッセージとデータを送信するローカル IoT デバイスです。詳細については、「[ローカル IoT デバイスとやり取りする](interact-with-local-iot-devices.md)」を参照してください。

**Topics**
+ [バージョン](#client-device-auth-component-versions)
+ [タイプ](#client-device-auth-component-type)
+ [オペレーティングシステム](#client-device-auth-component-os-support)
+ [要件](#client-device-auth-component-requirements)
+ [依存関係](#client-device-auth-component-dependencies)
+ [構成](#client-device-auth-component-configuration)
+ [ローカルログファイル](#client-device-auth-component-log-file)
+ [変更ログ](#client-device-auth-component-changelog)

## バージョン
<a name="client-device-auth-component-versions"></a>

**注記**  
クライアントデバイス認証バージョン 2.3.0 は廃止されました。クライアントデバイス認証バージョン 2.3.1 以降にアップグレードすることを強くお勧めします。

このコンポーネントには、次のバージョンがあります。
+ 2.5.x
+ 2.4.x
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## タイプ
<a name="client-device-auth-component-type"></a>

<a name="public-component-type-plugin-para1"></a>このコンポーネントはプラグインコンポーネント (`aws.greengrass.plugin`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、nucleus と同じ Java バーチャルマシン (JVM) でこのコンポーネントを実行します。コアデバイスでこのコンポーネントのバージョンを変更するとき、nucleus が再起動します。

<a name="public-component-type-plugin-para2"></a>このコンポーネントは、Greengrass nucleus と同じログファイルを使用します。詳細については、「[AWS IoT Greengrass ログのモニタリング](monitor-logs.md)」を参照してください。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="client-device-auth-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 要件
<a name="client-device-auth-component-requirements"></a>

このコンポーネントには次の要件があります。
+ [Greengrass サービスロール](greengrass-service-role.md)を に関連付け AWS アカウント 、 アクセス`iot:DescribeCertificate`許可を付与する必要があります。
+ コアデバイスの AWS IoT ポリシーでは、次のアクセス許可を許可する必要があります。
  + `greengrass:GetConnectivityInfo`。リソースには、このコンポーネントを実行するコアデバイスの ARN が含まれます。
  + `greengrass:VerifyClientDeviceIoTCertificateAssociation`。リソースには、コアデバイスに接続する各クライアントデバイスの Amazon リソースネーム (ARN) が含まれます。
  + `greengrass:VerifyClientDeviceIdentity`
  + `greengrass:PutCertificateAuthorities`
  + `iot:Publish`。リソースには、次の MQTT トピックの ARN が含まれます。
    + `$aws/things/coreDeviceThingName*-gci/shadow/get`
  + `iot:Subscribe`。リソースには、次の MQTT トピックフィルターの ARN が含まれます。
    + `$aws/things/coreDeviceThingName*-gci/shadow/update/delta`
    + `$aws/things/coreDeviceThingName*-gci/shadow/get/accepted`
  + `iot:Receive`。リソースには、次の MQTT トピックの ARN が含まれます。
    + `$aws/things/coreDeviceThingName*-gci/shadow/update/delta`
    + `$aws/things/coreDeviceThingName*-gci/shadow/get/accepted`

  詳細については、「[AWS IoT データプレーンオペレーションの ポリシー](device-auth.md#iot-policies)」および「[クライアントデバイスをサポートする最小 AWS IoT ポリシー](device-auth.md#client-device-support-minimal-iot-policy)」を参照してください。
+ (オプション) オフライン認証を使用するには、サービスで使用される AWS Identity and Access Management (IAM) ロールに AWS IoT Greengrass 次のアクセス許可が含まれている必要があります。
  + コアデバイスでオフライン認証用のクライアントを一覧表示できるようにするための `greengrass:ListClientDevicesAssociatedWithCoreDevice`。
+ クライアントデバイスの認証コンポーネントは、VPC で実行できるようにサポートされています。このコンポーネントを VPC にデプロイするには、以下が必要です。
  + クライアントデバイス認証コンポーネントは AWS IoT data、、 AWS IoT 認証情報、および Amazon S3 に接続する必要があります。

### エンドポイントおよびポート
<a name="client-device-auth-component-endpoints"></a>

このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。


| Endpoint | ポート | 必要 | 説明 | 
| --- | --- | --- | --- | 
|  `iot.region.amazonaws.com`  | 443 | はい |   AWS IoT モノの証明書に関する情報を取得するために使用します。  | 

## 依存関係
<a name="client-device-auth-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#client-device-auth-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.5.5 ]

次の表に、このコンポーネントのバージョン 2.5.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <2.17.0 | ソフト | 

------
#### [ 2.5.4 ]

次の表に、このコンポーネントのバージョン 2.5.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <2.16.0 | ソフト | 

------
#### [ 2.5.2 – 2.5.3 ]

次の表に、このコンポーネントのバージョン 2.5.2 および 2.5.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <2.15.0 | ソフト | 

------
#### [ 2.5.1 ]

次の表に、このコンポーネントのバージョン 2.5.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <2.14.0 | ソフト | 

------
#### [ 2.4.4 - 2.5.0 ]

次の表に、このコンポーネントのバージョン 2.4.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <2.13.0 | ソフト | 

------
#### [ 2.4.3 ]

次の表に、このコンポーネントのバージョン 2.4.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <2.12.0 | ソフト | 

------
#### [ 2.4.1 and 2.4.2 ]

次の表に、このコンポーネントのバージョン 2.4.1 および 2.4.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <2.11.0 | ソフト | 

------
#### [ 2.3.0 – 2.4.0 ]

次の表に、このコンポーネントのバージョン 2.3.0 から 2.4.0 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <2.10.0 | ソフト | 

------
#### [ 2.3.0 ]

次の表に、このコンポーネントのバージョン 2.3.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <2.10.0 | ソフト | 

------
#### [ 2.2.3 ]

次の表に、このコンポーネントのバージョン 2.2.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <=2.9.0 | ソフト | 

------
#### [ 2.2.2 ]

次の表に、このコンポーネントのバージョン 2.2.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <=2.8.0 | ソフト | 

------
#### [ 2.2.1 ]

次の表に、このコンポーネントのバージョン 2.2.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <2.8.0 | ソフト | 

------
#### [ 2.2.0 ]

次の表に、このコンポーネントのバージョン 2.2.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <2.7.0 | ソフト | 

------
#### [ 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.1.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.7.0 | ソフト | 

------
#### [ 2.0.4 ]

次の表に、このコンポーネントのバージョン 2.0.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.6.0 | ソフト | 

------
#### [ 2.0.2 and 2.0.3 ]

次の表に、このコンポーネントのバージョン 2.0.2 および 2.0.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.5.0 | ソフト | 

------
#### [ 2.0.1 ]

次の表に、このコンポーネントのバージョン 2.0.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.4.0 | ソフト | 

------
#### [ 2.0.0 ]

次の表に、このコンポーネントのバージョン 2.0.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.3.0 | ソフト | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 構成
<a name="client-device-auth-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

**注記**  
サブスクライブアクセス許可は、ローカル MQTT ブローカーへのクライアントサブスクライブリクエスト中に評価されます。クライアントの既存のサブスクライブアクセス許可が取り消されると、クライアントはトピックをサブスクライブできなくなります。ただし、以前にサブスクライブしたトピックからのメッセージは引き続き受信されます。この動作を回避するには、クライアントの再認証を強制するサブスクライブアクセス許可を取り消した後、ローカル MQTT ブローカーを再起動する必要があります。  
MQTT 5 ブローカー (EMQX) コンポーネントの場合は、`restartIdentifier` 設定を更新して MQTT 5 ブローカーを再起動します。  
MQTT 3.1.1 ブローカー (Moquette) コンポーネントでは、サーバー証明書が変更されてクライアントへの再承認が必要になると、デフォルトで毎週再起動します。コアデバイスの接続情報 (IP アドレス) を変更するか、デプロイを実行してブローカーコンポーネントを削除し、後で再度デプロイすることで、強制的に再起動できます。

------
#### [ v2.5.0 – 2.5.4 ]

`deviceGroups`  
デバイスグループは、コアデバイスに接続して通信する権限を持つクライアントデバイスのグループです。選択ルールを使用してクライアントデバイスのグループを特定し、各デバイスグループにアクセス許可を指定する、*クライアントデバイス認証ポリシー*を定義します。  
このオブジェクトには、次の情報が含まれます。    
`formatVersion`  
この設定オブジェクトの形式バージョン。  
次のオプションから選択します。  
+ `2021-03-05`  
`definitions`  
このコアデバイスのデバイスグループ。各定義では、クライアントデバイスがグループのメンバーであるかどうかを評価する*選択ルール*を指定します。各定義では、選択ルールに一致するクライアントデバイスに適用するアクセス権限ポリシーも指定します。クライアントデバイスが複数のデバイスグループのメンバーである場合、デバイスのアクセス許可は各グループのアクセス許可ポリシーで設定されます。  
このオブジェクトには、次の情報が含まれます。    
`groupNameKey`  
このデバイスグループの名前。*GroupNameKey* を、このデバイスグループを識別しやすい名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`selectionRule`  
このデバイスグループのメンバーであるクライアントデバイスを指定するクエリ。クライアントデバイスが接続されると、コアデバイスはこの選択ルールを評価して、クライアントデバイスがこのデバイスグループのメンバーであるかどうかを判断します。クライアントデバイスがメンバーである場合、コアデバイスはこのデバイスグループのポリシーを使用して、クライアントデバイスのアクションを承認します。  
各選択ルールは、少なくとも 1 つの*選択ルール句*で構成されます。この句は、クライアントデバイスと一致できる単一の式クエリです。選択ルールは、 AWS IoT フリートインデックス作成と同じクエリ構文を使用します。選択ルール構文に関する詳細については、「*AWS IoT Core デベロッパーガイド*」の「[AWS IoT fleet indexing query syntax](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html)」を参照してください。  
`*` ワイルドカードを使用して、複数のクライアントデバイスを 1 つの選択ルール句と一致させます。モノの名前の先頭と末尾にこのワイルドカードを使用すると、指定した文字列で始まる、または終わる名前のクライアントデバイスと一致させることができます。このワイルドカードを使用して、すべてのクライアントデバイスと一致させることもできます。  
コロン文字 (`:`) を含む値を選択する場合は、コロン文字にバックスラッシュ文字 (`\`) を使用してエスケープします。JSON などの形式では、バックスラッシュ文字をエスケープする必要があるため、コロン文字の前に 2 つのバックスラッシュ文字を入力する必要があります。例えば、`thingName: MyTeam\\:ClientDevice1` が `MyTeam:ClientDevice1` という名前のモノを選択するように指定する場合です。
次のセレクターを指定できます。  
+ `thingName` – クライアントデバイスの AWS IoT モノの名前。

**Example 選択ルール例**  
次の選択ルールは、名前が `MyClientDevice1` または `MyClientDevice2` のクライアントデバイスと一致します。  

```
thingName: MyClientDevice1 OR thingName: MyClientDevice2
```

**Example 選択ルール例 (ワイルドカードを使用)**  
次の選択ルールは、名前が `MyClientDevice` で始まるクライアントデバイスと一致します。  

```
thingName: MyClientDevice*
```

**Example 選択ルール例 (ワイルドカードを使用)**  
次の選択ルールは、名前が `MyClientDevice` で始まるクライアントデバイスと一致します。  

```
thingName: *MyClientDevice
```

**Example 選択ルール例 (すべてのデバイスに一致)**  
次の選択ルールは、すべてのクライアントデバイスと一致します。  

```
thingName: *
```  
`policyName`  
このデバイスグループ内のクライアントデバイスに適用されるアクセス許可ポリシー。`policies` オブジェクトで定義するポリシーの名前を指定します。  
`policies`  
コアデバイスに接続するクライアントデバイス用の、クライアントデバイス認可ポリシー。各承認ポリシーは、クライアントデバイスがこれらのアクションを実行できるアクションセットとリソースを指定しています。  
このオブジェクトには、次の情報が含まれます。    
`policyNameKey`  
この承認ポリシーの名前。*policyNameKey* を、この承認ポリシーを識別するのに役立つ名前に置き換えます。このポリシー名を使用して、デバイスグループに適用するポリシーを定義します。  
このオブジェクトには、次の情報が含まれます。    
`statementNameKey`  
このポリシーステートメントの名前。*statementNameKey* を、このポリシーステートメントを識別するのに役立つ名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`operations`  
このポリシーのリソースに許可する操作のリスト。  
以下のすべての操作を含めることができます。  
+ `mqtt:connect` - コアデバイスに接続するアクセス許可を付与します。コアデバイスに接続するには、クライアントデバイスにこのアクセス許可が必要です。

  この操作は、次のリソースをサポートします。
  + `mqtt:clientId:deviceClientId` - クライアントデバイスがコアデバイスの MQTT ブローカーへの接続に使用するクライアント ID に基づいて、アクセスを制限します。*deviceClientId* を使用するクライアント ID に置き換えます。
+ `mqtt:publish` - MQTT メッセージをトピックにパブリッシュする権限を付与します。

  この操作は、次のリソースをサポートします。
  + <a name="client-device-authorization-policy-resource-mqtt-topic"></a>`mqtt:topic:mqttTopic` - クライアントデバイスがメッセージをパブリッシュする MQTT トピックに基づいて、アクセスを制限します。*mqttTopic* を使用するトピックに置き換えます。

    このリソースは MQTT トピックのワイルドカードをサポートしていません。
+ `mqtt:subscribe` - メッセージを受信する MQTT トピックフィルターにサブスクライブする許可を付与します。

  この操作は、次のリソースをサポートします。
  + `mqtt:topicfilter:mqttTopicFilter` - クライアントデバイスがメッセージにサブスクライブできる MQTT トピックに基づいて、アクセスを制限します。*mqttTopicFilter* を使用するトピックフィルターに置き換えます。

    このリソースは MQTT トピックのワイルドカードをサポートしていません。  
`resources`  
このポリシーでの操作を許可するリソースのリスト。このポリシーでの操作に対応するリソースを指定します。例えば、`mqtt:publish` 操作を指定するポリシーで、MQTT トピックリソース (`mqtt:topic:mqttTopic`) のリストを指定することができます。  
リソースの変数ないの任意の場所で `*` ワイルドカードを指定すれば、すべてのリソースへのアクセスを許可することができます。例えば、**mqtt:topic:my\$1** を指定して、その入力に一致するリソースへのアクセスを許可できます。  
次のリソース変数がサポートされています。  
+ `mqtt:topic:${iot:Connection.Thing.ThingName}`

  これは、ポリシーが評価されている AWS IoT Core レジストリ内のモノの名前に解決されます。 は、デバイスが認証するときに提示する証明書 AWS IoT Core を使用して、接続の検証に使用するモノを決定します。このポリシー変数は、デバイスが MQTT または MQTT over WebSocket プロトコルに接続するときにのみ使用できます。  
`statementDescription`  
(オプション) このポリシーステートメントの説明。

`certificates`  <a name="client-device-auth-component-configuration-certificates"></a>
(オプション) このコアデバイスの証明書設定オプション。このオブジェクトには、次の情報が含まれます。    
`serverCertificateValiditySeconds`  
(オプション) ローカル MQTT サーバー証明書の有効期限が切れるまでの時間 (秒単位)。このオプションを設定すれば、クライアントデバイスがコアデバイスから切断し、また再接続する回数をカスタマイズすることができます。  
このコンポーネントは、有効期限が切れる 24 時間前に、ローカル MQTT サーバー証明書をローテーションします。[Moquette MQTT ブローカーコンポーネント](mqtt-broker-moquette-component.md)などの MQTT ブローカーで、新しい証明書を生成して再起動します。これが実行されると、このコアデバイスに接続されているすべてのクライアントデバイスが切断されます。クライアントデバイスは、短時間待機した後に、コアデバイスに再度接続できます。  
デフォルト: `604800` (7 日)  
最小値: `172800` (2 日)  
最大値: `864000` (10 日)

`performance`  
(オプション) このコアデバイスのパフォーマンス設定オプション。このオブジェクトには、次の情報が含まれます。    
`maxActiveAuthTokens`  
(オプション) アクティブなクライアントデバイス認可トークンの最大数。この数を増やすと、より多くのクライアントデバイスが、再認証せずに単一のコアデバイスに接続できるようになります。  
デフォルト: `2500`  
`cloudRequestQueueSize`  
(オプション) このコンポーネントが AWS クラウド リクエストを拒否するまでのキューへのリクエストの最大数。  
デフォルト: `100`  
`maxConcurrentCloudRequests`  
(オプション) AWS クラウドに同時に送信できるリクエストの最大数。この数を増やすと、多数のクライアントデバイスを接続するコアデバイスで、認証のパフォーマンスを向上させることができます。  
デフォルト: `1`

`certificateAuthority`  
(オプション) コアデバイスの中間認証機関を独自の中間認証機関に置き換える認証機関設定オプション。  
Greengrass コアデバイスをカスタム認証局 (CA) で設定し、同じ CA を使用してクライアントデバイス証明書を発行する場合、Greengrass はクライアントデバイス MQTT オペレーションの承認ポリシーチェックをバイパスします。クライアントデバイス認証コンポーネントは、使用するように設定された CA によって署名された証明書を使用してクライアントを完全に信頼します。  
カスタム CA を使用する際にこの動作を制限するには、別の CA または中間 CA を使用してクライアントデバイスを作成して署名し、正しい中間 CA を指すように `certificateUri` および `certificateChainUri` フィールドを調整します。
 このオブジェクトには、次の情報が含まれます。    
certificateUri  
証明書の位置。ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書をポイントする URI にすることができます。  
`certificateChainUri`  
コアデバイス CA の証明書チェーンの場所。これは、ルート CA に対する完全な証明書チェーンとなります。ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書チェーンをポイントする URI にすることができます。  
`privateKeyUri`  
コアデバイスのプライベートキーの場所。これは、ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書プライベートキーをポイントする URI にすることができます。

`security`  
(オプション) このコアデバイスのセキュリティ設定オプション。このオブジェクトには、次の情報が含まれます。    
`clientDeviceTrustDurationMinutes`  
クライアントデバイスの認証情報を信頼できる時間 (分)。この時間が経過すると、コアデバイスでの再認証が必要となります。デフォルト値は 1 です。

`metrics`  
(オプション) このコアデバイスのメトリックオプション。エラーメトリックは、クライアントデバイスの認証にエラーがある場合にのみ表示されます。このオブジェクトには、次の情報が含まれます。    
`disableMetrics`  
`disableMetrics` フィールドが `true` に設定されている場合、クライアントデバイス認証はメトリックを収集しません。  
デフォルト: `false`  
`aggregatePeriodSeconds`  
クライアントデバイス認証がメトリクスを集約してテレメトリエージェントに送信する頻度を決定する集計期間 (秒単位)。テレメトリエージェントは依然として 1 日に 1 回メトリクスを公開するので、メトリクスの公開頻度は変わりません。  
デフォルト: `3600`

startupTimeoutSeconds  
(オプション) コンポーネントが起動する最大時間 (秒)。このタイムアウトを超えている場合、コンポーネントの状態が `ERRORED` に変わります。  
デフォルト: `120`

**Example 例: 設定マージの更新 (制限ポリシーを使用)**  <a name="client-device-auth-component-configuration-example-restrictive"></a>
次の設定例では、名前が `MyClientDevice` で始まるクライアントデバイスに対して、すべてのトピックの接続とパブリッシュ/サブスクライブを許可するように指定しています。  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyDeviceGroup": {
        "selectionRule": "thingName: MyClientDevice*",
        "policyName": "MyRestrictivePolicy"
      }
    },
    "policies": {
      "MyRestrictivePolicy": {
        "AllowConnect": {
          "statementDescription": "Allow client devices to connect.",
          "operations": [
            "mqtt:connect"
          ],
          "resources": [
            "*"
          ]
        },
        "AllowPublish": {
          "statementDescription": "Allow client devices to publish on test/topic.",
          "operations": [
            "mqtt:publish"
          ],
          "resources": [
            "mqtt:topic:test/topic"
          ]
        },
        "AllowSubscribe": {
          "statementDescription": "Allow client devices to subscribe to test/topic/response.",
          "operations": [
            "mqtt:subscribe"
          ],
          "resources": [
            "mqtt:topicfilter:test/topic/response"
          ]
        }
      }
    }
  }
}
```

**Example 例: 設定マージの更新 (許容ポリシーを使用)**  <a name="client-device-auth-component-configuration-example-permissive"></a>
次の設定例では、すべてのクライアントデバイスに対して、すべてのトピックに接続しパブリッシュ/サブスクライブすることを許可しています。  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyPermissiveDeviceGroup": {
        "selectionRule": "thingName: *",
        "policyName": "MyPermissivePolicy"
      }
    },
    "policies": {
      "MyPermissivePolicy": {
        "AllowAll": {
          "statementDescription": "Allow client devices to perform all actions.",
          "operations": [
            "*"
          ],
          "resources": [
            "*"
          ]
        }
      }
    }
  }
}
```

**Example 例: 設定マージの更新 (モノの名前のポリシーを使用)**  <a name="client-device-auth-component-configuration-example-mythingname"></a>
次の設定例では、クライアントデバイスがクライアントデバイスのモノの名前で始まり、文字列 `topic` で終わるトピックに発行できるようにします。  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "myThing": {
        "selectionRule": "thingName: *",
        "policyName": "MyThingNamePolicy"
      }
    },
    "policies": {
      "MyThingNamePolicy": {
        "policyStatement": {
          "statementDescription": "mqtt publish",
          "operations": [
            "mqtt:publish"
          ],
          "resources": [
            "mqtt:topic:${iot:Connection.Thing.ThingName}/*/topic"
          ]
        }
      }
    }
  }
}
```

------
#### [ v2.4.5 ]

`deviceGroups`  
デバイスグループは、コアデバイスに接続して通信する権限を持つクライアントデバイスのグループです。選択ルールを使用してクライアントデバイスのグループを特定し、各デバイスグループにアクセス許可を指定する、*クライアントデバイス認証ポリシー*を定義します。  
このオブジェクトには、次の情報が含まれます。    
`formatVersion`  
この設定オブジェクトの形式バージョン。  
次のオプションから選択します。  
+ `2021-03-05`  
`definitions`  
このコアデバイスのデバイスグループ。各定義では、クライアントデバイスがグループのメンバーであるかどうかを評価する*選択ルール*を指定します。各定義では、選択ルールに一致するクライアントデバイスに適用するアクセス権限ポリシーも指定します。クライアントデバイスが複数のデバイスグループのメンバーである場合、デバイスのアクセス許可は各グループのアクセス許可ポリシーで設定されます。  
このオブジェクトには、次の情報が含まれます。    
`groupNameKey`  
このデバイスグループの名前。*GroupNameKey* を、このデバイスグループを識別しやすい名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`selectionRule`  
このデバイスグループのメンバーであるクライアントデバイスを指定するクエリ。クライアントデバイスが接続されると、コアデバイスはこの選択ルールを評価して、クライアントデバイスがこのデバイスグループのメンバーであるかどうかを判断します。クライアントデバイスがメンバーである場合、コアデバイスはこのデバイスグループのポリシーを使用して、クライアントデバイスのアクションを承認します。  
各選択ルールは、少なくとも 1 つの*選択ルール句*で構成されます。この句は、クライアントデバイスと一致できる単一の式クエリです。選択ルールは、 AWS IoT フリートインデックス作成と同じクエリ構文を使用します。選択ルール構文に関する詳細については、「*AWS IoT Core デベロッパーガイド*」の「[AWS IoT fleet indexing query syntax](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html)」を参照してください。  
`*` ワイルドカードを使用して、複数のクライアントデバイスを 1 つの選択ルール句と一致させます。モノの名前の先頭と末尾にこのワイルドカードを使用すると、指定した文字列で始まる、または終わる名前のクライアントデバイスと一致させることができます。このワイルドカードを使用して、すべてのクライアントデバイスと一致させることもできます。  
コロン文字 (`:`) を含む値を選択する場合は、コロン文字にバックスラッシュ文字 (`\`) を使用してエスケープします。JSON などの形式では、バックスラッシュ文字をエスケープする必要があるため、コロン文字の前に 2 つのバックスラッシュ文字を入力する必要があります。例えば、`thingName: MyTeam\\:ClientDevice1` が `MyTeam:ClientDevice1` という名前のモノを選択するように指定する場合です。
次のセレクターを指定できます。  
+ `thingName` – クライアントデバイスの AWS IoT モノの名前。

**Example 選択ルール例**  
次の選択ルールは、名前が `MyClientDevice1` または `MyClientDevice2` のクライアントデバイスと一致します。  

```
thingName: MyClientDevice1 OR thingName: MyClientDevice2
```

**Example 選択ルール例 (ワイルドカードを使用)**  
次の選択ルールは、名前が `MyClientDevice` で始まるクライアントデバイスと一致します。  

```
thingName: MyClientDevice*
```

**Example 選択ルール例 (ワイルドカードを使用)**  
次の選択ルールは、名前が `MyClientDevice` で始まるクライアントデバイスと一致します。  

```
thingName: *MyClientDevice
```

**Example 選択ルール例 (すべてのデバイスに一致)**  
次の選択ルールは、すべてのクライアントデバイスと一致します。  

```
thingName: *
```  
`policyName`  
このデバイスグループ内のクライアントデバイスに適用されるアクセス許可ポリシー。`policies` オブジェクトで定義するポリシーの名前を指定します。  
`policies`  
コアデバイスに接続するクライアントデバイス用の、クライアントデバイス認可ポリシー。各承認ポリシーは、クライアントデバイスがこれらのアクションを実行できるアクションセットとリソースを指定しています。  
このオブジェクトには、次の情報が含まれます。    
`policyNameKey`  
この承認ポリシーの名前。*policyNameKey* を、この承認ポリシーを識別するのに役立つ名前に置き換えます。このポリシー名を使用して、デバイスグループに適用するポリシーを定義します。  
このオブジェクトには、次の情報が含まれます。    
`statementNameKey`  
このポリシーステートメントの名前。*statementNameKey* を、このポリシーステートメントを識別するのに役立つ名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`operations`  
このポリシーのリソースに許可する操作のリスト。  
以下のすべての操作を含めることができます。  
+ `mqtt:connect` - コアデバイスに接続するアクセス許可を付与します。コアデバイスに接続するには、クライアントデバイスにこのアクセス許可が必要です。

  この操作は、次のリソースをサポートします。
  + `mqtt:clientId:deviceClientId` - クライアントデバイスがコアデバイスの MQTT ブローカーへの接続に使用するクライアント ID に基づいて、アクセスを制限します。*deviceClientId* を使用するクライアント ID に置き換えます。
+ `mqtt:publish` - MQTT メッセージをトピックにパブリッシュする権限を付与します。

  この操作は、次のリソースをサポートします。
  + <a name="client-device-authorization-policy-resource-mqtt-topic"></a>`mqtt:topic:mqttTopic` - クライアントデバイスがメッセージをパブリッシュする MQTT トピックに基づいて、アクセスを制限します。*mqttTopic* を使用するトピックに置き換えます。

    このリソースは MQTT トピックのワイルドカードをサポートしていません。
+ `mqtt:subscribe` - メッセージを受信する MQTT トピックフィルターにサブスクライブする許可を付与します。

  この操作は、次のリソースをサポートします。
  + <a name="client-device-authorization-policy-resource-mqtt-topicfilter"></a>`mqtt:topicfilter:mqttTopicFilter` - クライアントデバイスがメッセージにサブスクライブできる MQTT トピックに基づいて、アクセスを制限します。*mqttTopicFilter* を使用するトピックフィルターに置き換えます。

    このリソースは `+` および `#` MQTT トピックのワイルドカードをサポートしています。詳細については、「*AWS IoT Core デベロッパーガイド*」の「[MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html)」を参照してください。

    クライアントデバイスは、許可を付与したトピックフィルターにのみサブスクライブできます。例えば、クライアントデバイスに `mqtt:topicfilter:client/+/status` リソースへのサブスクライブを許可した場合、クライアントデバイスは `client/+/status` にサブスクライブできますが、`client/client1/status` にはサブスクライブできません。
`*` ワイルドカードを指定すれば、すべてのアクションへのアクセスを許可することができます。  
`resources`  
このポリシーでの操作を許可するリソースのリスト。このポリシーでの操作に対応するリソースを指定します。例えば、`mqtt:publish` 操作を指定するポリシーで、MQTT トピックリソース (`mqtt:topic:mqttTopic`) のリストを指定することができます。  
`*` ワイルドカードを指定すれば、すべてのリソースへのアクセスを許可することができます。`*` ワイルドカードを使用して、部分的なリソース識別子と一致させることはできません。例えば、**"resources": "\$1"** と指定することはできますが、**"resources": "mqtt:clientId:\$1"** と指定することはできません。  
`statementDescription`  
(オプション) このポリシーステートメントの説明。

`certificates`  <a name="client-device-auth-component-configuration-certificates"></a>
(オプション) このコアデバイスの証明書設定オプション。このオブジェクトには、次の情報が含まれます。    
`serverCertificateValiditySeconds`  
(オプション) ローカル MQTT サーバー証明書の有効期限が切れるまでの時間 (秒単位)。このオプションを設定すれば、クライアントデバイスがコアデバイスから切断し、また再接続する回数をカスタマイズすることができます。  
このコンポーネントは、有効期限が切れる 24 時間前に、ローカル MQTT サーバー証明書をローテーションします。[Moquette MQTT ブローカーコンポーネント](mqtt-broker-moquette-component.md)などの MQTT ブローカーで、新しい証明書を生成して再起動します。これが実行されると、このコアデバイスに接続されているすべてのクライアントデバイスが切断されます。クライアントデバイスは、短時間待機した後に、コアデバイスに再度接続できます。  
デフォルト: `604800` (7 日)  
最小値: `172800` (2 日)  
最大値: `864000` (10 日)

`performance`  
(オプション) このコアデバイスのパフォーマンス設定オプション。このオブジェクトには、次の情報が含まれます。    
`maxActiveAuthTokens`  
(オプション) アクティブなクライアントデバイス認可トークンの最大数。この数を増やすと、より多くのクライアントデバイスが、再認証せずに単一のコアデバイスに接続できるようになります。  
デフォルト: `2500`  
`cloudRequestQueueSize`  
(オプション) このコンポーネントが AWS クラウド リクエストを拒否するまでのキューへのリクエストの最大数。  
デフォルト: `100`  
`maxConcurrentCloudRequests`  
(オプション) AWS クラウドに同時に送信できるリクエストの最大数。この数を増やすと、多数のクライアントデバイスを接続するコアデバイスで、認証のパフォーマンスを向上させることができます。  
デフォルト: `1`

`certificateAuthority`  
(オプション) コアデバイスの中間認証機関を独自の中間認証機関に置き換える認証機関設定オプション。  
Greengrass コアデバイスをカスタム認証局 (CA) で設定し、同じ CA を使用してクライアントデバイス証明書を発行する場合、Greengrass はクライアントデバイス MQTT オペレーションの承認ポリシーチェックをバイパスします。クライアントデバイス認証コンポーネントは、使用するように設定された CA によって署名された証明書を使用してクライアントを完全に信頼します。  
カスタム CA を使用する際にこの動作を制限するには、別の CA または中間 CA を使用してクライアントデバイスを作成して署名し、正しい中間 CA を指すように `certificateUri` および `certificateChainUri` フィールドを調整します。
 このオブジェクトには、次の情報が含まれます。    
certificateUri  
証明書の位置。ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書をポイントする URI にすることができます。  
`certificateChainUri`  
コアデバイス CA の証明書チェーンの場所。これは、ルート CA に対する完全な証明書チェーンとなります。ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書チェーンをポイントする URI にすることができます。  
`privateKeyUri`  
コアデバイスのプライベートキーの場所。これは、ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書プライベートキーをポイントする URI にすることができます。

`security`  
(オプション) このコアデバイスのセキュリティ設定オプション。このオブジェクトには、次の情報が含まれます。    
`clientDeviceTrustDurationMinutes`  
クライアントデバイスの認証情報を信頼できる時間 (分)。この時間が経過すると、コアデバイスでの再認証が必要となります。デフォルト値は 1 です。

`metrics`  
(オプション) このコアデバイスのメトリックオプション。エラーメトリックは、クライアントデバイスの認証にエラーがある場合にのみ表示されます。このオブジェクトには、次の情報が含まれます。    
`disableMetrics`  
`disableMetrics` フィールドが `true` に設定されている場合、クライアントデバイス認証はメトリックを収集しません。  
デフォルト: `false`  
`aggregatePeriodSeconds`  
クライアントデバイス認証がメトリクスを集約してテレメトリエージェントに送信する頻度を決定する集計期間 (秒単位)。テレメトリエージェントは依然として 1 日に 1 回メトリクスを公開するので、メトリクスの公開頻度は変わりません。  
デフォルト: `3600`

startupTimeoutSeconds  
(オプション) コンポーネントが起動する最大時間 (秒)。このタイムアウトを超えている場合、コンポーネントの状態が `ERRORED` に変わります。  
デフォルト: `120`

**Example 例: 設定マージの更新 (制限ポリシーを使用)**  <a name="client-device-auth-component-configuration-example-restrictive"></a>
次の設定例では、名前が `MyClientDevice` で始まるクライアントデバイスに対して、すべてのトピックの接続とパブリッシュ/サブスクライブを許可するように指定しています。  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyDeviceGroup": {
        "selectionRule": "thingName: MyClientDevice*",
        "policyName": "MyRestrictivePolicy"
      }
    },
    "policies": {
      "MyRestrictivePolicy": {
        "AllowConnect": {
          "statementDescription": "Allow client devices to connect.",
          "operations": [
            "mqtt:connect"
          ],
          "resources": [
            "*"
          ]
        },
        "AllowPublish": {
          "statementDescription": "Allow client devices to publish on test/topic.",
          "operations": [
            "mqtt:publish"
          ],
          "resources": [
            "mqtt:topic:test/topic"
          ]
        },
        "AllowSubscribe": {
          "statementDescription": "Allow client devices to subscribe to test/topic/response.",
          "operations": [
            "mqtt:subscribe"
          ],
          "resources": [
            "mqtt:topicfilter:test/topic/response"
          ]
        }
      }
    }
  }
}
```

**Example 例: 設定マージの更新 (許容ポリシーを使用)**  <a name="client-device-auth-component-configuration-example-permissive"></a>
次の設定例では、すべてのクライアントデバイスに対して、すべてのトピックに接続しパブリッシュ/サブスクライブすることを許可しています。  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyPermissiveDeviceGroup": {
        "selectionRule": "thingName: *",
        "policyName": "MyPermissivePolicy"
      }
    },
    "policies": {
      "MyPermissivePolicy": {
        "AllowAll": {
          "statementDescription": "Allow client devices to perform all actions.",
          "operations": [
            "*"
          ],
          "resources": [
            "*"
          ]
        }
      }
    }
  }
}
```

------
#### [ v2.4.2 - v2.4.4 ]

`deviceGroups`  <a name="client-device-auth-component-configuration-devicegroups"></a>
デバイスグループは、コアデバイスに接続して通信する権限を持つクライアントデバイスのグループです。選択ルールを使用してクライアントデバイスのグループを特定し、各デバイスグループにアクセス許可を指定する、*クライアントデバイス認証ポリシー*を定義します。  
このオブジェクトには、次の情報が含まれます。    
`formatVersion`  
この設定オブジェクトの形式バージョン。  
次のオプションから選択します。  
+ `2021-03-05`  
`definitions`  
このコアデバイスのデバイスグループ。各定義では、クライアントデバイスがグループのメンバーであるかどうかを評価する*選択ルール*を指定します。各定義では、選択ルールに一致するクライアントデバイスに適用するアクセス権限ポリシーも指定します。クライアントデバイスが複数のデバイスグループのメンバーである場合、デバイスのアクセス許可は各グループのアクセス許可ポリシーで設定されます。  
このオブジェクトには、次の情報が含まれます。    
`groupNameKey`  
このデバイスグループの名前。*GroupNameKey* を、このデバイスグループを識別しやすい名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`selectionRule`  
このデバイスグループのメンバーであるクライアントデバイスを指定するクエリ。クライアントデバイスが接続されると、コアデバイスはこの選択ルールを評価して、クライアントデバイスがこのデバイスグループのメンバーであるかどうかを判断します。クライアントデバイスがメンバーである場合、コアデバイスはこのデバイスグループのポリシーを使用して、クライアントデバイスのアクションを承認します。  
各選択ルールは、少なくとも 1 つの*選択ルール句*で構成されます。この句は、クライアントデバイスと一致できる単一の式クエリです。選択ルールは、 AWS IoT フリートインデックス作成と同じクエリ構文を使用します。選択ルール構文に関する詳細については、「*AWS IoT Core デベロッパーガイド*」の「[AWS IoT fleet indexing query syntax](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html)」を参照してください。  
`*` ワイルドカードを使用して、複数のクライアントデバイスを 1 つの選択ルール句と一致させます。モノ名の末尾にこのワイルドカードを使用すると、指定した文字列で始まる名前のクライアントデバイスと一致させることができます。このワイルドカードを使用して、すべてのクライアントデバイスと一致させることもできます。  
コロン文字 (`:`) を含む値を選択する場合は、コロン文字にバックスラッシュ文字 (`\\`) を使用してエスケープします。JSON などの形式では、バックスラッシュ文字をエスケープする必要があるため、コロン文字の前に 2 つのバックスラッシュ文字を入力する必要があります。例えば、`thingName: MyTeam\\\\:ClientDevice1` が `MyTeam:ClientDevice1` という名前のモノを選択するように指定する場合です。
次のセレクターを指定できます。  
+ `thingName` - クライアントデバイスの AWS IoT モノの名前。

**Example 選択ルール例**  
次の選択ルールは、名前が `MyClientDevice1` または `MyClientDevice2` のクライアントデバイスと一致します。  

```
thingName: MyClientDevice1 OR thingName: MyClientDevice2
```

**Example 選択ルール例 (ワイルドカードを使用)**  
次の選択ルールは、名前が `MyClientDevice` で始まるクライアントデバイスと一致します。  

```
thingName: MyClientDevice*
```

**Example 選択ルール例 (すべてのデバイスに一致)**  
次の選択ルールは、すべてのクライアントデバイスと一致します。  

```
thingName: *
```  
`policyName`  
このデバイスグループ内のクライアントデバイスに適用されるアクセス許可ポリシー。`policies` オブジェクトで定義するポリシーの名前を指定します。  
`policies`  
コアデバイスに接続するクライアントデバイス用の、クライアントデバイス認可ポリシー。各承認ポリシーは、クライアントデバイスがこれらのアクションを実行できるアクションセットとリソースを指定しています。  
このオブジェクトには、次の情報が含まれます。    
`policyNameKey`  
この承認ポリシーの名前。*policyNameKey* を、この承認ポリシーを識別するのに役立つ名前に置き換えます。このポリシー名を使用して、デバイスグループに適用するポリシーを定義します。  
このオブジェクトには、次の情報が含まれます。    
`statementNameKey`  
このポリシーステートメントの名前。*statementNameKey* を、このポリシーステートメントを識別するのに役立つ名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`operations`  
このポリシーのリソースに許可する操作のリスト。  
以下のすべての操作を含めることができます。  
+ `mqtt:connect` - コアデバイスに接続するアクセス許可を付与します。コアデバイスに接続するには、クライアントデバイスにこのアクセス許可が必要です。

  この操作は、次のリソースをサポートします。
  + `mqtt:clientId:deviceClientId` - クライアントデバイスがコアデバイスの MQTT ブローカーへの接続に使用するクライアント ID に基づいて、アクセスを制限します。*deviceClientId* を使用するクライアント ID に置き換えます。
+ `mqtt:publish` - MQTT メッセージをトピックにパブリッシュする権限を付与します。

  この操作は、次のリソースをサポートします。
  + <a name="client-device-authorization-policy-resource-mqtt-topic"></a>`mqtt:topic:mqttTopic` - クライアントデバイスがメッセージをパブリッシュする MQTT トピックに基づいて、アクセスを制限します。*mqttTopic* を使用するトピックに置き換えます。

    このリソースは MQTT トピックのワイルドカードをサポートしていません。
+ `mqtt:subscribe` - メッセージを受信する MQTT トピックフィルターにサブスクライブする許可を付与します。

  この操作は、次のリソースをサポートします。
  + <a name="client-device-authorization-policy-resource-mqtt-topicfilter"></a>`mqtt:topicfilter:mqttTopicFilter` - クライアントデバイスがメッセージにサブスクライブできる MQTT トピックに基づいて、アクセスを制限します。*mqttTopicFilter* を使用するトピックフィルターに置き換えます。

    このリソースは `+` および `#` MQTT トピックのワイルドカードをサポートしています。詳細については、「*AWS IoT Core デベロッパーガイド*」の「[MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html)」を参照してください。

    クライアントデバイスは、許可を付与したトピックフィルターにのみサブスクライブできます。例えば、クライアントデバイスに `mqtt:topicfilter:client/+/status` リソースへのサブスクライブを許可した場合、クライアントデバイスは `client/+/status` にサブスクライブできますが、`client/client1/status` にはサブスクライブできません。
`*` ワイルドカードを指定すれば、すべてのアクションへのアクセスを許可することができます。  
`resources`  
このポリシーでの操作を許可するリソースのリスト。このポリシーでの操作に対応するリソースを指定します。例えば、`mqtt:publish` 操作を指定するポリシーで、MQTT トピックリソース (`mqtt:topic:mqttTopic`) のリストを指定することができます。  
`*` ワイルドカードを指定すれば、すべてのリソースへのアクセスを許可することができます。`*` ワイルドカードを使用して、部分的なリソース識別子と一致させることはできません。例えば、**"resources": "\$1"** と指定することはできますが、**"resources": "mqtt:clientId:\$1"** と指定することはできません。  
`statementDescription`  
(オプション) このポリシーステートメントの説明。

`certificates`  <a name="client-device-auth-component-configuration-certificates"></a>
(オプション) このコアデバイスの証明書設定オプション。このオブジェクトには、次の情報が含まれます。    
`serverCertificateValiditySeconds`  
(オプション) ローカル MQTT サーバー証明書の有効期限が切れるまでの時間 (秒単位)。このオプションを設定すれば、クライアントデバイスがコアデバイスから切断し、また再接続する回数をカスタマイズすることができます。  
このコンポーネントは、有効期限が切れる 24 時間前に、ローカル MQTT サーバー証明書をローテーションします。[Moquette MQTT ブローカーコンポーネント](mqtt-broker-moquette-component.md)などの MQTT ブローカーで、新しい証明書を生成して再起動します。これが実行されると、このコアデバイスに接続されているすべてのクライアントデバイスが切断されます。クライアントデバイスは、短時間待機した後に、コアデバイスに再度接続できます。  
デフォルト: `604800` (7 日)  
最小値: `172800` (2 日)  
最大値: `864000` (10 日)

`performance`  
(オプション) このコアデバイスのパフォーマンス設定オプション。このオブジェクトには、次の情報が含まれます。    
`maxActiveAuthTokens`  
(オプション) アクティブなクライアントデバイス認可トークンの最大数。この数を増やすと、より多くのクライアントデバイスが、再認証せずに単一のコアデバイスに接続できるようになります。  
デフォルト: `2500`  
`cloudRequestQueueSize`  
(オプション) このコンポーネントが AWS クラウド リクエストを拒否するまでのキューへのリクエストの最大数。  
デフォルト: `100`  
`maxConcurrentCloudRequests`  
(オプション) AWS クラウドに同時に送信できるリクエストの最大数。この数を増やすと、多数のクライアントデバイスを接続するコアデバイスで、認証のパフォーマンスを向上させることができます。  
デフォルト: `1`

`certificateAuthority`  
(オプション) コアデバイスの中間認証機関を独自の中間認証機関に置き換える認証機関設定オプション。  
Greengrass コアデバイスをカスタム認証局 (CA) で設定し、同じ CA を使用してクライアントデバイス証明書を発行する場合、Greengrass はクライアントデバイス MQTT オペレーションの承認ポリシーチェックをバイパスします。クライアントデバイス認証コンポーネントは、使用するように設定された CA によって署名された証明書を使用してクライアントを完全に信頼します。  
カスタム CA を使用する際にこの動作を制限するには、別の CA または中間 CA を使用してクライアントデバイスを作成して署名し、正しい中間 CA を指すように `certificateUri` および `certificateChainUri` フィールドを調整します。
 このオブジェクトには、次の情報が含まれます。    
certificateUri  
証明書の位置。ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書をポイントする URI にすることができます。  
`certificateChainUri`  
コアデバイス CA の証明書チェーンの場所。これは、ルート CA に対する完全な証明書チェーンとなります。ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書チェーンをポイントする URI にすることができます。  
`privateKeyUri`  
コアデバイスのプライベートキーの場所。これは、ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書プライベートキーをポイントする URI にすることができます。

`security`  
(オプション) このコアデバイスのセキュリティ設定オプション。このオブジェクトには、次の情報が含まれます。    
`clientDeviceTrustDurationMinutes`  
クライアントデバイスの認証情報を信頼できる時間 (分)。この時間が経過すると、コアデバイスでの再認証が必要となります。デフォルト値は 1 です。

`metrics`  
(オプション) このコアデバイスのメトリックオプション。エラーメトリックは、クライアントデバイスの認証にエラーがある場合にのみ表示されます。このオブジェクトには、次の情報が含まれます。    
`disableMetrics`  
`disableMetrics` フィールドが `true` に設定されている場合、クライアントデバイス認証はメトリックを収集しません。  
デフォルト: `false`  
`aggregatePeriodSeconds`  
クライアントデバイス認証がメトリクスを集約してテレメトリエージェントに送信する頻度を決定する集計期間 (秒単位)。テレメトリエージェントは依然として 1 日に 1 回メトリクスを公開するので、メトリクスの公開頻度は変わりません。  
デフォルト: `3600`

startupTimeoutSeconds  
(オプション) コンポーネントが起動する最大時間 (秒)。このタイムアウトを超えている場合、コンポーネントの状態が `ERRORED` に変わります。  
デフォルト: `120`

**Example 例: 設定マージの更新 (制限ポリシーを使用)**  <a name="client-device-auth-component-configuration-example-restrictive"></a>
次の設定例では、名前が `MyClientDevice` で始まるクライアントデバイスに対して、すべてのトピックの接続とパブリッシュ/サブスクライブを許可するように指定しています。  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyDeviceGroup": {
        "selectionRule": "thingName: MyClientDevice*",
        "policyName": "MyRestrictivePolicy"
      }
    },
    "policies": {
      "MyRestrictivePolicy": {
        "AllowConnect": {
          "statementDescription": "Allow client devices to connect.",
          "operations": [
            "mqtt:connect"
          ],
          "resources": [
            "*"
          ]
        },
        "AllowPublish": {
          "statementDescription": "Allow client devices to publish on test/topic.",
          "operations": [
            "mqtt:publish"
          ],
          "resources": [
            "mqtt:topic:test/topic"
          ]
        },
        "AllowSubscribe": {
          "statementDescription": "Allow client devices to subscribe to test/topic/response.",
          "operations": [
            "mqtt:subscribe"
          ],
          "resources": [
            "mqtt:topicfilter:test/topic/response"
          ]
        }
      }
    }
  }
}
```

**Example 例: 設定マージの更新 (許容ポリシーを使用)**  <a name="client-device-auth-component-configuration-example-permissive"></a>
次の設定例では、すべてのクライアントデバイスに対して、すべてのトピックに接続しパブリッシュ/サブスクライブすることを許可しています。  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyPermissiveDeviceGroup": {
        "selectionRule": "thingName: *",
        "policyName": "MyPermissivePolicy"
      }
    },
    "policies": {
      "MyPermissivePolicy": {
        "AllowAll": {
          "statementDescription": "Allow client devices to perform all actions.",
          "operations": [
            "*"
          ],
          "resources": [
            "*"
          ]
        }
      }
    }
  }
}
```

------
#### [ v2.4.0 - v2.4.1 ]

`deviceGroups`  <a name="client-device-auth-component-configuration-devicegroups"></a>
デバイスグループは、コアデバイスに接続して通信する権限を持つクライアントデバイスのグループです。選択ルールを使用してクライアントデバイスのグループを特定し、各デバイスグループにアクセス許可を指定する、*クライアントデバイス認証ポリシー*を定義します。  
このオブジェクトには、次の情報が含まれます。    
`formatVersion`  
この設定オブジェクトの形式バージョン。  
次のオプションから選択します。  
+ `2021-03-05`  
`definitions`  
このコアデバイスのデバイスグループ。各定義では、クライアントデバイスがグループのメンバーであるかどうかを評価する*選択ルール*を指定します。各定義では、選択ルールに一致するクライアントデバイスに適用するアクセス権限ポリシーも指定します。クライアントデバイスが複数のデバイスグループのメンバーである場合、デバイスのアクセス許可は各グループのアクセス許可ポリシーで設定されます。  
このオブジェクトには、次の情報が含まれます。    
`groupNameKey`  
このデバイスグループの名前。*GroupNameKey* を、このデバイスグループを識別しやすい名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`selectionRule`  
このデバイスグループのメンバーであるクライアントデバイスを指定するクエリ。クライアントデバイスが接続されると、コアデバイスはこの選択ルールを評価して、クライアントデバイスがこのデバイスグループのメンバーであるかどうかを判断します。クライアントデバイスがメンバーである場合、コアデバイスはこのデバイスグループのポリシーを使用して、クライアントデバイスのアクションを承認します。  
各選択ルールは、少なくとも 1 つの*選択ルール句*で構成されます。この句は、クライアントデバイスと一致できる単一の式クエリです。選択ルールは、 AWS IoT フリートインデックス作成と同じクエリ構文を使用します。選択ルール構文に関する詳細については、「*AWS IoT Core デベロッパーガイド*」の「[AWS IoT fleet indexing query syntax](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html)」を参照してください。  
`*` ワイルドカードを使用して、複数のクライアントデバイスを 1 つの選択ルール句と一致させます。モノ名の末尾にこのワイルドカードを使用すると、指定した文字列で始まる名前のクライアントデバイスと一致させることができます。このワイルドカードを使用して、すべてのクライアントデバイスと一致させることもできます。  
コロン文字 (`:`) を含む値を選択する場合は、コロン文字にバックスラッシュ文字 (`\\`) を使用してエスケープします。JSON などの形式では、バックスラッシュ文字をエスケープする必要があるため、コロン文字の前に 2 つのバックスラッシュ文字を入力する必要があります。例えば、`thingName: MyTeam\\\\:ClientDevice1` が `MyTeam:ClientDevice1` という名前のモノを選択するように指定する場合です。
次のセレクターを指定できます。  
+ `thingName` - クライアントデバイスの AWS IoT モノの名前。

**Example 選択ルール例**  
次の選択ルールは、名前が `MyClientDevice1` または `MyClientDevice2` のクライアントデバイスと一致します。  

```
thingName: MyClientDevice1 OR thingName: MyClientDevice2
```

**Example 選択ルール例 (ワイルドカードを使用)**  
次の選択ルールは、名前が `MyClientDevice` で始まるクライアントデバイスと一致します。  

```
thingName: MyClientDevice*
```

**Example 選択ルール例 (すべてのデバイスに一致)**  
次の選択ルールは、すべてのクライアントデバイスと一致します。  

```
thingName: *
```  
`policyName`  
このデバイスグループ内のクライアントデバイスに適用されるアクセス許可ポリシー。`policies` オブジェクトで定義するポリシーの名前を指定します。  
`policies`  
コアデバイスに接続するクライアントデバイス用の、クライアントデバイス認可ポリシー。各承認ポリシーは、クライアントデバイスがこれらのアクションを実行できるアクションセットとリソースを指定しています。  
このオブジェクトには、次の情報が含まれます。    
`policyNameKey`  
この承認ポリシーの名前。*policyNameKey* を、この承認ポリシーを識別するのに役立つ名前に置き換えます。このポリシー名を使用して、デバイスグループに適用するポリシーを定義します。  
このオブジェクトには、次の情報が含まれます。    
`statementNameKey`  
このポリシーステートメントの名前。*statementNameKey* を、このポリシーステートメントを識別するのに役立つ名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`operations`  
このポリシーのリソースに許可する操作のリスト。  
以下のすべての操作を含めることができます。  
+ `mqtt:connect` - コアデバイスに接続するアクセス許可を付与します。コアデバイスに接続するには、クライアントデバイスにこのアクセス許可が必要です。

  この操作は、次のリソースをサポートします。
  + `mqtt:clientId:deviceClientId` - クライアントデバイスがコアデバイスの MQTT ブローカーへの接続に使用するクライアント ID に基づいて、アクセスを制限します。*deviceClientId* を使用するクライアント ID に置き換えます。
+ `mqtt:publish` - MQTT メッセージをトピックにパブリッシュする権限を付与します。

  この操作は、次のリソースをサポートします。
  + <a name="client-device-authorization-policy-resource-mqtt-topic"></a>`mqtt:topic:mqttTopic` - クライアントデバイスがメッセージをパブリッシュする MQTT トピックに基づいて、アクセスを制限します。*mqttTopic* を使用するトピックに置き換えます。

    このリソースは MQTT トピックのワイルドカードをサポートしていません。
+ `mqtt:subscribe` - メッセージを受信する MQTT トピックフィルターにサブスクライブする許可を付与します。

  この操作は、次のリソースをサポートします。
  + <a name="client-device-authorization-policy-resource-mqtt-topicfilter"></a>`mqtt:topicfilter:mqttTopicFilter` - クライアントデバイスがメッセージにサブスクライブできる MQTT トピックに基づいて、アクセスを制限します。*mqttTopicFilter* を使用するトピックフィルターに置き換えます。

    このリソースは `+` および `#` MQTT トピックのワイルドカードをサポートしています。詳細については、「*AWS IoT Core デベロッパーガイド*」の「[MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html)」を参照してください。

    クライアントデバイスは、許可を付与したトピックフィルターにのみサブスクライブできます。例えば、クライアントデバイスに `mqtt:topicfilter:client/+/status` リソースへのサブスクライブを許可した場合、クライアントデバイスは `client/+/status` にサブスクライブできますが、`client/client1/status` にはサブスクライブできません。
`*` ワイルドカードを指定すれば、すべてのアクションへのアクセスを許可することができます。  
`resources`  
このポリシーでの操作を許可するリソースのリスト。このポリシーでの操作に対応するリソースを指定します。例えば、`mqtt:publish` 操作を指定するポリシーで、MQTT トピックリソース (`mqtt:topic:mqttTopic`) のリストを指定することができます。  
`*` ワイルドカードを指定すれば、すべてのリソースへのアクセスを許可することができます。`*` ワイルドカードを使用して、部分的なリソース識別子と一致させることはできません。例えば、**"resources": "\$1"** と指定することはできますが、**"resources": "mqtt:clientId:\$1"** と指定することはできません。  
`statementDescription`  
(オプション) このポリシーステートメントの説明。

`certificates`  <a name="client-device-auth-component-configuration-certificates"></a>
(オプション) このコアデバイスの証明書設定オプション。このオブジェクトには、次の情報が含まれます。    
`serverCertificateValiditySeconds`  
(オプション) ローカル MQTT サーバー証明書の有効期限が切れるまでの時間 (秒単位)。このオプションを設定すれば、クライアントデバイスがコアデバイスから切断し、また再接続する回数をカスタマイズすることができます。  
このコンポーネントは、有効期限が切れる 24 時間前に、ローカル MQTT サーバー証明書をローテーションします。[Moquette MQTT ブローカーコンポーネント](mqtt-broker-moquette-component.md)などの MQTT ブローカーで、新しい証明書を生成して再起動します。これが実行されると、このコアデバイスに接続されているすべてのクライアントデバイスが切断されます。クライアントデバイスは、短時間待機した後に、コアデバイスに再度接続できます。  
デフォルト: `604800` (7 日)  
最小値: `172800` (2 日)  
最大値: `864000` (10 日)

`performance`  
(オプション) このコアデバイスのパフォーマンス設定オプション。このオブジェクトには、次の情報が含まれます。    
`maxActiveAuthTokens`  
(オプション) アクティブなクライアントデバイス認可トークンの最大数。この数を増やすと、より多くのクライアントデバイスが、再認証せずに単一のコアデバイスに接続できるようになります。  
デフォルト: `2500`  
`cloudRequestQueueSize`  
(オプション) このコンポーネントが AWS クラウド リクエストを拒否するまでのキューへのリクエストの最大数。  
デフォルト: `100`  
`maxConcurrentCloudRequests`  
(オプション) AWS クラウドに同時に送信できるリクエストの最大数。この数を増やすと、多数のクライアントデバイスを接続するコアデバイスで、認証のパフォーマンスを向上させることができます。  
デフォルト: `1`

`certificateAuthority`  
(オプション) コアデバイスの中間認証機関を独自の中間認証機関に置き換える認証機関設定オプション。このオブジェクトには、次の情報が含まれます。  
 このオブジェクトには、次の情報が含まれます。    
certificateUri  
証明書の位置。ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書をポイントする URI にすることができます。  
`certificateChainUri`  
コアデバイス CA の証明書チェーンの場所。これは、ルート CA に対する完全な証明書チェーンとなります。ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書チェーンをポイントする URI にすることができます。  
`privateKeyUri`  
コアデバイスのプライベートキーの場所。これは、ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書プライベートキーをポイントする URI にすることができます。

`security`  
(オプション) このコアデバイスのセキュリティ設定オプション。このオブジェクトには、次の情報が含まれます。    
`clientDeviceTrustDurationMinutes`  
クライアントデバイスの認証情報を信頼できる時間 (分)。この時間が経過すると、コアデバイスでの再認証が必要となります。デフォルト値は 1 です。

`metrics`  
(オプション) このコアデバイスのメトリックオプション。エラーメトリックは、クライアントデバイスの認証にエラーがある場合にのみ表示されます。このオブジェクトには、次の情報が含まれます。    
`disableMetrics`  
`disableMetrics` フィールドが `true` に設定されている場合、クライアントデバイス認証はメトリックを収集しません。  
デフォルト: `false`  
`aggregatePeriodSeconds`  
クライアントデバイス認証がメトリクスを集約してテレメトリエージェントに送信する頻度を決定する集計期間 (秒単位)。テレメトリエージェントは依然として 1 日に 1 回メトリクスを公開するので、メトリクスの公開頻度は変わりません。  
デフォルト: `3600`

**Example 例: 設定マージの更新 (制限ポリシーを使用)**  <a name="client-device-auth-component-configuration-example-restrictive"></a>
次の設定例では、名前が `MyClientDevice` で始まるクライアントデバイスに対して、すべてのトピックの接続とパブリッシュ/サブスクライブを許可するように指定しています。  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyDeviceGroup": {
        "selectionRule": "thingName: MyClientDevice*",
        "policyName": "MyRestrictivePolicy"
      }
    },
    "policies": {
      "MyRestrictivePolicy": {
        "AllowConnect": {
          "statementDescription": "Allow client devices to connect.",
          "operations": [
            "mqtt:connect"
          ],
          "resources": [
            "*"
          ]
        },
        "AllowPublish": {
          "statementDescription": "Allow client devices to publish on test/topic.",
          "operations": [
            "mqtt:publish"
          ],
          "resources": [
            "mqtt:topic:test/topic"
          ]
        },
        "AllowSubscribe": {
          "statementDescription": "Allow client devices to subscribe to test/topic/response.",
          "operations": [
            "mqtt:subscribe"
          ],
          "resources": [
            "mqtt:topicfilter:test/topic/response"
          ]
        }
      }
    }
  }
}
```

**Example 例: 設定マージの更新 (許容ポリシーを使用)**  <a name="client-device-auth-component-configuration-example-permissive"></a>
次の設定例では、すべてのクライアントデバイスに対して、すべてのトピックに接続しパブリッシュ/サブスクライブすることを許可しています。  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyPermissiveDeviceGroup": {
        "selectionRule": "thingName: *",
        "policyName": "MyPermissivePolicy"
      }
    },
    "policies": {
      "MyPermissivePolicy": {
        "AllowAll": {
          "statementDescription": "Allow client devices to perform all actions.",
          "operations": [
            "*"
          ],
          "resources": [
            "*"
          ]
        }
      }
    }
  }
}
```

------
#### [ v2.3.x ]

`deviceGroups`  <a name="client-device-auth-component-configuration-devicegroups"></a>
デバイスグループは、コアデバイスに接続して通信する権限を持つクライアントデバイスのグループです。選択ルールを使用してクライアントデバイスのグループを特定し、各デバイスグループにアクセス許可を指定する、*クライアントデバイス認証ポリシー*を定義します。  
このオブジェクトには、次の情報が含まれます。    
`formatVersion`  
この設定オブジェクトの形式バージョン。  
次のオプションから選択します。  
+ `2021-03-05`  
`definitions`  
このコアデバイスのデバイスグループ。各定義では、クライアントデバイスがグループのメンバーであるかどうかを評価する*選択ルール*を指定します。各定義では、選択ルールに一致するクライアントデバイスに適用するアクセス権限ポリシーも指定します。クライアントデバイスが複数のデバイスグループのメンバーである場合、デバイスのアクセス許可は各グループのアクセス許可ポリシーで設定されます。  
このオブジェクトには、次の情報が含まれます。    
`groupNameKey`  
このデバイスグループの名前。*GroupNameKey* を、このデバイスグループを識別しやすい名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`selectionRule`  
このデバイスグループのメンバーであるクライアントデバイスを指定するクエリ。クライアントデバイスが接続されると、コアデバイスはこの選択ルールを評価して、クライアントデバイスがこのデバイスグループのメンバーであるかどうかを判断します。クライアントデバイスがメンバーである場合、コアデバイスはこのデバイスグループのポリシーを使用して、クライアントデバイスのアクションを承認します。  
各選択ルールは、少なくとも 1 つの*選択ルール句*で構成されます。この句は、クライアントデバイスと一致できる単一の式クエリです。選択ルールは、 AWS IoT フリートインデックス作成と同じクエリ構文を使用します。選択ルール構文に関する詳細については、「*AWS IoT Core デベロッパーガイド*」の「[AWS IoT fleet indexing query syntax](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html)」を参照してください。  
`*` ワイルドカードを使用して、複数のクライアントデバイスを 1 つの選択ルール句と一致させます。モノ名の末尾にこのワイルドカードを使用すると、指定した文字列で始まる名前のクライアントデバイスと一致させることができます。このワイルドカードを使用して、すべてのクライアントデバイスと一致させることもできます。  
コロン文字 (`:`) を含む値を選択する場合は、コロン文字にバックスラッシュ文字 (`\\`) を使用してエスケープします。JSON などの形式では、バックスラッシュ文字をエスケープする必要があるため、コロン文字の前に 2 つのバックスラッシュ文字を入力する必要があります。例えば、`thingName: MyTeam\\\\:ClientDevice1` が `MyTeam:ClientDevice1` という名前のモノを選択するように指定する場合です。
次のセレクターを指定できます。  
+ `thingName` - クライアントデバイスの AWS IoT モノの名前。

**Example 選択ルール例**  
次の選択ルールは、名前が `MyClientDevice1` または `MyClientDevice2` のクライアントデバイスと一致します。  

```
thingName: MyClientDevice1 OR thingName: MyClientDevice2
```

**Example 選択ルール例 (ワイルドカードを使用)**  
次の選択ルールは、名前が `MyClientDevice` で始まるクライアントデバイスと一致します。  

```
thingName: MyClientDevice*
```

**Example 選択ルール例 (すべてのデバイスに一致)**  
次の選択ルールは、すべてのクライアントデバイスと一致します。  

```
thingName: *
```  
`policyName`  
このデバイスグループ内のクライアントデバイスに適用されるアクセス許可ポリシー。`policies` オブジェクトで定義するポリシーの名前を指定します。  
`policies`  
コアデバイスに接続するクライアントデバイス用の、クライアントデバイス認可ポリシー。各承認ポリシーは、クライアントデバイスがこれらのアクションを実行できるアクションセットとリソースを指定しています。  
このオブジェクトには、次の情報が含まれます。    
`policyNameKey`  
この承認ポリシーの名前。*policyNameKey* を、この承認ポリシーを識別するのに役立つ名前に置き換えます。このポリシー名を使用して、デバイスグループに適用するポリシーを定義します。  
このオブジェクトには、次の情報が含まれます。    
`statementNameKey`  
このポリシーステートメントの名前。*statementNameKey* を、このポリシーステートメントを識別するのに役立つ名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`operations`  
このポリシーのリソースに許可する操作のリスト。  
以下のすべての操作を含めることができます。  
+ `mqtt:connect` - コアデバイスに接続するアクセス許可を付与します。コアデバイスに接続するには、クライアントデバイスにこのアクセス許可が必要です。

  この操作は、次のリソースをサポートします。
  + `mqtt:clientId:deviceClientId` - クライアントデバイスがコアデバイスの MQTT ブローカーへの接続に使用するクライアント ID に基づいて、アクセスを制限します。*deviceClientId* を使用するクライアント ID に置き換えます。
+ `mqtt:publish` - MQTT メッセージをトピックにパブリッシュする権限を付与します。

  この操作は、次のリソースをサポートします。
  + <a name="client-device-authorization-policy-resource-mqtt-topic"></a>`mqtt:topic:mqttTopic` - クライアントデバイスがメッセージをパブリッシュする MQTT トピックに基づいて、アクセスを制限します。*mqttTopic* を使用するトピックに置き換えます。

    このリソースは MQTT トピックのワイルドカードをサポートしていません。
+ `mqtt:subscribe` - メッセージを受信する MQTT トピックフィルターにサブスクライブする許可を付与します。

  この操作は、次のリソースをサポートします。
  + <a name="client-device-authorization-policy-resource-mqtt-topicfilter"></a>`mqtt:topicfilter:mqttTopicFilter` - クライアントデバイスがメッセージにサブスクライブできる MQTT トピックに基づいて、アクセスを制限します。*mqttTopicFilter* を使用するトピックフィルターに置き換えます。

    このリソースは `+` および `#` MQTT トピックのワイルドカードをサポートしています。詳細については、「*AWS IoT Core デベロッパーガイド*」の「[MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html)」を参照してください。

    クライアントデバイスは、許可を付与したトピックフィルターにのみサブスクライブできます。例えば、クライアントデバイスに `mqtt:topicfilter:client/+/status` リソースへのサブスクライブを許可した場合、クライアントデバイスは `client/+/status` にサブスクライブできますが、`client/client1/status` にはサブスクライブできません。
`*` ワイルドカードを指定すれば、すべてのアクションへのアクセスを許可することができます。  
`resources`  
このポリシーでの操作を許可するリソースのリスト。このポリシーでの操作に対応するリソースを指定します。例えば、`mqtt:publish` 操作を指定するポリシーで、MQTT トピックリソース (`mqtt:topic:mqttTopic`) のリストを指定することができます。  
`*` ワイルドカードを指定すれば、すべてのリソースへのアクセスを許可することができます。`*` ワイルドカードを使用して、部分的なリソース識別子と一致させることはできません。例えば、**"resources": "\$1"** と指定することはできますが、**"resources": "mqtt:clientId:\$1"** と指定することはできません。  
`statementDescription`  
(オプション) このポリシーステートメントの説明。

`certificates`  <a name="client-device-auth-component-configuration-certificates"></a>
(オプション) このコアデバイスの証明書設定オプション。このオブジェクトには、次の情報が含まれます。    
`serverCertificateValiditySeconds`  
(オプション) ローカル MQTT サーバー証明書の有効期限が切れるまでの時間 (秒単位)。このオプションを設定すれば、クライアントデバイスがコアデバイスから切断し、また再接続する回数をカスタマイズすることができます。  
このコンポーネントは、有効期限が切れる 24 時間前に、ローカル MQTT サーバー証明書をローテーションします。[Moquette MQTT ブローカーコンポーネント](mqtt-broker-moquette-component.md)などの MQTT ブローカーで、新しい証明書を生成して再起動します。これが実行されると、このコアデバイスに接続されているすべてのクライアントデバイスが切断されます。クライアントデバイスは、短時間待機した後に、コアデバイスに再度接続できます。  
デフォルト: `604800` (7 日)  
最小値: `172800` (2 日)  
最大値: `864000` (10 日)

`performance`  
(オプション) このコアデバイスのパフォーマンス設定オプション。このオブジェクトには、次の情報が含まれます。    
`maxActiveAuthTokens`  
(オプション) アクティブなクライアントデバイス認可トークンの最大数。この数を増やすと、より多くのクライアントデバイスが、再認証せずに単一のコアデバイスに接続できるようになります。  
デフォルト: `2500`  
`cloudRequestQueueSize`  
(オプション) このコンポーネントが AWS クラウド リクエストを拒否するまでのキューへのリクエストの最大数。  
デフォルト: `100`  
`maxConcurrentCloudRequests`  
(オプション) AWS クラウドに同時に送信できるリクエストの最大数。この数を増やすと、多数のクライアントデバイスを接続するコアデバイスで、認証のパフォーマンスを向上させることができます。  
デフォルト: `1`

`certificateAuthority`  
(オプション) コアデバイスの中間認証機関を独自の中間認証機関に置き換える認証機関設定オプション。このオブジェクトには、次の情報が含まれます。    
certificateUri  
証明書の位置。ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書をポイントする URI にすることができます。  
`certificateChainUri`  
コアデバイス CA の証明書チェーンの場所。これは、ルート CA に対する完全な証明書チェーンとなります。ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書チェーンをポイントする URI にすることができます。  
`privateKeyUri`  
コアデバイスのプライベートキーの場所。これは、ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書プライベートキーをポイントする URI にすることができます。

`security`  
(オプション) このコアデバイスのセキュリティ設定オプション。このオブジェクトには、次の情報が含まれます。    
`clientDeviceTrustDurationMinutes`  
クライアントデバイスの認証情報を信頼できる時間 (分)。この時間が経過すると、コアデバイスでの再認証が必要となります。デフォルト値は 1 です。

**Example 例: 設定マージの更新 (制限ポリシーを使用)**  <a name="client-device-auth-component-configuration-example-restrictive"></a>
次の設定例では、名前が `MyClientDevice` で始まるクライアントデバイスに対して、すべてのトピックの接続とパブリッシュ/サブスクライブを許可するように指定しています。  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyDeviceGroup": {
        "selectionRule": "thingName: MyClientDevice*",
        "policyName": "MyRestrictivePolicy"
      }
    },
    "policies": {
      "MyRestrictivePolicy": {
        "AllowConnect": {
          "statementDescription": "Allow client devices to connect.",
          "operations": [
            "mqtt:connect"
          ],
          "resources": [
            "*"
          ]
        },
        "AllowPublish": {
          "statementDescription": "Allow client devices to publish on test/topic.",
          "operations": [
            "mqtt:publish"
          ],
          "resources": [
            "mqtt:topic:test/topic"
          ]
        },
        "AllowSubscribe": {
          "statementDescription": "Allow client devices to subscribe to test/topic/response.",
          "operations": [
            "mqtt:subscribe"
          ],
          "resources": [
            "mqtt:topicfilter:test/topic/response"
          ]
        }
      }
    }
  }
}
```

**Example 例: 設定マージの更新 (許容ポリシーを使用)**  <a name="client-device-auth-component-configuration-example-permissive"></a>
次の設定例では、すべてのクライアントデバイスに対して、すべてのトピックに接続しパブリッシュ/サブスクライブすることを許可しています。  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyPermissiveDeviceGroup": {
        "selectionRule": "thingName: *",
        "policyName": "MyPermissivePolicy"
      }
    },
    "policies": {
      "MyPermissivePolicy": {
        "AllowAll": {
          "statementDescription": "Allow client devices to perform all actions.",
          "operations": [
            "*"
          ],
          "resources": [
            "*"
          ]
        }
      }
    }
  }
}
```

------
#### [ v2.2.x ]

`deviceGroups`  <a name="client-device-auth-component-configuration-devicegroups"></a>
デバイスグループは、コアデバイスに接続して通信する権限を持つクライアントデバイスのグループです。選択ルールを使用してクライアントデバイスのグループを特定し、各デバイスグループにアクセス許可を指定する、*クライアントデバイス認証ポリシー*を定義します。  
このオブジェクトには、次の情報が含まれます。    
`formatVersion`  
この設定オブジェクトの形式バージョン。  
次のオプションから選択します。  
+ `2021-03-05`  
`definitions`  
このコアデバイスのデバイスグループ。各定義では、クライアントデバイスがグループのメンバーであるかどうかを評価する*選択ルール*を指定します。各定義では、選択ルールに一致するクライアントデバイスに適用するアクセス権限ポリシーも指定します。クライアントデバイスが複数のデバイスグループのメンバーである場合、デバイスのアクセス許可は各グループのアクセス許可ポリシーで設定されます。  
このオブジェクトには、次の情報が含まれます。    
`groupNameKey`  
このデバイスグループの名前。*GroupNameKey* を、このデバイスグループを識別しやすい名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`selectionRule`  
このデバイスグループのメンバーであるクライアントデバイスを指定するクエリ。クライアントデバイスが接続されると、コアデバイスはこの選択ルールを評価して、クライアントデバイスがこのデバイスグループのメンバーであるかどうかを判断します。クライアントデバイスがメンバーである場合、コアデバイスはこのデバイスグループのポリシーを使用して、クライアントデバイスのアクションを承認します。  
各選択ルールは、少なくとも 1 つの*選択ルール句*で構成されます。この句は、クライアントデバイスと一致できる単一の式クエリです。選択ルールは、 AWS IoT フリートインデックス作成と同じクエリ構文を使用します。選択ルール構文に関する詳細については、「*AWS IoT Core デベロッパーガイド*」の「[AWS IoT fleet indexing query syntax](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html)」を参照してください。  
`*` ワイルドカードを使用して、複数のクライアントデバイスを 1 つの選択ルール句と一致させます。モノ名の末尾にこのワイルドカードを使用すると、指定した文字列で始まる名前のクライアントデバイスと一致させることができます。このワイルドカードを使用して、すべてのクライアントデバイスと一致させることもできます。  
コロン文字 (`:`) を含む値を選択する場合は、コロン文字にバックスラッシュ文字 (`\\`) を使用してエスケープします。JSON などの形式では、バックスラッシュ文字をエスケープする必要があるため、コロン文字の前に 2 つのバックスラッシュ文字を入力する必要があります。例えば、`thingName: MyTeam\\\\:ClientDevice1` が `MyTeam:ClientDevice1` という名前のモノを選択するように指定する場合です。
次のセレクターを指定できます。  
+ `thingName` - クライアントデバイスの AWS IoT モノの名前。

**Example 選択ルール例**  
次の選択ルールは、名前が `MyClientDevice1` または `MyClientDevice2` のクライアントデバイスと一致します。  

```
thingName: MyClientDevice1 OR thingName: MyClientDevice2
```

**Example 選択ルール例 (ワイルドカードを使用)**  
次の選択ルールは、名前が `MyClientDevice` で始まるクライアントデバイスと一致します。  

```
thingName: MyClientDevice*
```

**Example 選択ルール例 (すべてのデバイスに一致)**  
次の選択ルールは、すべてのクライアントデバイスと一致します。  

```
thingName: *
```  
`policyName`  
このデバイスグループ内のクライアントデバイスに適用されるアクセス許可ポリシー。`policies` オブジェクトで定義するポリシーの名前を指定します。  
`policies`  
コアデバイスに接続するクライアントデバイス用の、クライアントデバイス認可ポリシー。各承認ポリシーは、クライアントデバイスがこれらのアクションを実行できるアクションセットとリソースを指定しています。  
このオブジェクトには、次の情報が含まれます。    
`policyNameKey`  
この承認ポリシーの名前。*policyNameKey* を、この承認ポリシーを識別するのに役立つ名前に置き換えます。このポリシー名を使用して、デバイスグループに適用するポリシーを定義します。  
このオブジェクトには、次の情報が含まれます。    
`statementNameKey`  
このポリシーステートメントの名前。*statementNameKey* を、このポリシーステートメントを識別するのに役立つ名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`operations`  
このポリシーのリソースに許可する操作のリスト。  
以下のすべての操作を含めることができます。  
+ `mqtt:connect` - コアデバイスに接続するアクセス許可を付与します。コアデバイスに接続するには、クライアントデバイスにこのアクセス許可が必要です。

  この操作は、次のリソースをサポートします。
  + `mqtt:clientId:deviceClientId` - クライアントデバイスがコアデバイスの MQTT ブローカーへの接続に使用するクライアント ID に基づいて、アクセスを制限します。*deviceClientId* を使用するクライアント ID に置き換えます。
+ `mqtt:publish` - MQTT メッセージをトピックにパブリッシュする権限を付与します。

  この操作は、次のリソースをサポートします。
  + <a name="client-device-authorization-policy-resource-mqtt-topic"></a>`mqtt:topic:mqttTopic` - クライアントデバイスがメッセージをパブリッシュする MQTT トピックに基づいて、アクセスを制限します。*mqttTopic* を使用するトピックに置き換えます。

    このリソースは MQTT トピックのワイルドカードをサポートしていません。
+ `mqtt:subscribe` - メッセージを受信する MQTT トピックフィルターにサブスクライブする許可を付与します。

  この操作は、次のリソースをサポートします。
  + <a name="client-device-authorization-policy-resource-mqtt-topicfilter"></a>`mqtt:topicfilter:mqttTopicFilter` - クライアントデバイスがメッセージにサブスクライブできる MQTT トピックに基づいて、アクセスを制限します。*mqttTopicFilter* を使用するトピックフィルターに置き換えます。

    このリソースは `+` および `#` MQTT トピックのワイルドカードをサポートしています。詳細については、「*AWS IoT Core デベロッパーガイド*」の「[MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html)」を参照してください。

    クライアントデバイスは、許可を付与したトピックフィルターにのみサブスクライブできます。例えば、クライアントデバイスに `mqtt:topicfilter:client/+/status` リソースへのサブスクライブを許可した場合、クライアントデバイスは `client/+/status` にサブスクライブできますが、`client/client1/status` にはサブスクライブできません。
`*` ワイルドカードを指定すれば、すべてのアクションへのアクセスを許可することができます。  
`resources`  
このポリシーでの操作を許可するリソースのリスト。このポリシーでの操作に対応するリソースを指定します。例えば、`mqtt:publish` 操作を指定するポリシーで、MQTT トピックリソース (`mqtt:topic:mqttTopic`) のリストを指定することができます。  
`*` ワイルドカードを指定すれば、すべてのリソースへのアクセスを許可することができます。`*` ワイルドカードを使用して、部分的なリソース識別子と一致させることはできません。例えば、**"resources": "\$1"** と指定することはできますが、**"resources": "mqtt:clientId:\$1"** と指定することはできません。  
`statementDescription`  
(オプション) このポリシーステートメントの説明。

`certificates`  <a name="client-device-auth-component-configuration-certificates"></a>
(オプション) このコアデバイスの証明書設定オプション。このオブジェクトには、次の情報が含まれます。    
`serverCertificateValiditySeconds`  
(オプション) ローカル MQTT サーバー証明書の有効期限が切れるまでの時間 (秒単位)。このオプションを設定すれば、クライアントデバイスがコアデバイスから切断し、また再接続する回数をカスタマイズすることができます。  
このコンポーネントは、有効期限が切れる 24 時間前に、ローカル MQTT サーバー証明書をローテーションします。[Moquette MQTT ブローカーコンポーネント](mqtt-broker-moquette-component.md)などの MQTT ブローカーで、新しい証明書を生成して再起動します。これが実行されると、このコアデバイスに接続されているすべてのクライアントデバイスが切断されます。クライアントデバイスは、短時間待機した後に、コアデバイスに再度接続できます。  
デフォルト: `604800` (7 日)  
最小値: `172800` (2 日)  
最大値: `864000` (10 日)

`performance`  
(オプション) このコアデバイスのパフォーマンス設定オプション。このオブジェクトには、次の情報が含まれます。    
`maxActiveAuthTokens`  
(オプション) アクティブなクライアントデバイス認可トークンの最大数。この数を増やすと、より多くのクライアントデバイスが、再認証せずに単一のコアデバイスに接続できるようになります。  
デフォルト: `2500`  
`cloudRequestQueueSize`  
(オプション) このコンポーネントが AWS クラウド リクエストを拒否するまでのキューへのリクエストの最大数。  
デフォルト: `100`  
`maxConcurrentCloudRequests`  
(オプション) AWS クラウドに同時に送信できるリクエストの最大数。この数を増やすと、多数のクライアントデバイスを接続するコアデバイスで、認証のパフォーマンスを向上させることができます。  
デフォルト: `1`

**Example 例: 設定マージの更新 (制限ポリシーを使用)**  <a name="client-device-auth-component-configuration-example-restrictive"></a>
次の設定例では、名前が `MyClientDevice` で始まるクライアントデバイスに対して、すべてのトピックの接続とパブリッシュ/サブスクライブを許可するように指定しています。  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyDeviceGroup": {
        "selectionRule": "thingName: MyClientDevice*",
        "policyName": "MyRestrictivePolicy"
      }
    },
    "policies": {
      "MyRestrictivePolicy": {
        "AllowConnect": {
          "statementDescription": "Allow client devices to connect.",
          "operations": [
            "mqtt:connect"
          ],
          "resources": [
            "*"
          ]
        },
        "AllowPublish": {
          "statementDescription": "Allow client devices to publish on test/topic.",
          "operations": [
            "mqtt:publish"
          ],
          "resources": [
            "mqtt:topic:test/topic"
          ]
        },
        "AllowSubscribe": {
          "statementDescription": "Allow client devices to subscribe to test/topic/response.",
          "operations": [
            "mqtt:subscribe"
          ],
          "resources": [
            "mqtt:topicfilter:test/topic/response"
          ]
        }
      }
    }
  }
}
```

**Example 例: 設定マージの更新 (許容ポリシーを使用)**  <a name="client-device-auth-component-configuration-example-permissive"></a>
次の設定例では、すべてのクライアントデバイスに対して、すべてのトピックに接続しパブリッシュ/サブスクライブすることを許可しています。  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyPermissiveDeviceGroup": {
        "selectionRule": "thingName: *",
        "policyName": "MyPermissivePolicy"
      }
    },
    "policies": {
      "MyPermissivePolicy": {
        "AllowAll": {
          "statementDescription": "Allow client devices to perform all actions.",
          "operations": [
            "*"
          ],
          "resources": [
            "*"
          ]
        }
      }
    }
  }
}
```

------
#### [ v2.1.x ]

`deviceGroups`  <a name="client-device-auth-component-configuration-devicegroups"></a>
デバイスグループは、コアデバイスに接続して通信する権限を持つクライアントデバイスのグループです。選択ルールを使用してクライアントデバイスのグループを特定し、各デバイスグループにアクセス許可を指定する、*クライアントデバイス認証ポリシー*を定義します。  
このオブジェクトには、次の情報が含まれます。    
`formatVersion`  
この設定オブジェクトの形式バージョン。  
次のオプションから選択します。  
+ `2021-03-05`  
`definitions`  
このコアデバイスのデバイスグループ。各定義では、クライアントデバイスがグループのメンバーであるかどうかを評価する*選択ルール*を指定します。各定義では、選択ルールに一致するクライアントデバイスに適用するアクセス権限ポリシーも指定します。クライアントデバイスが複数のデバイスグループのメンバーである場合、デバイスのアクセス許可は各グループのアクセス許可ポリシーで設定されます。  
このオブジェクトには、次の情報が含まれます。    
`groupNameKey`  
このデバイスグループの名前。*GroupNameKey* を、このデバイスグループを識別しやすい名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`selectionRule`  
このデバイスグループのメンバーであるクライアントデバイスを指定するクエリ。クライアントデバイスが接続されると、コアデバイスはこの選択ルールを評価して、クライアントデバイスがこのデバイスグループのメンバーであるかどうかを判断します。クライアントデバイスがメンバーである場合、コアデバイスはこのデバイスグループのポリシーを使用して、クライアントデバイスのアクションを承認します。  
各選択ルールは、少なくとも 1 つの*選択ルール句*で構成されます。この句は、クライアントデバイスと一致できる単一の式クエリです。選択ルールは、 AWS IoT フリートインデックス作成と同じクエリ構文を使用します。選択ルール構文に関する詳細については、「*AWS IoT Core デベロッパーガイド*」の「[AWS IoT fleet indexing query syntax](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html)」を参照してください。  
`*` ワイルドカードを使用して、複数のクライアントデバイスを 1 つの選択ルール句と一致させます。モノ名の末尾にこのワイルドカードを使用すると、指定した文字列で始まる名前のクライアントデバイスと一致させることができます。このワイルドカードを使用して、すべてのクライアントデバイスと一致させることもできます。  
コロン文字 (`:`) を含む値を選択する場合は、コロン文字にバックスラッシュ文字 (`\\`) を使用してエスケープします。JSON などの形式では、バックスラッシュ文字をエスケープする必要があるため、コロン文字の前に 2 つのバックスラッシュ文字を入力する必要があります。例えば、`thingName: MyTeam\\\\:ClientDevice1` が `MyTeam:ClientDevice1` という名前のモノを選択するように指定する場合です。
次のセレクターを指定できます。  
+ `thingName` - クライアントデバイスの AWS IoT モノの名前。

**Example 選択ルール例**  
次の選択ルールは、名前が `MyClientDevice1` または `MyClientDevice2` のクライアントデバイスと一致します。  

```
thingName: MyClientDevice1 OR thingName: MyClientDevice2
```

**Example 選択ルール例 (ワイルドカードを使用)**  
次の選択ルールは、名前が `MyClientDevice` で始まるクライアントデバイスと一致します。  

```
thingName: MyClientDevice*
```

**Example 選択ルール例 (すべてのデバイスに一致)**  
次の選択ルールは、すべてのクライアントデバイスと一致します。  

```
thingName: *
```  
`policyName`  
このデバイスグループ内のクライアントデバイスに適用されるアクセス許可ポリシー。`policies` オブジェクトで定義するポリシーの名前を指定します。  
`policies`  
コアデバイスに接続するクライアントデバイス用の、クライアントデバイス認可ポリシー。各承認ポリシーは、クライアントデバイスがこれらのアクションを実行できるアクションセットとリソースを指定しています。  
このオブジェクトには、次の情報が含まれます。    
`policyNameKey`  
この承認ポリシーの名前。*policyNameKey* を、この承認ポリシーを識別するのに役立つ名前に置き換えます。このポリシー名を使用して、デバイスグループに適用するポリシーを定義します。  
このオブジェクトには、次の情報が含まれます。    
`statementNameKey`  
このポリシーステートメントの名前。*statementNameKey* を、このポリシーステートメントを識別するのに役立つ名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`operations`  
このポリシーのリソースに許可する操作のリスト。  
以下のすべての操作を含めることができます。  
+ `mqtt:connect` - コアデバイスに接続するアクセス許可を付与します。コアデバイスに接続するには、クライアントデバイスにこのアクセス許可が必要です。

  この操作は、次のリソースをサポートします。
  + `mqtt:clientId:deviceClientId` - クライアントデバイスがコアデバイスの MQTT ブローカーへの接続に使用するクライアント ID に基づいて、アクセスを制限します。*deviceClientId* を使用するクライアント ID に置き換えます。
+ `mqtt:publish` - MQTT メッセージをトピックにパブリッシュする権限を付与します。

  この操作は、次のリソースをサポートします。
  + <a name="client-device-authorization-policy-resource-mqtt-topic"></a>`mqtt:topic:mqttTopic` - クライアントデバイスがメッセージをパブリッシュする MQTT トピックに基づいて、アクセスを制限します。*mqttTopic* を使用するトピックに置き換えます。

    このリソースは MQTT トピックのワイルドカードをサポートしていません。
+ `mqtt:subscribe` - メッセージを受信する MQTT トピックフィルターにサブスクライブする許可を付与します。

  この操作は、次のリソースをサポートします。
  + <a name="client-device-authorization-policy-resource-mqtt-topicfilter"></a>`mqtt:topicfilter:mqttTopicFilter` - クライアントデバイスがメッセージにサブスクライブできる MQTT トピックに基づいて、アクセスを制限します。*mqttTopicFilter* を使用するトピックフィルターに置き換えます。

    このリソースは `+` および `#` MQTT トピックのワイルドカードをサポートしています。詳細については、「*AWS IoT Core デベロッパーガイド*」の「[MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html)」を参照してください。

    クライアントデバイスは、許可を付与したトピックフィルターにのみサブスクライブできます。例えば、クライアントデバイスに `mqtt:topicfilter:client/+/status` リソースへのサブスクライブを許可した場合、クライアントデバイスは `client/+/status` にサブスクライブできますが、`client/client1/status` にはサブスクライブできません。
`*` ワイルドカードを指定すれば、すべてのアクションへのアクセスを許可することができます。  
`resources`  
このポリシーでの操作を許可するリソースのリスト。このポリシーでの操作に対応するリソースを指定します。例えば、`mqtt:publish` 操作を指定するポリシーで、MQTT トピックリソース (`mqtt:topic:mqttTopic`) のリストを指定することができます。  
`*` ワイルドカードを指定すれば、すべてのリソースへのアクセスを許可することができます。`*` ワイルドカードを使用して、部分的なリソース識別子と一致させることはできません。例えば、**"resources": "\$1"** と指定することはできますが、**"resources": "mqtt:clientId:\$1"** と指定することはできません。  
`statementDescription`  
(オプション) このポリシーステートメントの説明。

`certificates`  <a name="client-device-auth-component-configuration-certificates"></a>
(オプション) このコアデバイスの証明書設定オプション。このオブジェクトには、次の情報が含まれます。    
`serverCertificateValiditySeconds`  
(オプション) ローカル MQTT サーバー証明書の有効期限が切れるまでの時間 (秒単位)。このオプションを設定すれば、クライアントデバイスがコアデバイスから切断し、また再接続する回数をカスタマイズすることができます。  
このコンポーネントは、有効期限が切れる 24 時間前に、ローカル MQTT サーバー証明書をローテーションします。[Moquette MQTT ブローカーコンポーネント](mqtt-broker-moquette-component.md)などの MQTT ブローカーで、新しい証明書を生成して再起動します。これが実行されると、このコアデバイスに接続されているすべてのクライアントデバイスが切断されます。クライアントデバイスは、短時間待機した後に、コアデバイスに再度接続できます。  
デフォルト: `604800` (7 日)  
最小値: `172800` (2 日)  
最大値: `864000` (10 日)

**Example 例: 設定マージの更新 (制限ポリシーを使用)**  <a name="client-device-auth-component-configuration-example-restrictive"></a>
次の設定例では、名前が `MyClientDevice` で始まるクライアントデバイスに対して、すべてのトピックの接続とパブリッシュ/サブスクライブを許可するように指定しています。  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyDeviceGroup": {
        "selectionRule": "thingName: MyClientDevice*",
        "policyName": "MyRestrictivePolicy"
      }
    },
    "policies": {
      "MyRestrictivePolicy": {
        "AllowConnect": {
          "statementDescription": "Allow client devices to connect.",
          "operations": [
            "mqtt:connect"
          ],
          "resources": [
            "*"
          ]
        },
        "AllowPublish": {
          "statementDescription": "Allow client devices to publish on test/topic.",
          "operations": [
            "mqtt:publish"
          ],
          "resources": [
            "mqtt:topic:test/topic"
          ]
        },
        "AllowSubscribe": {
          "statementDescription": "Allow client devices to subscribe to test/topic/response.",
          "operations": [
            "mqtt:subscribe"
          ],
          "resources": [
            "mqtt:topicfilter:test/topic/response"
          ]
        }
      }
    }
  }
}
```

**Example 例: 設定マージの更新 (許容ポリシーを使用)**  <a name="client-device-auth-component-configuration-example-permissive"></a>
次の設定例では、すべてのクライアントデバイスに対して、すべてのトピックに接続しパブリッシュ/サブスクライブすることを許可しています。  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyPermissiveDeviceGroup": {
        "selectionRule": "thingName: *",
        "policyName": "MyPermissivePolicy"
      }
    },
    "policies": {
      "MyPermissivePolicy": {
        "AllowAll": {
          "statementDescription": "Allow client devices to perform all actions.",
          "operations": [
            "*"
          ],
          "resources": [
            "*"
          ]
        }
      }
    }
  }
}
```

------
#### [ v2.0.x ]

`deviceGroups`  <a name="client-device-auth-component-configuration-devicegroups"></a>
デバイスグループは、コアデバイスに接続して通信する権限を持つクライアントデバイスのグループです。選択ルールを使用してクライアントデバイスのグループを特定し、各デバイスグループにアクセス許可を指定する、*クライアントデバイス認証ポリシー*を定義します。  
このオブジェクトには、次の情報が含まれます。    
`formatVersion`  
この設定オブジェクトの形式バージョン。  
次のオプションから選択します。  
+ `2021-03-05`  
`definitions`  
このコアデバイスのデバイスグループ。各定義では、クライアントデバイスがグループのメンバーであるかどうかを評価する*選択ルール*を指定します。各定義では、選択ルールに一致するクライアントデバイスに適用するアクセス権限ポリシーも指定します。クライアントデバイスが複数のデバイスグループのメンバーである場合、デバイスのアクセス許可は各グループのアクセス許可ポリシーで設定されます。  
このオブジェクトには、次の情報が含まれます。    
`groupNameKey`  
このデバイスグループの名前。*GroupNameKey* を、このデバイスグループを識別しやすい名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`selectionRule`  
このデバイスグループのメンバーであるクライアントデバイスを指定するクエリ。クライアントデバイスが接続されると、コアデバイスはこの選択ルールを評価して、クライアントデバイスがこのデバイスグループのメンバーであるかどうかを判断します。クライアントデバイスがメンバーである場合、コアデバイスはこのデバイスグループのポリシーを使用して、クライアントデバイスのアクションを承認します。  
各選択ルールは、少なくとも 1 つの*選択ルール句*で構成されます。この句は、クライアントデバイスと一致できる単一の式クエリです。選択ルールは、 AWS IoT フリートインデックス作成と同じクエリ構文を使用します。選択ルール構文に関する詳細については、「*AWS IoT Core デベロッパーガイド*」の「[AWS IoT fleet indexing query syntax](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html)」を参照してください。  
`*` ワイルドカードを使用して、複数のクライアントデバイスを 1 つの選択ルール句と一致させます。モノ名の末尾にこのワイルドカードを使用すると、指定した文字列で始まる名前のクライアントデバイスと一致させることができます。このワイルドカードを使用して、すべてのクライアントデバイスと一致させることもできます。  
コロン文字 (`:`) を含む値を選択する場合は、コロン文字にバックスラッシュ文字 (`\\`) を使用してエスケープします。JSON などの形式では、バックスラッシュ文字をエスケープする必要があるため、コロン文字の前に 2 つのバックスラッシュ文字を入力する必要があります。例えば、`thingName: MyTeam\\\\:ClientDevice1` が `MyTeam:ClientDevice1` という名前のモノを選択するように指定する場合です。
次のセレクターを指定できます。  
+ `thingName` - クライアントデバイスの AWS IoT モノの名前。

**Example 選択ルール例**  
次の選択ルールは、名前が `MyClientDevice1` または `MyClientDevice2` のクライアントデバイスと一致します。  

```
thingName: MyClientDevice1 OR thingName: MyClientDevice2
```

**Example 選択ルール例 (ワイルドカードを使用)**  
次の選択ルールは、名前が `MyClientDevice` で始まるクライアントデバイスと一致します。  

```
thingName: MyClientDevice*
```

**Example 選択ルール例 (すべてのデバイスに一致)**  
次の選択ルールは、すべてのクライアントデバイスと一致します。  

```
thingName: *
```  
`policyName`  
このデバイスグループ内のクライアントデバイスに適用されるアクセス許可ポリシー。`policies` オブジェクトで定義するポリシーの名前を指定します。  
`policies`  
コアデバイスに接続するクライアントデバイス用の、クライアントデバイス認可ポリシー。各承認ポリシーは、クライアントデバイスがこれらのアクションを実行できるアクションセットとリソースを指定しています。  
このオブジェクトには、次の情報が含まれます。    
`policyNameKey`  
この承認ポリシーの名前。*policyNameKey* を、この承認ポリシーを識別するのに役立つ名前に置き換えます。このポリシー名を使用して、デバイスグループに適用するポリシーを定義します。  
このオブジェクトには、次の情報が含まれます。    
`statementNameKey`  
このポリシーステートメントの名前。*statementNameKey* を、このポリシーステートメントを識別するのに役立つ名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`operations`  
このポリシーのリソースに許可する操作のリスト。  
以下のすべての操作を含めることができます。  
+ `mqtt:connect` - コアデバイスに接続するアクセス許可を付与します。コアデバイスに接続するには、クライアントデバイスにこのアクセス許可が必要です。

  この操作は、次のリソースをサポートします。
  + `mqtt:clientId:deviceClientId` - クライアントデバイスがコアデバイスの MQTT ブローカーへの接続に使用するクライアント ID に基づいて、アクセスを制限します。*deviceClientId* を使用するクライアント ID に置き換えます。
+ `mqtt:publish` - MQTT メッセージをトピックにパブリッシュする権限を付与します。

  この操作は、次のリソースをサポートします。
  + <a name="client-device-authorization-policy-resource-mqtt-topic"></a>`mqtt:topic:mqttTopic` - クライアントデバイスがメッセージをパブリッシュする MQTT トピックに基づいて、アクセスを制限します。*mqttTopic* を使用するトピックに置き換えます。

    このリソースは MQTT トピックのワイルドカードをサポートしていません。
+ `mqtt:subscribe` - メッセージを受信する MQTT トピックフィルターにサブスクライブする許可を付与します。

  この操作は、次のリソースをサポートします。
  + <a name="client-device-authorization-policy-resource-mqtt-topicfilter"></a>`mqtt:topicfilter:mqttTopicFilter` - クライアントデバイスがメッセージにサブスクライブできる MQTT トピックに基づいて、アクセスを制限します。*mqttTopicFilter* を使用するトピックフィルターに置き換えます。

    このリソースは `+` および `#` MQTT トピックのワイルドカードをサポートしています。詳細については、「*AWS IoT Core デベロッパーガイド*」の「[MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html)」を参照してください。

    クライアントデバイスは、許可を付与したトピックフィルターにのみサブスクライブできます。例えば、クライアントデバイスに `mqtt:topicfilter:client/+/status` リソースへのサブスクライブを許可した場合、クライアントデバイスは `client/+/status` にサブスクライブできますが、`client/client1/status` にはサブスクライブできません。
`*` ワイルドカードを指定すれば、すべてのアクションへのアクセスを許可することができます。  
`resources`  
このポリシーでの操作を許可するリソースのリスト。このポリシーでの操作に対応するリソースを指定します。例えば、`mqtt:publish` 操作を指定するポリシーで、MQTT トピックリソース (`mqtt:topic:mqttTopic`) のリストを指定することができます。  
`*` ワイルドカードを指定すれば、すべてのリソースへのアクセスを許可することができます。`*` ワイルドカードを使用して、部分的なリソース識別子と一致させることはできません。例えば、**"resources": "\$1"** と指定することはできますが、**"resources": "mqtt:clientId:\$1"** と指定することはできません。  
`statementDescription`  
(オプション) このポリシーステートメントの説明。

**Example 例: 設定マージの更新 (制限ポリシーを使用)**  <a name="client-device-auth-component-configuration-example-restrictive"></a>
次の設定例では、名前が `MyClientDevice` で始まるクライアントデバイスに対して、すべてのトピックの接続とパブリッシュ/サブスクライブを許可するように指定しています。  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyDeviceGroup": {
        "selectionRule": "thingName: MyClientDevice*",
        "policyName": "MyRestrictivePolicy"
      }
    },
    "policies": {
      "MyRestrictivePolicy": {
        "AllowConnect": {
          "statementDescription": "Allow client devices to connect.",
          "operations": [
            "mqtt:connect"
          ],
          "resources": [
            "*"
          ]
        },
        "AllowPublish": {
          "statementDescription": "Allow client devices to publish on test/topic.",
          "operations": [
            "mqtt:publish"
          ],
          "resources": [
            "mqtt:topic:test/topic"
          ]
        },
        "AllowSubscribe": {
          "statementDescription": "Allow client devices to subscribe to test/topic/response.",
          "operations": [
            "mqtt:subscribe"
          ],
          "resources": [
            "mqtt:topicfilter:test/topic/response"
          ]
        }
      }
    }
  }
}
```

**Example 例: 設定マージの更新 (許容ポリシーを使用)**  <a name="client-device-auth-component-configuration-example-permissive"></a>
次の設定例では、すべてのクライアントデバイスに対して、すべてのトピックに接続しパブリッシュ/サブスクライブすることを許可しています。  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyPermissiveDeviceGroup": {
        "selectionRule": "thingName: *",
        "policyName": "MyPermissivePolicy"
      }
    },
    "policies": {
      "MyPermissivePolicy": {
        "AllowAll": {
          "statementDescription": "Allow client devices to perform all actions.",
          "operations": [
            "*"
          ],
          "resources": [
            "*"
          ]
        }
      }
    }
  }
}
```

------

## ローカルログファイル
<a name="client-device-auth-component-log-file"></a>

このコンポーネントは、[Greengrass nucleus](greengrass-nucleus-component.md) コンポーネントと同じログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="client-device-auth-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.5.5  |  Greengrass nucleus バージョン 2.16.0 リリース用にバージョンが更新されました。  | 
|  2.5.4  | Greengrass nucleus バージョン 2.15.0 リリース用にバージョンが更新されました。 | 
|  2.5.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.5.2  |  Greengrass nucleus バージョン 2.14.0 リリース用にバージョンが更新されました。  | 
|  2.5.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.5.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.4.5  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/client-device-auth-component.html) | 
|  2.4.4  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.4.3  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.4.2  |  <a name="changelog-client-device-auth-2.4.2"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.4.1  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.4.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.3.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.3.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.3.0  |   このバージョンは現在利用できません。このバージョンの改善は、このコンポーネントのそれ以降のバージョンで利用できます。  新機能 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.2.3  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.2.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.2.1  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。 | 
|  2.2.0  |  <a name="changelog-client-device-auth-2.2.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.0.4  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  2.0.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.0.2  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.0.1  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.0.0  |  当初のバージョン  | 

# CloudWatch メトリクス
<a name="cloudwatch-metrics-component"></a>

Amazon CloudWatch メトリクスコンポーネント (`aws.greengrass.Cloudwatch`) は、Greengrass コアデバイスからのカスタムメトリクスを Amazon CloudWatch にパブリッシュします。このコンポーネントを使用すると、コンポーネントが CloudWatch メトリクスをパブリッシュできるようになり、ユーザーはこれを使用して Greengrass コアデバイスの環境を監視したり分析したりできるようになります。詳細については、「Amazon CloudWatch ユーザーガイド」の「[Amazon CloudWatch メトリクスの使用](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/working_with_metrics.html)」を参照してください。

このコンポーネントで CloudWatch メトリクスをパブリッシュするには、このコンポーネントがサブスクライブするトピックにメッセージをパブリッシュします。デフォルトでは、このコンポーネントは `cloudwatch/metric/put` [ローカルパブリッシュ/サブスクライブ](ipc-publish-subscribe.md)トピックにサブスクライブします。このコンポーネントをデプロイするときに、 AWS IoT Core MQTT トピックを含む他のトピックを指定できます。

このコンポーネントは、同じ名前空間にあるメトリクスをバッチにまとめて、定期的に CloudWatch にパブリッシュします。

**注記**  
このコンポーネントは、 AWS IoT Greengrass V1 の CloudWatch メトリクスコネクタと同様の機能を提供します。詳細については、「AWS IoT Greengrass V1 デベロッパーガイド」の「[CloudWatch メトリクスコネクタ](https://docs.aws.amazon.com/greengrass/latest/developerguide/cloudwatch-metrics-connector.html)」を参照してください。

**Topics**
+ [バージョン](#cloudwatch-metrics-component-versions)
+ [タイプ](#cloudwatch-metrics-component-type)
+ [オペレーティングシステム](#cloudwatch-metrics-component-os-support)
+ [要件](#cloudwatch-metrics-component-requirements)
+ [依存関係](#cloudwatch-metrics-component-dependencies)
+ [設定](#cloudwatch-metrics-component-configuration)
+ [入力データ](#cloudwatch-metrics-component-input-data)
+ [出力データ](#cloudwatch-metrics-component-output-data)
+ [ライセンス](#cloudwatch-metrics-component-licenses)
+ [ローカルログファイル](#cloudwatch-metrics-component-log-file)
+ [変更ログ](#cloudwatch-metrics-component-changelog)
+ [関連情報](#cloudwatch-metrics-component-see-also)

## バージョン
<a name="cloudwatch-metrics-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 3.2.x
+ 3.1.x
+ 3.0.x
+ 2.1.x
+ 2.0.x

コンポーネントの各バージョンに対する変更については、「[変更ログ](#cloudwatch-metrics-component-changelog)」を参照してください。

## タイプ
<a name="cloudwatch-metrics-component-type"></a>

------
#### [ v3.x ]

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

------
#### [ v2.x ]

<a name="public-component-type-lambda"></a>この<a name="public-component-type-lambda-phrase"></a>コンポーネントは Lambda コンポーネントです (`aws.greengrass.lambda`)。[Greengrass nucleus](greengrass-nucleus-component.md) は、[Lambda ランチャーコンポーネント](lambda-launcher-component.md)を使用してこのコンポーネントの Lambda 関数を実行します。

------

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="cloudwatch-metrics-component-os-support"></a>

------
#### [ v3.x ]

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Server 

------
#### [ v2.x ]

このコンポーネントは、Linux コアデバイスにのみインストールできます。

------

## 要件
<a name="cloudwatch-metrics-component-requirements"></a>

このコンポーネントには次の要件があります。

------
#### [ 3.x ]
+ <a name="public-component-python3-requirement"></a>[Python](https://www.python.org/) バージョン 3.7 がコアデバイスにインストールされ、PATH 環境変数に追加されています。
+ 次の IAM ポリシーの例で示されているように、[Greengrass デバイスのロール](device-service-role.md)は `cloudwatch:PutMetricData` アクションを許可する必要があります。

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

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "cloudwatch:PutMetricData"
        ],
        "Effect": "Allow",
        "Resource": "*"
      }
    ]
  }
  ```

------

  詳細については、「Amazon CloudWatch ユーザーガイド」の「[Amazon CloudWatch の許可リファレンス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/permissions-reference-cw.html)」を参照してください。

------
#### [ 2.x ]
+ <a name="core-device-lambda-function-requirements"></a>コアデバイスは、Lambda 関数を実行するための要件を満たしている必要があります。コアデバイスが、コンテナ化された Lambda 関数を実行させる場合、そのデバイスは要件を満たす必要があります。詳細については、「[Lambda 関数の要件](setting-up.md#greengrass-v2-lambda-requirements)」を参照してください。
+ <a name="public-component-python3-requirement"></a>[Python](https://www.python.org/) バージョン 3.7 がコアデバイスにインストールされ、PATH 環境変数に追加されています。
+ 次の IAM ポリシーの例で示されているように、[Greengrass デバイスのロール](device-service-role.md)は `cloudwatch:PutMetricData` アクションを許可する必要があります。

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

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "cloudwatch:PutMetricData"
        ],
        "Effect": "Allow",
        "Resource": "*"
      }
    ]
  }
  ```

------

  詳細については、「Amazon CloudWatch ユーザーガイド」の「[Amazon CloudWatch の許可リファレンス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/permissions-reference-cw.html)」を参照してください。
+ <a name="connector-component-legacy-subscription-router-dependency"></a>このコンポーネントから出力データを受信するには、このコンポーネントをデプロイするときに、次の設定更新プログラムを[レガシーサブスクリプションルーターのコンポーネント](legacy-subscription-router-component.md) (`aws.greengrass.LegacySubscriptionRouter`) のためにマージする必要があります。この設定は、このコンポーネントがレスポンスを公開するトピックを指定します。

------
#### [ Legacy subscription router v2.1.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-cloudwatch": {
        "id": "aws-greengrass-cloudwatch",
        "source": "component:aws.greengrass.Cloudwatch",
        "subject": "cloudwatch/metric/put/status",
        "target": "cloud"
      }
    }
  }
  ```

------
#### [ Legacy subscription router v2.0.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-cloudwatch": {
        "id": "aws-greengrass-cloudwatch",
        "source": "arn:aws:lambda:region:aws:function:aws-greengrass-cloudwatch:version",
        "subject": "cloudwatch/metric/put/status",
        "target": "cloud"
      }
    }
  }
  ```<a name="connector-component-legacy-subscription-router-dependency-replace"></a>
  + *region* AWS リージョン を、使用する に置き換えます。
  + *バージョン*を、このコンポーネントが実行する Lambda 関数のバージョンに置き換えます。Lambda 関数のバージョンを確認するには、デプロイするこのコンポーネントのバージョンの recipe を確認する必要があります。[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)で、このコンポーネントの詳細ページを開き、**[Lambda function]** (Lambda 関数) の key-value ペアを見つけます。このキー値のペアには、Lambda 関数の名前とバージョンが含まれます。

**重要**  <a name="connector-component-legacy-subscription-router-dependency-note"></a>
このコンポーネントをデプロイするたびに、レガシーサブスクリプションルーターの Lambda 関数のバージョンを更新する必要があります。これにより、デプロイするコンポーネントバージョンに正しい Lambda 関数のバージョンが使用されることが保証されます。

------

  <a name="connector-component-create-deployments"></a>詳細については、「[デプロイの作成](create-deployments.md)」を参照してください。

------

### エンドポイントおよびポート
<a name="cloudwatch-metrics-component-endpoints"></a>

このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。


| Endpoint | ポート | 必要 | 説明 | 
| --- | --- | --- | --- | 
|  `monitoring.region.amazonaws.com`  | 443 | はい |  CloudWatch メトリクスをアップロードします。  | 

## 依存関係
<a name="cloudwatch-metrics-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#cloudwatch-metrics-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 3.2.0 ]

次の表に、このコンポーネントのバージョン 3.2.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0 | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=0.0.0 | ハード | 

------
#### [ 3.0.0 - 3.1.0 ]

次の表に、このコンポーネントのバージョン 3.0.0 から 3.1.0 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0 | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=0.0.0 | ハード | 

------
#### [ 2.1.4 - 2.1.9 ]

次の表に、このコンポーネントのバージョン 2.1.4 から 2.1.9 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.4 - 2.1.8 ]

次の表に、このコンポーネントのバージョン 2.1.4 および 2.1.8 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.2 - 2.1.3 ]

次の表に、このコンポーネントのバージョン 2.1.2 および 2.1.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.8 - 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.0.8 から 2.1.0 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.7 ]

次の表に、このコンポーネントのバージョン 2.0.7 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.6 ]

次の表に、このコンポーネントのバージョン 2.0.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.5 ]

次の表に、このコンポーネントのバージョン 2.0.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.4 ]

次の表に、このコンポーネントのバージョン 2.0.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.3 ]

次の表に、このコンポーネントのバージョン 2.0.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.3 <2.1.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | >=1.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | >=1.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=1.0.0  | ハード | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 設定
<a name="cloudwatch-metrics-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

------
#### [ v3.x ]

 `PublishInterval`   
(オプション) 特定の名前空間にメトリクスのバッチを発行するまでに待機する最大秒数。メトリクスを受信した時点でメトリクスをパブリッシュするようにコンポーネントを設定するには (バッチ処理なし)、`0` を指定します。  
コンポーネントは、同じ名前空間内でメトリクスを 20 個受信した後、または指定した間隔後に、CloudWatch にパブリッシュされます。  
コンポーネントは、イベントがパブリッシュされる順序を指定しません。
この値の最大値は 900 秒です。  
デフォルト: 10 秒

 `MaxMetricsToRetain`   
(オプション) コンポーネントが新しいメトリクスに置き換わる前にメモリに保存される、すべての名前空間全体でのメトリクスの最大数です。  
この制限はコアデバイスがインターネットに接続していないときに適用され、コンポーネントは後でパブリッシュするためにメトリクスをバッファします。バッファが満杯になると、コンポーネントは最も古いメトリクスを新しいメトリクスに置き換えます。特定の名前空間内のメトリクスは、同じ名前空間内のメトリクスにのみ置き換えられます。  
ホストによるコンポーネント処理が中断された場合、コンポーネントはメトリクスを保存しません。この状況は、例えばデプロイ中やコアデバイスの再起動時に発生する可能性があります。
この値は 2,000 メトリクス以上に指定する必要があります。  
デフォルト: 5,000 メトリクス

`InputTopic`  
(オプション) コンポーネントがメッセージを受信するためにサブスクライブするトピック。`PubSubToIoTCore` の `true` を指定した場合、このトピックで MQTT ワイルドカード (\$1 および \$1) を使用できます。  
デフォルト: `cloudwatch/metric/put`

`OutputTopic`  
(オプション) コンポーネントがステータスレスポンスをパブリッシュする先となるトピック。  
デフォルト: `cloudwatch/metric/put/status`

`PubSubToIoTCore`  
(オプション) AWS IoT Core MQTT トピックにパブリッシュしてサブスクライブするかどうかを定義する文字列値。サポートされている値は`true` および `false` です。  
デフォルト: `false`

`LogLevel`  
(オプション) コンポーネントのログレベル。こちらにレベル順に一覧表示されているログレベルから選択します。  
+ `DEBUG`
+ `INFO`
+ `WARNING`
+ `ERROR`
+ `CRITICAL`
デフォルト: `INFO`

`UseInstaller`  
(オプション) このコンポーネントの SDK 依存関係をインストールするために、このコンポーネントでインストーラスクリプトを使用するかどうかを定義するブール値。  
依存関係のインストールにカスタムスクリプトを使用する場合、またはビルド済みの Linux イメージにランタイムの依存関係を含める場合は、この値を `false` に設定します。このコンポーネントを使用するには、依存関係を含む次のライブラリをインストールし、デフォルトの Greengrass システムユーザーを利用できるようにする必要があります。  
+ [AWS IoT Device SDK v2 for Python](https://github.com/aws/aws-iot-device-sdk-python-v2)
+ [AWS SDK for Python (Boto3)](http://boto.readthedocs.org/en/latest/ref/)
デフォルト: `true`

`PublishRegion`  
(オプション) CloudWatch メトリクスを発行する AWS リージョン 先の 。この値は、コアデバイスのデフォルトのリージョンを上書きします。このパラメータは、クロスリージョンメトリクスにのみ必要です。

`accessControl`  
(オプション) コンポーネントが指定されているトピックにパブリッシュしサブスクライブできるようにする[承認ポリシー](interprocess-communication.md#ipc-authorization-policies)が含まれるオブジェクト。`InputTopic` および `OutputTopic` のカスタム値を指定した場合には、このオブジェクトのリソース値も更新する必要があります。  
デフォルト:   

```
{
  "aws.greengrass.ipc.pubsub": {
    "aws.greengrass.Cloudwatch:pubsub:1": {
      "policyDescription": "Allows access to subscribe to input topics.",
      "operations": [
        "aws.greengrass#SubscribeToTopic"
      ],
      "resources": [
        "cloudwatch/metric/put"
      ]
    },
    "aws.greengrass.Cloudwatch:pubsub:2": {
      "policyDescription": "Allows access to publish to output topics.",
      "operations": [
        "aws.greengrass#PublishToTopic"
      ],
      "resources": [
        "cloudwatch/metric/put/status"
      ]
    }
  },
  "aws.greengrass.ipc.mqttproxy": {
    "aws.greengrass.Cloudwatch:mqttproxy:1": {
      "policyDescription": "Allows access to subscribe to input topics.",
      "operations": [
        "aws.greengrass#SubscribeToIoTCore"
      ],
      "resources": [
        "cloudwatch/metric/put"
      ]
    },
    "aws.greengrass.Cloudwatch:mqttproxy:2": {
      "policyDescription": "Allows access to publish to output topics.",
      "operations": [
        "aws.greengrass#PublishToIoTCore"
      ],
      "resources": [
        "cloudwatch/metric/put/status"
      ]
    }
  }
}
```

**Example 例: 設定マージの更新**  

```
{
  "PublishInterval": 0,
  "PubSubToIoTCore": true
}
```

------
#### [ v2.x ]

**注記**  <a name="connector-component-lambda-parameters"></a>
このコンポーネントのデフォルト設定には、Lambda 関数のパラメータが含まれます。デバイスにこのコンポーネントを設定するには、次のパラメータのみを編集することをお勧めします。

 `lambdaParams`   
このコンポーネントの Lambda 関数のパラメータを含むオブジェクト。このオブジェクトには、次の情報が含まれます。    
 `EnvironmentVariables`   
Lambda 関数のパラメータを含むオブジェクト。このオブジェクトには、次の情報が含まれます。    
 `PUBLISH_INTERVAL`   
(オプション) 特定の名前空間にメトリクスのバッチを発行するまでに待機する最大秒数。メトリクスを受信した時点でメトリクスをパブリッシュするようにコンポーネントを設定するには (バッチ処理なし)、`0` を指定します。  
コンポーネントは、同じ名前空間内でメトリクスを 20 個受信した後、または指定した間隔後に、CloudWatch にパブリッシュされます。  
このコンポーネントは、イベントがパブリッシュされる順序を保証しません。
この値は最大 900 秒になります。  
デフォルト: 10 秒  
 `MAX_METRICS_TO_RETAIN`   
(オプション) コンポーネントが新しいメトリクスに置き換わる前にメモリに保存される、すべての名前空間全体でのメトリクスの最大数です。  
この制限はコアデバイスがインターネットに接続していないときに適用され、コンポーネントは後でパブリッシュするためにメトリクスをバッファします。バッファが満杯になると、コンポーネントは最も古いメトリクスを新しいメトリクスに置き換えます。特定の名前空間内のメトリクスは、同じ名前空間内のメトリクスにのみ置き換えられます。  
ホストによるコンポーネント処理が中断された場合、コンポーネントはメトリクスを保存しません。この状況は、例えばデプロイ中やコアデバイスの再起動時に発生する可能性があります。
この値は 2,000 メトリクス以上に指定する必要があります。  
デフォルト: 5,000 メトリクス  
 `PUBLISH_REGION`   
(オプション) CloudWatch メトリクスを発行する AWS リージョン 先の 。この値は、コアデバイスのデフォルトのリージョンを上書きします。このパラメータは、クロスリージョンメトリクスにのみ必要です。

`containerMode`  <a name="connector-component-container-mode-parameter"></a>
(オプション) このコンポーネントのコンテナ化モード。次のオプションから選択します。  <a name="lambda-function-component-container-mode-parameter"></a>
+ `NoContainer` - コンポーネントは、分離されたランタイム環境では実行されません。
+ `GreengrassContainer` – コンポーネントは、 AWS IoT Greengrass コンテナ内の分離されたランタイム環境で実行されます。
デフォルト: `GreengrassContainer`

 `containerParams`   
<a name="connector-component-container-params-description"></a>(オプション) このコンポーネントのコンテナパラメータを含むオブジェクト。`containerMode` の `GreengrassContainer` を指定した場合、コンポーネントはこれらのパラメータを使用します。  
このオブジェクトには、次の情報が含まれます。    
 `memorySize`   
<a name="connector-component-container-params-memory-size-description"></a>(オプション) コンポーネントに割り当てるメモリ量 (KB 単位)。  
デフォルトは 64 MB (65,535 KB) です。

`pubsubTopics`  <a name="connector-component-pubsub-topics-parameter"></a>
(オプション) コンポーネントがメッセージを受信するためにサブスクライブするトピックを含むオブジェクト。各トピックと、コンポーネントが から MQTT トピックをサブスクライブするか、ローカルのパブリッシュ/サブスクライブトピックをサブスクライブ AWS IoT Core するかを指定できます。  
このオブジェクトには、次の情報が含まれます。    
`0` - これは文字列としての配列インデックスです。  
次の情報が含まれるオブジェクト。    
`type`  
(オプション) このコンポーネントがメッセージをサブスクライブするために使用するパブリッシュ/サブスクライブメッセージングのタイプ。次のオプションから選択します。  
+ `PUB_SUB` - ローカルのパブリッシュ/サブスクライブメッセージをサブスクライブします。このオプションを選択した場合、トピックに MQTT ワイルドカードを含めることはできません。このオプションを指定したときに、カスタムコンポーネントからメッセージを送信する方法の詳細については、「[ローカルメッセージをパブリッシュ/サブスクライブする](ipc-publish-subscribe.md)」を参照してください。
+ `IOT_CORE` – AWS IoT Core MQTT メッセージをサブスクライブします。このオプションを選択した場合、トピックに MQTT ワイルドカードを含めることができます。このオプションを指定したときに、カスタムコンポーネントからメッセージを送信する方法の詳細については、「[AWS IoT Core MQTT メッセージを発行/サブスクライブする](ipc-iot-core-mqtt.md)」を参照してください。
デフォルト: `PUB_SUB`  
`topic`  
(オプション) コンポーネントがメッセージを受信するためにサブスクライブするトピック。`type` の `IotCore` を指定した場合、このトピックで MQTT ワイルドカード (`+` および `#`) を使用できます。

**Example 例: 設定マージの更新 (コンテナモード)**  

```
{
  "containerMode": "GreengrassContainer"
}
```

**Example 例: 設定マージの更新 (コンテナモードなし)**  

```
{
  "containerMode": "NoContainer"
}
```

------

## 入力データ
<a name="cloudwatch-metrics-component-input-data"></a>

このコンポーネントは、次のトピックに関するメトリクスを受け取り、メトリクスを CloudWatch にパブリッシュします。<a name="connector-component-local-publish"></a>デフォルトで、このコンポーネントはローカルのパブリッシュ/サブスクライブメッセージにサブスクライブします。カスタムコンポーネントからこのコンポーネントにメッセージをパブリッシュする方法の詳細については、「[ローカルメッセージをパブリッシュ/サブスクライブする](ipc-publish-subscribe.md)」を参照してください。

コンポーネントバージョン v3.0.0 以降では、オプションで `PubSubToIoTCore` 設定パラメータを `true` に設定することで、MQTT トピックをサブスクライブするようにこのコンポーネントを設定することができます。カスタムコンポーネントで MQTT トピックにメッセージをパブリッシュする方法の詳細については、「[AWS IoT Core MQTT メッセージを発行/サブスクライブする](ipc-iot-core-mqtt.md)」を参照してください。

 **既定のトピック:** `cloudwatch/metric/put` 

<a name="connector-component-input-properties"></a>メッセージは、次のプロパティを受付けます。入力メッセージは JSON 形式である必要があります。

 `request`   
このメッセージのメトリクス。  
リクエストオブジェクトには、CloudWatch にパブリッシュするメトリクスデータが含まれています。メトリクス値は、 [https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html) 動作の仕様を満たしている必要があります。  
タイプ: 次の情報が含まれる `object`。    
 `namespace`   
このリクエスト内のメトリクスデータのユーザー定義による名前空間。CloudWatch はメトリクスデータポイントのコンテナとして名前空間を使用します。  
予約済みの文字列 `AWS/` で始まる名前空間を指定することはできません。
型: `string`  
有効なパターン: `[^:].*`  
 `metricData`   
メトリクスのデータ。  
タイプ: 次の情報が含まれる `object`。    
 `metricName`   
メトリクスの名前。  
型: `string`  
 `value`   
メトリクスの値。  
CloudWatch は小さすぎる値または大きすぎる値を拒否します。この値は、`8.515920e-109` から `1.174271e+108` (ベース 10) または `2e-360` から `2e360` (ベース 2) の間の値である必要があります。CloudWatch は、`NaN`、`+Infinity`、および `-Infinity` などの特殊な値をサポートしていません。
型: `double`  
 `dimensions`   
(オプション) メトリクスのディメンション。ディメンションは、メトリクスとそのデータに関する追加情報を提供します。1 つのメトリクスでは、最大 10 個のディメンションを定義できます。  
このコネクタには `coreName` という名前のディメンションが自動的に含まれ、そのコアデバイスの名前を値に持ちます。  
タイプ: `array` のオブジェクトであり、各々に次の情報が含まれます。    
 `name`   
(オプション) ディメンション名。  
型: `string`  
 `value`   
(オプション) ディメンション値。  
型: `string`  
 `timestamp`   
(オプション) データが受信された時間。UNIX エポック時間で秒単位で表されます。  
デフォルトは、コンポーネントがメッセージを受信した時間です。  
型: `double`  
このコンポーネントのバージョン 2.0.3～2.0.7 を使用する場合は、1 つのソースから複数のメトリクスを送信するときに、メトリクスごとに個別にタイムスタンプを取得することをお勧めします。タイムスタンプを保存するのに変数を使用してしないでください。  
 `unit`   
(オプション) メトリクスの単位。  
型: `string`  
有効な値: `Seconds`、`Microseconds`、`Milliseconds`、`Bytes`、`Kilobytes`、`Megabytes`、`Gigabytes`、`Terabytes`、`Bits`、`Kilobits`、`Megabits`、`Gigabits`、`Terabits`、`Percent`、`Count`、`Bytes/Second`、`Kilobytes/Second`、`Megabytes/Second`、`Gigabytes/Second`、`Terabytes/Second`、`Bits/Second`、`Kilobits/Second`、`Megabits/Second`、`Gigabits/Second`、`Terabits/Second`、`Count/Second`、`None`  
デフォルトは `None` です。

**注記**  
CloudWatch `PutMetricData` API に適用されるすべての制限は、このコンポーネントでパブリッシュするメトリクススにも適用されます。以下の制限は特に重要です。  
API ペイロードに適用される 40 KB の制限
API リクエストごとに 20 個のメトリクス
`PutMetricData` API の 150 トランザクション/秒 (TPS)
詳細については、「*CloudWatch ユーザーガイド*」の「[CloudWatch サービスクォータ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html)」を参照してください。

**Example 入力例**  

```
{
  "request": {
    "namespace": "Greengrass",
    "metricData": {
      "metricName": "latency",
      "dimensions": [
        {
          "name": "hostname",
          "value": "test_hostname"
        }
      ],
      "timestamp": 1539027324,
      "value": 123.0,
      "unit": "Seconds"
    }
  }
}
```

## 出力データ
<a name="cloudwatch-metrics-component-output-data"></a>

 <a name="connector-component-output-data-pubsub"></a>このコンポーネントは、デフォルトで次のローカルパブリッシュ/サブスクライブトピックに出力データとしてレスポンスをパブリッシュします。カスタムコンポーネントでこのトピックに関するメッセージへサブスクライブする方法の詳細については、「[ローカルメッセージをパブリッシュ/サブスクライブする](ipc-publish-subscribe.md)」を参照してください。

オプションで、`PubSubToIoTCore` 設定パラメータを `true` に設定することで。このコンポーネントが MQTT トピックにパブリッシュするように設定することができます。カスタムコンポーネントで MQTT トピックのメッセージにサブスクライブする方法の詳細については、「[AWS IoT Core MQTT メッセージを発行/サブスクライブする](ipc-iot-core-mqtt.md)」を参照してください。

**注記**  
コンポーネントバージョン 2.0.x では、デフォルトでレスポンスが MQTT トピックに出力データとしてパブリッシュされます。このトピックは、[レガシーサブスクリプションルーターコンポーネント](legacy-subscription-router-component.md)の設定で `subject` として指定する必要があります。

 **既定のトピック:** `cloudwatch/metric/put/status` 

**Example 出力例: 成功**  
レスポンスには、メトリクスデータの名前空間と CloudWatch レスポンスの `RequestId` フィールドが含まれています。  

```
{
  "response": {
    "cloudwatch_rid": "70573243-d723-11e8-b095-75ff2EXAMPLE",
    "namespace": "Greengrass",
    "status": "success"
  }
}
```

**Example 出力例: 失敗**  

```
{
  "response" : {
    "namespace": "Greengrass",
    "error": "InvalidInputException",
    "error_message": "cw metric is invalid",
    "status": "fail"
  }
}
```

**注記**  <a name="connector-component-retryable-error"></a>
コンポーネントが、接続エラーなどの再試行可能なエラーを検出した場合、次のバッチでパブリッシュを再試行します。

## ライセンス
<a name="cloudwatch-metrics-component-licenses"></a>

このコンポーネントには、次のサードパーティーソフトウェア/ライセンス品が含まれています。<a name="boto-3-licenses"></a>
+ [AWS SDK for Python (Boto3)](https://pypi.org/project/boto3/)/Apache License 2.0
+ [botocore](https://pypi.org/project/botocore/)/Apache License 2.0
+ [dateutil](https://pypi.org/project/python-dateutil/1.4/)/PSF ライセンス
+ [docutils](https://pypi.org/project/docutils/)/BSD ライセンス、GNU 一般パブリックライセンス (GPL)、Python Software Foundation ライセンス、パブリックドメイン
+ [jmespath](https://pypi.org/project/jmespath/)/MIT ライセンス
+ [s3transfer](https://pypi.org/project/s3transfer/)/Apache License 2.0
+ [urllib3](https://pypi.org/project/urllib3/)/MIT ライセンス

<a name="component-core-software-license"></a>このコンポーネントは、[Greengrass Core ソフトウェアライセンス契約](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)に従ってリリースされています。

## ローカルログファイル
<a name="cloudwatch-metrics-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.Cloudwatch.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.Cloudwatch.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.Cloudwatch.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.Cloudwatch.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="cloudwatch-metrics-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。

------
#### [ v3.x ]


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  3.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/cloudwatch-metrics-component.html)  | 
|  3.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/cloudwatch-metrics-component.html)  | 
|  3.0.0  |  <a name="changelog-cloudwatch-metrics-3.0.0-major-version-changes"></a>このバージョンの CloudWatch メトリクスコンポーネントでは、バージョン 2.x 以外の設定パラメータが必要です。バージョン 2.x でデフォルト以外の設定を使用し、v2.x から v3.x にアップグレードする場合は、コンポーネントの設定を更新する必要があります。詳細については、「[CloudWatch メトリクスのコンポーネント設定](#cloudwatch-metrics-component-configuration)」を参照してください。 <a name="changelog-cloudwatch-metrics-3.0.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/cloudwatch-metrics-component.html)  | 

------
#### [ v2.x ]


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.1.8  |  Greengrass nucleus バージョン 2.13.0 のリリース用にバージョンが更新されました。  | 
|  2.1.3  |  Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。  | 
|  2.1.2  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.1.1  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/cloudwatch-metrics-component.html)  | 
|  2.0.8  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/cloudwatch-metrics-component.html)  | 
|  2.0.7  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.0.6  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.0.5  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.0.4  |  Greengrass nucleus バージョン 2.1.0 のリリース用にバージョンが更新されました。  | 
|  2.0.3  |  当初のバージョン  | 

------

## 関連情報
<a name="cloudwatch-metrics-component-see-also"></a>
+ *Amazon CloudWatch ユーザーガイド*の [Amazon CloudWatch メトリクスの使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)
+ 「*Amazon CloudWatch API リファレンス*」の「[PutMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html)」

# AWS IoT Device Defender
<a name="device-defender-component"></a>

 AWS IoT Device Defender コンポーネント (`aws.greengrass.DeviceDefender`) は、Greengrass コアデバイスの状態の変化を管理者に通知します。これは、侵害されたデバイスを示す可能性のある異常な動作を特定するのに役立ちます。詳細については、「*AWS IoT Core デベロッパーガイド*」の 「[AWS IoT Device Defender](https://docs.aws.amazon.com/iot/latest/developerguide/device-defender.html)」を参照してください。

このコンポーネントは、コアデバイスのシステムメトリクスを読み込みます。その後、そのメトリクスを AWS IoT Device Defenderにパブリッシュします。このコンポーネントが報告するメトリクスを読み取り、解釈する方法の詳細については、「AWS IoT Core デベロッパーガイド」の「[デバイスメトリクスドキュメントの仕様](https://docs.aws.amazon.com/iot/latest/developerguide/detect-device-side-metrics.html#DetectMetricsMessagesSpec)」を参照してください。

**注記**  
このコンポーネントは、 の Device Defender コネクタと同様の機能を提供します AWS IoT Greengrass V1。詳細については、「AWS IoT Greengrass V1 デベロッパーガイド」の「[Device Defender コネクタ](https://docs.aws.amazon.com/greengrass/latest/developerguide/device-defender-connector.html)」を参照してください。

**Topics**
+ [バージョン](#device-defender-component-versions)
+ [タイプ](#device-defender-component-type)
+ [オペレーティングシステム](#device-defender-component-os-support)
+ [要件](#device-defender-component-requirements)
+ [依存関係](#device-defender-component-dependencies)
+ [構成](#device-defender-component-configuration)
+ [入力データ](#device-defender-component-input-data)
+ [出力データ](#device-defender-component-output-data)
+ [ローカルログファイル](#device-defender-component-log-file)
+ [ライセンス](#device-defender-component-licenses)
+ [変更ログ](#device-defender-component-changelog)

## バージョン
<a name="device-defender-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 3.1.x
+ 3.0.x
+ 2.0.x

コンポーネントの各バージョンに対する変更については、「[変更ログ](#device-defender-component-changelog)」を参照してください。

## タイプ
<a name="device-defender-component-type"></a>

------
#### [ v3.x ]

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

------
#### [ v2.x ]

<a name="public-component-type-lambda"></a>この<a name="public-component-type-lambda-phrase"></a>コンポーネントは Lambda コンポーネントです (`aws.greengrass.lambda`)。[Greengrass nucleus](greengrass-nucleus-component.md) は、[Lambda ランチャーコンポーネント](lambda-launcher-component.md)を使用してこのコンポーネントの Lambda 関数を実行します。

------

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="device-defender-component-os-support"></a>

------
#### [ v3.x ]

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

------
#### [ v2.x ]

このコンポーネントは、Linux コアデバイスにのみインストールできます。

------

## 要件
<a name="device-defender-component-requirements"></a>

このコンポーネントには次の要件があります。

------
#### [ v3.x ]
+ <a name="public-component-python3-requirement"></a>[Python](https://www.python.org/) バージョン 3.7 がコアデバイスにインストールされ、PATH 環境変数に追加されています。
+ AWS IoT Device Defender Detect 機能を使用して違反をモニタリングするように設定されています。詳細については、「AWS IoT Core デベロッパーガイド」の「[検出](https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-detect.html)」を参照してください。

------
#### [ v2.x ]
+ <a name="core-device-lambda-function-requirements"></a>コアデバイスは、Lambda 関数を実行するための要件を満たしている必要があります。コアデバイスが、コンテナ化された Lambda 関数を実行させる場合、そのデバイスは要件を満たす必要があります。詳細については、「[Lambda 関数の要件](setting-up.md#greengrass-v2-lambda-requirements)」を参照してください。
+ <a name="public-component-python3-requirement"></a>[Python](https://www.python.org/) バージョン 3.7 がコアデバイスにインストールされ、PATH 環境変数に追加されています。
+ AWS IoT Device Defender Detect 機能を使用して違反をモニタリングするように設定されています。詳細については、「AWS IoT Core デベロッパーガイド」の「[検出](https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-detect.html)」を参照してください。
+ コアデバイスにインストールされた [psutil](https://pypi.org/project/psutil/) ライブラリ。このコンポーネントの動作が確認された最新のバージョンはバージョン 5.7.0 です。
+ コアデバイスにインストールされた [cbor](https://pypi.org/project/cbor/) ライブラリ。このコンポーネントの動作が確認された最新のバージョンはバージョン 1.0.0 です。
+ <a name="connector-component-legacy-subscription-router-dependency"></a>このコンポーネントから出力データを受信するには、このコンポーネントをデプロイするときに、次の設定更新プログラムを[レガシーサブスクリプションルーターのコンポーネント](legacy-subscription-router-component.md) (`aws.greengrass.LegacySubscriptionRouter`) のためにマージする必要があります。この設定は、このコンポーネントがレスポンスを公開するトピックを指定します。

------
#### [ Legacy subscription router v2.1.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-device-defender": {
        "id": "aws-greengrass-device-defender",
        "source": "component:aws.greengrass.DeviceDefender",
        "subject": "$aws/things/+/defender/metrics/json",
        "target": "cloud"
      }
    }
  }
  ```

------
#### [ Legacy subscription router v2.0.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-device-defender": {
        "id": "aws-greengrass-device-defender",
        "source": "arn:aws:lambda:region:aws:function:aws-greengrass-device-defender:version",
        "subject": "$aws/things/+/defender/metrics/json",
        "target": "cloud"
      }
    }
  }
  ```<a name="connector-component-legacy-subscription-router-dependency-replace"></a>
  + *region* AWS リージョン を、使用する に置き換えます。
  + *バージョン*を、このコンポーネントが実行する Lambda 関数のバージョンに置き換えます。Lambda 関数のバージョンを確認するには、デプロイするこのコンポーネントのバージョンの recipe を確認する必要があります。[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)で、このコンポーネントの詳細ページを開き、**[Lambda function]** (Lambda 関数) の key-value ペアを見つけます。このキー値のペアには、Lambda 関数の名前とバージョンが含まれます。

**重要**  <a name="connector-component-legacy-subscription-router-dependency-note"></a>
このコンポーネントをデプロイするたびに、レガシーサブスクリプションルーターの Lambda 関数のバージョンを更新する必要があります。これにより、デプロイするコンポーネントバージョンに正しい Lambda 関数のバージョンが使用されることが保証されます。

------

  <a name="connector-component-create-deployments"></a>詳細については、「[デプロイの作成](create-deployments.md)」を参照してください。

------

## 依存関係
<a name="device-defender-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#device-defender-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 3.1.1 ]

次の表に、このコンポーネントのバージョン 3.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0 | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=0.0.0 | ハード | 

------
#### [ 3.0.0 - 3.0.2 ]

次の表に、このコンポーネントのバージョン 3.0.0 から 3.0.2 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0 | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=0.0.0 | ハード | 

------
#### [ 2.0.12 - 2.0.17 ]

次の表に、このコンポーネントのバージョン 2.0.12 から 2.0.17 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.12 - 2.0.16 ]

次の表に、このコンポーネントのバージョン 2.0.16 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.10 - 2.0.11 ]

次の表に、このコンポーネントのバージョン 2.0.10 および 2.0.11 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.9 ]

次の表に、このコンポーネントのバージョン 2.0.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.8 ]

次の表に、このコンポーネントのバージョン 2.0.8 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.7 ]

次の表に、このコンポーネントのバージョン 2.0.7 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.6 ]

次の表に、このコンポーネントのバージョン 2.0.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.5 ]

次の表に、このコンポーネントのバージョン 2.0.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.4 ]

次の表に、このコンポーネントのバージョン 2.0.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.3 ]

次の表に、このコンポーネントのバージョン 2.0.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.3 <2.1.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | >=1.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | >=1.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=1.0.0  | ハード | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 構成
<a name="device-defender-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

------
#### [ v3.x ]

`PublishRetryCount`  
パブリッシュが再試行される回数。この機能は、バージョン 3.1.1 で使用できます。  
最小値は 0 です。  
最大数は 72 です。  
デフォルト: 5

`SampleIntervalSeconds`  
(オプション) コンポーネントがメトリクスを収集してレポートする各サイクルの間隔 (秒単位)。  
最小値は 300 秒 (5 分) です。  
デフォルト: 300 秒

 `UseInstaller`   
(オプション) このコンポーネントの依存関係をインストールするために、このコンポーネントでインストーラスクリプトを使用するかどうかを定義するブール値。  
依存関係のインストールにカスタムスクリプトを使用する場合、またはビルド済みの Linux イメージにランタイムの依存関係を含める場合は、この値を `false` に設定します。このコンポーネントを使用するには、依存関係を含む次のライブラリをインストールし、デフォルトの Greengrass システムユーザーを利用できるようにする必要があります。  
+ [AWS IoT Device SDK v2 for Python](https://github.com/aws/aws-iot-device-sdk-python-v2)
+ [cbor](https://pypi.org/project/cbor/) ライブラリ。このコンポーネントの動作が確認された最新のバージョンはバージョン 1.0.0 です。
+ [psutil](https://pypi.org/project/psutil/) ライブラリ。このコンポーネントの動作が確認された最新のバージョンはバージョン 5.7.0 です。
HTTPS プロキシを使用するように設定したコアデバイスで、このコンポーネントのバージョン 3.0.0 または 3.0.1 を使用する場合は、この値を `false` に設定する必要があります。インストーラスクリプトは、このコンポーネントのこれらのバージョンでは HTTPS プロキシの背後からの操作をサポートしていません。
デフォルト: `true`

------
#### [ v2.x ]

**注記**  <a name="connector-component-lambda-parameters"></a>
このコンポーネントのデフォルト設定には、Lambda 関数のパラメータが含まれます。デバイスにこのコンポーネントを設定するには、次のパラメータのみを編集することをお勧めします。

`lambdaParams`  
このコンポーネントの Lambda 関数のパラメータを含むオブジェクト。このオブジェクトには、次の情報が含まれます。    
`EnvironmentVariables`  
Lambda 関数のパラメータを含むオブジェクト。このオブジェクトには、次の情報が含まれます。    
`PROCFS_PATH`  
(オプション) `/proc` フォルダへのパス。  
+ コンテナでこのコンポーネントを実行するには、デフォルト値の `/host-proc` を使用します。このコンポーネントは、デフォルトでコンテナ内で実行されます。
+ このコンポーネントをコンテナなしモードで実行するには、このパラメータに `/proc` を指定します。
デフォルト: `/host-proc`。これは、このコンポーネントがコンテナ内に `/proc` フォルダをマウントするためのデフォルトのパスです。  
このコンポーネントは、このフォルダに対して読み取り専用のアクセス許可を有します。  
`SAMPLE_INTERVAL_SECONDS`  
(オプション) コンポーネントがメトリクスを収集してレポートする各サイクルの間隔 (秒単位)。  
最小値は 300 秒 (5 分) です。  
デフォルト: 300 秒

`containerMode`  
(オプション) このコンポーネントのコンテナ化モード。次のオプションから選択します。  
+ `GreengrassContainer` – コンポーネントは、 AWS IoT Greengrass コンテナ内の分離されたランタイム環境で実行されます。
+ `NoContainer` - コンポーネントは、分離されたランタイム環境では実行されません。

  このオプションを指定する場合は、`PROCFS_PATH` 環境変数パラメータに `/proc` を指定する必要があります。
デフォルト: `GreengrassContainer`

`containerParams`  
<a name="connector-component-container-params-description"></a>(オプション) このコンポーネントのコンテナパラメータを含むオブジェクト。`containerMode` の `GreengrassContainer` を指定した場合、コンポーネントはこれらのパラメータを使用します。  
このオブジェクトには、次の情報が含まれます。    
`memorySize`  
<a name="connector-component-container-params-memory-size-description"></a>(オプション) コンポーネントに割り当てるメモリ量 (KB 単位)。  
デフォルトは 50,000 KB です。

`pubsubTopics`  <a name="connector-component-pubsub-topics-parameter"></a>
(オプション) コンポーネントがメッセージを受信するためにサブスクライブするトピックを含むオブジェクト。各トピックと、コンポーネントが から MQTT トピックをサブスクライブするか、ローカルのパブリッシュ/サブスクライブトピックをサブスクライブ AWS IoT Core するかを指定できます。  
このオブジェクトには、次の情報が含まれます。    
`0` - これは文字列としての配列インデックスです。  
次の情報が含まれるオブジェクト。    
`type`  
(オプション) このコンポーネントがメッセージをサブスクライブするために使用するパブリッシュ/サブスクライブメッセージングのタイプ。次のオプションから選択します。  
+ `PUB_SUB` - ローカルのパブリッシュ/サブスクライブメッセージをサブスクライブします。このオプションを選択した場合、トピックに MQTT ワイルドカードを含めることはできません。このオプションを指定したときに、カスタムコンポーネントからメッセージを送信する方法の詳細については、「[ローカルメッセージをパブリッシュ/サブスクライブする](ipc-publish-subscribe.md)」を参照してください。
+ `IOT_CORE` – AWS IoT Core MQTT メッセージをサブスクライブします。このオプションを選択した場合、トピックに MQTT ワイルドカードを含めることができます。このオプションを指定したときに、カスタムコンポーネントからメッセージを送信する方法の詳細については、「[AWS IoT Core MQTT メッセージを発行/サブスクライブする](ipc-iot-core-mqtt.md)」を参照してください。
デフォルト: `PUB_SUB`  
`topic`  
(オプション) コンポーネントがメッセージを受信するためにサブスクライブするトピック。`type` の `IotCore` を指定した場合、このトピックで MQTT ワイルドカード (`+` および `#`) を使用できます。

**Example 例: 設定マージの更新 (コンテナモード)**  

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "PROCFS_PATH": "/host_proc"
    }
  },
  "containerMode": "GreengrassContainer"
}
```

**Example 例: 設定マージの更新 (コンテナモードなし)**  

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "PROCFS_PATH": "/proc"
    }
  },
  "containerMode": "NoContainer"
}
```

------

## 入力データ
<a name="device-defender-component-input-data"></a>

このコンポーネントは、メッセージを入力データとして受け入れません。

## 出力データ
<a name="device-defender-component-output-data"></a>

このコンポーネントは、次の予約済みトピックにセキュリティメトリクスを発行します AWS IoT Device Defender。このコンポーネントは、メトリクスをパブリッシュするときに、*coreDeviceName* をコアデバイスの名前に置き換えます。

**トピック (AWS IoT Core MQTT):** `$aws/things/coreDeviceName/defender/metrics/json`

**Example 出力の例**  

```
{
  "header": {
    "report_id": 1529963534,
    "version": "1.0"
  },
  "metrics": {
    "listening_tcp_ports": {
      "ports": [
        {
          "interface": "eth0",
          "port": 24800
        },
        {
          "interface": "eth0",
          "port": 22
        },
        {
          "interface": "eth0",
          "port": 53
        }
      ],
      "total": 3
    },
    "listening_udp_ports": {
      "ports": [
        {
          "interface": "eth0",
          "port": 5353
        },
        {
          "interface": "eth0",
          "port": 67
        }
      ],
      "total": 2
    },
    "network_stats": {
      "bytes_in": 1157864729406,
      "bytes_out": 1170821865,
      "packets_in": 693092175031,
      "packets_out": 738917180
    },
    "tcp_connections": {
      "established_connections":{
        "connections": [
          {
            "local_interface": "eth0",
            "local_port": 80,
            "remote_addr": "192.168.0.1:8000"
          },
          {
            "local_interface": "eth0",
            "local_port": 80,
            "remote_addr": "192.168.0.1:8000"
          }
        ],
        "total": 2
      }
    }
  }
}
```

このコンポーネントが報告するメトリクスの詳細については、「*AWS IoT Core デベロッパーガイド*」の「[Device metrics document specification](https://docs.aws.amazon.com/iot/latest/developerguide/detect-device-side-metrics.html#DetectMetricsMessagesSpec)」を参照してください。

## ローカルログファイル
<a name="device-defender-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.DeviceDefender.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.DeviceDefender.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.DeviceDefender.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.DeviceDefender.log -Tail 10 -Wait
  ```

------

## ライセンス
<a name="device-defender-component-licenses"></a>

<a name="component-core-software-license"></a>このコンポーネントは、[Greengrass Core ソフトウェアライセンス契約](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)に従ってリリースされています。

## 変更ログ
<a name="device-defender-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。

------
#### [ v3.x ]


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  3.1.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/device-defender-component.html)  | 
|  3.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/device-defender-component.html)  | 
|  3.0.1  |  コンポーネントがメトリクスのデルタ値を計算する方法で生じる問題を修正しました。  | 
|  3.0.0  |   このバージョンは現在利用できません。このバージョンの改善は、このコンポーネントのそれ以降のバージョンで利用できます。  当初のバージョン  | 

------
#### [ v2.x ]


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.0.17  |  Greengrass nucleus バージョン 2.14.0 リリース用にバージョンが更新されました。  | 
|  2.0.16  |  Greengrass nucleus バージョン 2.13.0 のリリース用にバージョンが更新されました。  | 
|  2.0.11  |  Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。  | 
|  2.0.10  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.0.9  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.0.8  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  2.0.7  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.0.6  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.0.5  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.0.4  |  Greengrass nucleus バージョン 2.1.0 のリリース用にバージョンが更新されました。  | 
|  2.0.3  |  当初のバージョン  | 

------

# ディスクスプーラ
<a name="disk-spooler-component"></a>

ディスクスプーラーコンポーネント (`aws.greengrass.DiskSpooler`) は、Greengrass コアデバイスから にスプーリングされたメッセージの永続的ストレージオプションを提供します AWS IoT Core。このコンポーネントは、これらの送信メッセージをディスクに保存します。

**Topics**
+ [バージョン](#disk-spooler-component-versions)
+ [タイプ](#disk-spooler-component-type)
+ [オペレーティングシステム](#disk-spooler-component-os-support)
+ [要件](#disk-spooler-component-requirements)
+ [依存関係](#disk-spooler-component-dependencies)
+ [使用方法](#disk-spooler-component-usage)
+ [ローカルログファイル](#disk-spooler-component-log-file)
+ [変更ログ](#disk-spooler-component-changelog)

## バージョン
<a name="disk-spooler-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 1.0.x

## タイプ
<a name="disk-spooler-component-type"></a>

<a name="public-component-type-plugin-para1"></a>このコンポーネントはプラグインコンポーネント (`aws.greengrass.plugin`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、nucleus と同じ Java バーチャルマシン (JVM) でこのコンポーネントを実行します。コアデバイスでこのコンポーネントのバージョンを変更するとき、nucleus が再起動します。

<a name="public-component-type-plugin-para2"></a>このコンポーネントは、Greengrass nucleus と同じログファイルを使用します。詳細については、「[AWS IoT Greengrass ログのモニタリング](monitor-logs.md)」を参照してください。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="disk-spooler-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 要件
<a name="disk-spooler-component-requirements"></a>

このコンポーネントには次の要件があります。
+ `storageType` を `Disk` に設定してこのコンポーネントを使用する必要があります。これは [[Greengrass nucleus 設定]](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration) で設定できます。
+ `maxSizeInBytes` はデバイス上の空きスペースを超える設定にしないでください。これは [[Greengrass nucleus 設定]](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration) で設定できます。
+ ディスクスプーラーコンポーネントは、VPC で実行できるようにサポートされています。

## 依存関係
<a name="disk-spooler-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#disk-spooler-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 1.0.7 ]

次の表に、このコンポーネントのバージョン 1.0.7 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.11.0 <2.17.0 | ハード | 

------
#### [ 1.0. ]

次の表に、このコンポーネントのバージョン 1.0.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.11.0 <2.16.0 | ハード | 

------
#### [ 1.0.5 ]

次の表に、このコンポーネントのバージョン 1.0.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.11.0 <2.15.0 | ハード | 

------
#### [ 1.0.4 ]

次の表に、このコンポーネントのバージョン 1.0.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.11.0 <2.14.0 | ハード | 

------
#### [ 1.0.1 – 1.0.3 ]

次の表に、このコンポーネントのバージョン 1.0.1 から 1.0.3 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.11.0 <2.13.0 | ハード | 

------
#### [ 1.0.0 ]

次の表に、このコンポーネントのバージョン 1.0.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.11.0 <2.12.0 | ハード | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 使用方法
<a name="disk-spooler-component-usage"></a>

ディスクスプーラコンポーネントを使用するには、`aws.greengrass.DiskSpooler` をデプロイする必要があります。

このコンポーネントを設定して使用するには、`pluginName` を `aws.greengrass.DiskSpooler` に設定する必要があります。

## ローカルログファイル
<a name="disk-spooler-component-log-file"></a>

このコンポーネントは、[Greengrass nucleus](greengrass-nucleus-component.md) コンポーネントと同じログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="disk-spooler-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  1.0.7  |  Greengrass nucleus バージョン 2.16.0 リリース用にバージョンが更新されました。  | 
|  1.0.6  |  Greengrass nucleus バージョン 2.15.0 リリース用にバージョンが更新されました。  | 
|  1.0.5  |  Greengrass nucleus バージョン 2.14.0 リリース用にバージョンが更新されました。  | 
|  1.0.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/disk-spooler-component.html)  | 
|  1.0.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/disk-spooler-component.html)  | 
|  1.0.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/disk-spooler-component.html)  | 
|  1.0.1  |  Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。  | 
|  1.0.0  |  当初のバージョン  | 

# Docker アプリケーションマネージャー
<a name="docker-application-manager-component"></a>

Docker アプリケーションマネージャーコンポーネント (`aws.greengrass.DockerApplicationManager`) を使用すると AWS IoT Greengrass 、 は Amazon Elastic Container Registry (Amazon ECR) でホストされているパブリックイメージレジストリとプライベートレジストリから Docker イメージをダウンロードできます。また AWS IoT Greengrass 、 は認証情報を自動的に管理して、Amazon ECR のプライベートリポジトリからイメージを安全にダウンロードすることもできます。

Docker コンテナを実行するカスタムコンポーネントを開発するときには、Docker アプリケーションマネージャーを依存関係として含めて、コンポーネント内のアーティファクトとして指定された Docker イメージをダウンロードします。詳細については、「[Docker コンテナの実行](run-docker-container.md)」を参照してください。

**Topics**
+ [バージョン](#docker-application-manager-component-versions)
+ [タイプ](#docker-application-manager-component-type)
+ [オペレーティングシステム](#docker-application-manager-component-os-support)
+ [要件](#docker-application-manager-component-requirements)
+ [依存関係](#docker-application-manager-component-dependencies)
+ [設定](#docker-application-manager-component-configuration)
+ [ローカルログファイル](#docker-application-manager-component-log-file)
+ [変更ログ](#docker-application-manager-component-changelog)
+ [関連情報](#docker-application-manager-component-see-also)

## バージョン
<a name="docker-application-manager-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.0.x

## タイプ
<a name="docker-application-manager-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="docker-application-manager-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Server 

## 要件
<a name="docker-application-manager-component-requirements"></a>

このコンポーネントには次の要件があります。
+ <a name="docker-engine-requirement"></a>[Docker Engine](https://docs.docker.com/engine/) 1.9.1 以降が Greengrass コアにインストールされていいること。バージョン 20.10 は、 AWS IoT Greengrass Core ソフトウェアで動作することが検証された最新バージョンです。Docker コンテナを実行するコンポーネントをデプロイする前に、コアデバイスに直接、Docker をインストールしておく必要があります。
+ <a name="docker-daemon-requirement"></a>このコンポーネントをデプロイする前に、Docker デーモンがコアデバイス上で起動し、実行されています。
+ Docker イメージは、次のいずれかのサポートされているイメージソースに格納されています。
  + Amazon Elastic Container Registry (Amazon ECR) のパブリックイメージリポジトリおよびプライベートイメージリポジトリ
  + パブリック Docker Hub リポジトリ
  + パブリック Docker の信頼レジストリ
+ カスタム Docker コンテナコンポーネントにアーティファクトとして含まれる Docker イメージ。次の URI 形式を使用して、Docker イメージを指定します。<a name="docker-image-artifact-uri"></a>
  + プライベート Amazon ECR イメージ: `docker:account-id.dkr.ecr.region.amazonaws.com/repository/image[:tag|@digest]`
  + パブリック Amazon ECR イメージ: `docker:public.ecr.aws/repository/image[:tag|@digest]`
  + パブリック Docker Hub イメージ: `docker:name[:tag|@digest]`

  詳細については、「[Docker コンテナの実行](run-docker-container.md)」を参照してください。
**注記**  
イメージのアーティファクト URI にイメージタグまたはイメージダイジェストを指定しなかった場合、Docker アプリケーションマネージャーがカスタム Docker コンテナコンポーネントをデプロイするときに、そのイメージの最新バージョンを取得します。すべてのコアデバイスで、確実に同じバージョンのイメージが実行されるようにするため、アーティファクト URI にイメージタグまたはイメージダイジェストを含めることをお勧めします。
+ <a name="docker-user-permissions-requirement"></a>Docker コンテナコンポーネントを実行するシステムユーザーには、ルート権限または管理者権限が必要です。権限がない場合は、ルート権限または管理者権限を持たないユーザーとして実行されるように Docker を設定する必要があります。
  + Linux デバイスでは、ユーザーを `docker` グループに追加することで、`sudo` のない `docker` コマンドを呼び出せます。
  + Windows デバイスでは、ユーザーを `docker-users` グループ に追加することで、管理者の権限のない `docker` コマンドを呼び出せます。

------
#### [ Linux or Unix ]

  Docker コンテナコンポーネントの実行に使用する `ggc_user` または非ルートユーザーを `docker` グループに追加するには、次のコマンドを実行します。

  ```
  sudo usermod -aG docker ggc_user
  ```

  詳細については、「[Docker を非ルートユーザーとして管理する](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user)」を参照してください。

------
#### [ Windows Command Prompt (CMD) ]

  Docker コンテナコンポーネントの実行に使用する `ggc_user` またはユーザーを `docker-users` グループに追加するには、次のコマンドを管理者として実行します。

  ```
  net localgroup docker-users ggc_user /add
  ```

------
#### [ Windows PowerShell ]

  Docker コンテナコンポーネントの実行に使用する `ggc_user` またはユーザーを `docker-users` グループに追加するには、次のコマンドを管理者として実行します。

  ```
  Add-LocalGroupMember -Group docker-users -Member ggc_user
  ```

------
+ <a name="docker-proxy-requirement"></a>[ネットワークプロキシを使用するように AWS IoT Greengrass Core ソフトウェアを設定する](configure-greengrass-core-v2.md#configure-alpn-network-proxy)場合は、[同じプロキシサーバーを使用するように Docker を設定](https://docs.docker.com/network/proxy/)する必要があります。
+ Docker イメージが Amazon ECR プライベートレジストリに格納されている場合は、トークン交換サービスコンポーネントを依存関係として Docker コンテナコンポーネントに含める必要があります。また、[Greengrass デバイスのロール](device-service-role.md)は、以下の IAM ポリシー例で示されているように、`ecr:GetAuthorizationToken`、`ecr:BatchGetImage`、`ecr:GetDownloadUrlForLayer` アクションを許可する必要があります。

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

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "ecr:GetAuthorizationToken",
          "ecr:BatchGetImage",
          "ecr:GetDownloadUrlForLayer"
        ],
        "Resource": [
          "*"
        ],
        "Effect": "Allow"
      }
    ]
  }
  ```

------

  ```
  ```
+ docker アプリケーションマネージャーコンポーネントは、VPC での実行がサポートされています。このコンポーネントを VPC にデプロイするには、以下が必要です。
  + docker アプリケーションマネージャーコンポーネントには、イメージをダウンロードするための接続が必要です。例えば、ECR を使用する場合は、次のエンドポイントに接続する必要があります。
    + `*.dkr.ecr.region.amazonaws.com` (VPC エンドポイント `com.amazonaws.region.ecr.dkr`)
    + `api.ecr.region.amazonaws.com` (VPC エンドポイント `com.amazonaws.region.ecr.api`)

### エンドポイントおよびポート
<a name="docker-application-manager-component-endpoints"></a>

このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。


| Endpoint | ポート | 必要 | 説明 | 
| --- | --- | --- | --- | 
|  `ecr.region.amazonaws.com`  | 443 | 不可 |  Amazon ECR から Docker イメージをダウンロードする場合に必要です。  | 
|  `hub.docker.com` `registry.hub.docker.com/v1`  | 443 | 不可 |  Docker Hub から Docker イメージをダウンロードする場合に必要です。  | 

## 依存関係
<a name="docker-application-manager-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#docker-application-manager-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.0.15 ]

次の表に、このコンポーネントのバージョン 2.0.15 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.17.0 | ソフト | 

------
#### [ 2.0.14 ]

次の表に、このコンポーネントのバージョン 2.0.14 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.16.0 | ソフト | 

------
#### [ 2.0.13 ]

次の表に、このコンポーネントのバージョン 2.0.13 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.15.0 | ソフト | 

------
#### [ 2.0.12 ]

次の表に、このコンポーネントのバージョン 2.0.12 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.14.0 | ソフト | 

------
#### [ 2.0.11 ]

次の表に、このコンポーネントのバージョン 2.0.11 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.13.0 | ソフト | 

------
#### [ 2.0.10 ]

次の表に、このコンポーネントのバージョン 2.0.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.12.0 | ソフト | 

------
#### [ 2.0.9 ]

次の表に、このコンポーネントのバージョン 2.0.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.11.0 | ソフト | 

------
#### [ 2.0.8 ]

次の表に、このコンポーネントのバージョン 2.0.8 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.10.0 | ソフト | 

------
#### [ 2.0.7 ]

次の表に、このコンポーネントのバージョン 2.0.7 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.9.0 | ソフト | 

------
#### [ 2.0.6 ]

次の表に、このコンポーネントのバージョン 2.0.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.8.0 | ソフト | 

------
#### [ 2.0.5 ]

次の表に、このコンポーネントのバージョン 2.0.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.7.0 | ソフト | 

------
#### [ 2.0.4 ]

次の表に、このコンポーネントのバージョン 2.0.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.6.0 | ソフト | 

------
#### [ 2.0.3 ]

次の表に、このコンポーネントのバージョン 2.0.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.5.0 | ソフト | 

------
#### [ 2.0.2 ]

次の表に、このコンポーネントのバージョン 2.0.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.4.0 | ソフト | 

------
#### [ 2.0.1 ]

次の表に、このコンポーネントのバージョン 2.0.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.3.0 | ソフト | 

------
#### [ 2.0.0 ]

次の表に、このコンポーネントのバージョン 2.0.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.2.0 | ソフト | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 設定
<a name="docker-application-manager-component-configuration"></a>

このコンポーネントに設定パラメータはありません。

## ローカルログファイル
<a name="docker-application-manager-component-log-file"></a>

このコンポーネントは、[Greengrass nucleus](greengrass-nucleus-component.md) コンポーネントと同じログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="docker-application-manager-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|   **バージョン**   |   **変更**   | 
| --- | --- | 
|  2.0.15  |  Greengrass nucleus バージョン 2.16.0 リリース用にバージョンが更新されました。  | 
|  2.0.14  | Greengrass nucleus バージョン 2.15.0 リリース用にバージョンが更新されました。 | 
|  2.0.13  | Greengrass nucleus バージョン 2.14.0 リリース用にバージョンが更新されました。 | 
|  2.0.12  | Greengrass nucleus バージョン 2.13.0 のリリース用にバージョンが更新されました。 | 
|  2.0.11  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.0.10  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.0.9  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.0.8  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.0.7  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.0.6  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.0.5  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.0.4  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  2.0.3  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.0.2  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.0.1  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.0.0  |  当初のバージョン  | 

## 関連情報
<a name="docker-application-manager-component-see-also"></a>
+  [Docker コンテナの実行](run-docker-container.md) 

# Kinesis Video Streams 向けのエッジコネクタ
<a name="kvs-edge-connector-component"></a>

Kinesis Video Streams コンポーネントのエッジコネクタ (`aws.iot.EdgeConnectorForKVS`) は、ローカルカメラからビデオフィードを読み取り、ストリームを Kinesis Video Streams に発行します。このコンポーネントは、リアルタイムストリーミングプロトコル (RTSP) を使用してインターネットプロトコル (IP) カメラからビデオフィードを読み取るように設定できます。次に、[Amazon Managed Grafana](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html) またはローカルの Grafana サーバーでダッシュボードを設定すると、ビデオストリームの監視とやり取りを行えます。

このコンポーネントを AWS IoT TwinMaker と統合して、Grafana ダッシュボードでビデオストリームを表示および制御できます。 AWS IoT TwinMaker は、物理システムの運用デジタルツインを構築できる AWS サービスです。 AWS IoT TwinMaker を使用すると、センサー、カメラ、エンタープライズアプリケーションのデータを視覚化して、物理的な工場、建物、産業プラントを追跡できます。また、このデータを使用してオペレーションの監視、エラーの診断、エラーの修復を行うことができます。詳細については、「 [AWS IoT TwinMaker ユーザーガイド」の「TwinMaker とは](https://docs.aws.amazon.com/iot-twinmaker/latest/guide/what-is-twinmaker.html)」を参照してください。 *AWS IoT TwinMaker *

このコンポーネントは AWS IoT SiteWise、産業用データをモデル化して保存する AWS サービスである にその設定を保存します。では AWS IoT SiteWise、*アセット*はデバイス、機器、または他のオブジェクトのグループなどのオブジェクトを表します。このコンポーネントを設定して使用するには、Greengrass コアデバイスごと、および各コアデバイスに接続された IP カメラごとに AWS IoT SiteWise アセットを作成します。各アセットにはライブストリーミング、オンデマンドアップロード、ローカルキャッシュなどの機能を制御するために設定を行うプロパティがあります。各カメラの URL を指定するには、カメラの URL が含まれているシークレットを AWS Secrets Manager に作成します。カメラが認証を必要とする場合は、URL にユーザー名とパスワードも指定します。次に、IP カメラのアセットプロパティでそのシークレットを指定します。

このコンポーネントは、各カメラのビデオストリームを Kinesis のビデオストリームにアップロードします。各カメラの AWS IoT SiteWise アセット設定で、送信先 Kinesis ビデオストリームの名前を指定します。Kinesis の ビデオストリームが存在しない場合、このコンポーネントはユーザーのためにそれを作成します。

AWS IoT TwinMaker には、これらの AWS IoT SiteWise アセットと Secrets Manager シークレットを作成するために実行できるスクリプトが用意されています。これらのリソースの作成方法、およびこのコンポーネントのインストール、設定、および使用方法の詳細については、「AWS IoT TwinMaker ユーザーガイド」の「[AWS IoT TwinMaker のビデオ統合](https://docs.aws.amazon.com/iot-twinmaker/latest/guide/video-integration.html)」を参照してください。

**注記**  
Kinesis Video Streams コンポーネントのエッジコネクタは、以下の AWS リージョンでのみ利用できます。  
米国東部 (バージニア北部)
米国西部 (オレゴン)
欧州 (フランクフルト)
欧州 (アイルランド)
アジアパシフィック (シンガポール)
アジアパシフィック (東京)
アジアパシフィック (ソウル)
アジアパシフィック (シドニー)
アジアパシフィック (ムンバイ)
中国 (北京)

**Topics**
+ [バージョン](#kvs-edge-connector-component-versions)
+ [タイプ](#kvs-edge-connector-component-type)
+ [オペレーティングシステム](#kvs-edge-connector-component-os-support)
+ [要件](#kvs-edge-connector-component-requirements)
+ [依存関係](#kvs-edge-connector-component-dependencies)
+ [設定](#kvs-edge-connector-component-configuration)
+ [ライセンス](#kvs-edge-connector-component-licenses)
+ [使用方法](#kvs-edge-connector-component-usage)
+ [ローカルログファイル](#kvs-edge-connector-component-log-file)
+ [変更ログ](#kvs-edge-connector-component-changelog)
+ [関連情報](#kvs-edge-connector-component-see-also)

## バージョン
<a name="kvs-edge-connector-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 1.0.x

## タイプ
<a name="kvs-edge-connector-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="kvs-edge-connector-component-os-support"></a>

このコンポーネントは、Linux コアデバイスにのみインストールできます。

## 要件
<a name="kvs-edge-connector-component-requirements"></a>

このコンポーネントには次の要件があります。
+ コンポーネント設定はコアデバイスごとに一意である必要があるため、このコンポーネントをデプロイできるのはシングルコアデバイスに対してのみです。このコンポーネントをコアデバイスのグループにデプロイすることはできません。
+ コアデバイスに [GStreamer](https://gstreamer.freedesktop.org) 1.18.4 以降がインストールされています。詳細については、「[GStreamer のインストール](https://gstreamer.freedesktop.org/documentation/installing/index.html?gi-language=c)」を参照してください。

  `apt` を使用するデバイスでは、以下のコマンドを実行して GStreamer をインストールできます。

  ```
  sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base-apps
  sudo apt install -y gstreamer1.0-libav
  sudo apt install -y gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools
  ```
+ 各コアデバイスの AWS IoT SiteWise アセット。この AWS IoT SiteWise アセットはコアデバイスを表します。このアセットの作成方法の詳細については、「AWS IoT TwinMaker ユーザーガイド」の「[AWS IoT TwinMaker のビデオ統合](https://docs.aws.amazon.com/iot-twinmaker/latest/guide/video-integration.html)」を参照してください。
+ 各コアデバイスに接続する各 IP カメラ用の AWS IoT SiteWise アセット。これらの AWS IoT SiteWise アセットは、各コアデバイスにビデオをストリーミングするカメラを表します。各カメラのアセットを、カメラに接続するコアデバイスのアセットに関連付ける必要があります。カメラアセットには、Kinesis ビデオストリーム、認証シークレット、およびビデオストリーミングパラメータを指定する設定を行えるプロパティがあります。カメラアセットの作成および設定方法の詳細については、「AWS IoT TwinMaker ユーザーガイド」の「[AWS IoT TwinMaker のビデオ統合](https://docs.aws.amazon.com/iot-twinmaker/latest/guide/video-integration.html)」を参照してください。
+ 各 IP カメラ用のシー AWS Secrets Manager クレット。このシークレットは、キーと値のペアを定義する必要があります。この場合、キーは `RTSPStreamUrl`、値はカメラの URLになります。カメラが認証を必要とする場合は、この URL にユーザー名とパスワードを含めます。このコンポーネントに必要なリソースを作成するとき、スクリプトを使用してシークレットを作成できます。詳細については、「AWS IoT TwinMaker ユーザーガイド」の「[AWS IoT TwinMaker のビデオ統合](https://docs.aws.amazon.com/iot-twinmaker/latest/guide/video-integration.html)」を参照してください。

  Secrets Manager コンソールと API を使用して、追加のシークレットを作成することもできます。詳細については、「AWS Secrets Manager ユーザーガイド」の「[シークレットの作成](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html)」を参照してください。
+ [Greengrass トークン交換ロール](device-service-role.md)では AWS Secrets Manager AWS IoT SiteWise、次の IAM ポリシーの例に示すように、 および Kinesis Video Streams アクションを許可する必要があります。
**注記**  
このポリシーの例は、デバイスが **IPCamera1Url** と **IPCamera2Url** という名前のシークレットの値を取得することを許可します。各 IP カメラを設定するときは、そのカメラの URL を含むシークレットを指定します。カメラが認証を必要とする場合は、URL にユーザー名とパスワードも指定します。コアデバイスのトークン交換ロールは、各 IP カメラが接続するために、シークレットへのアクセスを許可する必要があります。

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

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "secretsmanager:GetSecretValue"
        ],
        "Effect": "Allow",
        "Resource": [
        "arn:aws:secretsmanager:us-east-1:123456789012:secret:IPCamera1Url",
    "arn:aws:secretsmanager:us-east-1:123456789012:secret:IPCamera2Url"
        ]
      },
      {
        "Action": [
          "iotsitewise:BatchPutAssetPropertyValue",
          "iotsitewise:DescribeAsset",
          "iotsitewise:DescribeAssetModel",
          "iotsitewise:DescribeAssetProperty",
          "iotsitewise:GetAssetPropertyValue",
          "iotsitewise:ListAssetRelationships",
          "iotsitewise:ListAssets",
          "iotsitewise:ListAssociatedAssets",
          "kinesisvideo:CreateStream",
          "kinesisvideo:DescribeStream",
          "kinesisvideo:GetDataEndpoint",
          "kinesisvideo:PutMedia",
          "kinesisvideo:TagStream"
        ],
        "Effect": "Allow",
        "Resource": [
          "*"
        ]
      }
    ]
  }
  ```

------
**注記**  
カスタマーマネージド AWS Key Management Service キーを使用してシークレットを暗号化する場合、デバイスロールは `kms:Decrypt`アクションも許可する必要があります。

### エンドポイントおよびポート
<a name="kvs-edge-connector-component-endpoints"></a>

このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。


| Endpoint | ポート | 必要 | 説明 | 
| --- | --- | --- | --- | 
|  `kinesisvideo.region.amazonaws.com`  | 443 | はい |  Kinesis Video Streams にデータをアップロードします。  | 
|  `data.iotsitewise.region.amazonaws.com`  | 443 | はい |  ビデオストリームのメタデータを AWS IoT SiteWiseに発行します。  | 
|  `secretsmanager.region.amazonaws.com`  | 443 | はい |  コアデバイスにカメラ URL シークレットをダウンロードします。  | 

## 依存関係
<a name="kvs-edge-connector-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#kvs-edge-connector-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

次の表に、このコンポーネントのバージョン 1.0.0 から 1.0.5 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [トークン交換サービス](token-exchange-service-component.md) | >=2.0.3 | ハード | 
| [ストリームマネージャー](stream-manager-component.md) | >=2.0.9 | ハード | 

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 設定
<a name="kvs-edge-connector-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

`SiteWiseAssetIdForHub`  
このコアデバイスを表す AWS IoT SiteWise アセットの ID。このアセットを作成して、このコンポーネントとのやり取りに使用する方法の詳細については、「*AWS IoT TwinMaker ユーザーガイド*」の「[AWS IoT TwinMaker video integration](https://docs.aws.amazon.com/iot-twinmaker/latest/guide/video-integration.html)」を参照してください。

**Example 例: 設定マージの更新**  

```
{
  "SiteWiseAssetIdForHub": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
}
```

## ライセンス
<a name="kvs-edge-connector-component-licenses"></a>

このコンポーネントには、次のサードパーティーソフトウェア/ライセンス品が含まれています。
+ [Quartz Job Scheduler](http://www.quartz-scheduler.org/) / Apache License 2.0
+ [Java bindings for GStreamer 1.x](https://github.com/gstreamer-java/gst1-java-core) / GNU Lesser General Public License v3.0

## 使用方法
<a name="kvs-edge-connector-component-usage"></a>

このコンポーネントを設定して操作するには、コアデバイスと接続する IP カメラを表す AWS IoT SiteWise アセットにプロパティを設定できます。また、 AWS IoT TwinMaker を介して Grafana ダッシュボードのビデオストリームを視覚化して操作することもできます。詳細については、「*AWS IoT TwinMaker ユーザーガイド*」の「[AWS IoT TwinMaker video integration](https://docs.aws.amazon.com/iot-twinmaker/latest/guide/video-integration.html)」を参照してください。

## ローカルログファイル
<a name="kvs-edge-connector-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

```
/greengrass/v2/logs/aws.iot.EdgeConnectorForKVS.log
```

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。を AWS IoT Greengrass ルートフォルダへのパス`/greengrass/v2`に置き換えます。

  ```
  sudo tail -f /greengrass/v2/logs/aws.iot.EdgeConnectorForKVS.log
  ```

## 変更ログ
<a name="kvs-edge-connector-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  1.0.5  |  一般的なバグ修正と機能強化。  | 
|  1.0.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/kvs-edge-connector-component.html)  | 
|  1.0.3  |  一般的なバグ修正と機能強化。  | 
|  1.0.1  |  一般的なバグ修正と機能強化。  | 
|  1.0.0  |  当初のバージョン  | 

## 関連情報
<a name="kvs-edge-connector-component-see-also"></a>
+ [AWS IoT TwinMaker ユーザーガイドの「TwinMaker とは](https://docs.aws.amazon.com/iot-twinmaker/latest/guide/what-is-twinmaker.html)*AWS IoT TwinMaker*」
+ [AWS IoT TwinMaker ユーザーガイドの TwinMaker ビデオ統合](https://docs.aws.amazon.com/iot-twinmaker/latest/guide/video-integration.html) *AWS IoT TwinMaker *
+ *AWS IoT SiteWise ユーザーガイド*の[「 AWS IoT SiteWiseとは](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/what-is-sitewise.html)」
+ 「*AWS IoT SiteWise ユーザーガイド*」の「[Updating attribute values](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-attribute-values.html)」
+ 「 AWS Secrets Managerユーザーガイド」の「[AWS Secrets Manager とは](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)」
+ 「*AWS Secrets Manager ユーザーガイド*」の「[Create and manage secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html)」

# Greengrass CLI
<a name="greengrass-cli-component"></a>

Greengrass CLI コンポーネント (`aws.greengrass.Cli`) は、コアデバイス上でコンポーネントをローカルで開発およびデバッグするために使用できるローカルコマンドラインインターフェイスを提供します。Greengrass CLI を使用すると、たとえば、ローカルデプロイを作成し、コアデバイスでコンポーネントを再起動できます。

 AWS IoT Greengrass Core ソフトウェアをインストールするときに、このコンポーネントをインストールできます。詳細については、「[チュートリアル: AWS IoT Greengrass V2 の開始方法](getting-started.md)」を参照してください。

**重要**  
 <a name="local-dev-tools-production-environment-warning"></a>このコンポーネントは、本番環境ではなく、開発環境でのみで使用することをお勧めします。このコンポーネントは、通常、本番環境では必要とされない情報や操作へのアクセスを提供します。このコンポーネントを必要なコアデバイスにのみデプロイして、最小特権の原則に従います。

このコンポーネントをインストールしたら、以下のコマンドを実行してヘルプドキュメントを表示します。このコンポーネントがインストールされると、`/greengrass/v2/bin` フォルダに `greengrass-cli` へのシンボリックリンクが追加されます。このパスから Greengrass CLI を実行するか、絶対パスなしで `greengrass-cli` を実行する `PATH` 環境変数に追加することができます。

------
#### [ Linux or Unix ]

```
/greengrass/v2/bin/greengrass-cli help
```

------
#### [ Windows ]

```
C:\greengrass\v2\bin\greengrass-cli help
```

------

次のコマンドを使用すると、たとえば `com.example.HelloWorld` という名前のコンポーネントが再起動されます。

------
#### [ Linux or Unix ]

```
sudo /greengrass/v2/bin/greengrass-cli component restart --names "com.example.HelloWorld"
```

------
#### [ Windows ]

```
C:\greengrass\v2\bin\greengrass-cli component restart --names "com.example.HelloWorld"
```

------

詳細については、「[Greengrass コマンドラインインターフェイス](gg-cli.md)」を参照してください。

**Topics**
+ [バージョン](#greengrass-cli-component-versions)
+ [タイプ](#greengrass-cli-component-type)
+ [オペレーティングシステム](#greengrass-cli-component-os-support)
+ [要件](#greengrass-cli-component-requirements)
+ [依存関係](#greengrass-cli-component-dependencies)
+ [設定](#greengrass-cli-component-configuration)
+ [ローカルログファイル](#greengrass-cli-component-log-file)
+ [変更ログ](#greengrass-cli-component-changelog)

## バージョン
<a name="greengrass-cli-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.16.x
+ 2.15.x
+ 2.14.x
+ 2.13.x
+ 2.12.x
+ 2.11.x
+ 2.10.x
+ 2.9.x
+ 2.8.x
+ 2.7.x
+ 2.6.x
+ 2.5.x
+ 2.4.x
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## タイプ
<a name="greengrass-cli-component-type"></a>

<a name="public-component-type-plugin-para1"></a>このコンポーネントはプラグインコンポーネント (`aws.greengrass.plugin`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、nucleus と同じ Java バーチャルマシン (JVM) でこのコンポーネントを実行します。コアデバイスでこのコンポーネントのバージョンを変更するとき、nucleus が再起動します。

<a name="public-component-type-plugin-para2"></a>このコンポーネントは、Greengrass nucleus と同じログファイルを使用します。詳細については、「[AWS IoT Greengrass ログのモニタリング](monitor-logs.md)」を参照してください。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="greengrass-cli-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Server 

## 要件
<a name="greengrass-cli-component-requirements"></a>

このコンポーネントには次の要件があります。
+ <a name="greengrass-cli-authorization-requirement"></a> AWS IoT Greengrass Core ソフトウェアを操作するには、Greengrass CLI を使用する権限が必要です。Greengrass CLI を使用するには、次のいずれかを実行します。
  +  AWS IoT Greengrass Core ソフトウェアを実行するシステムユーザーを使用します。
  + root 権限または管理者権限を持つユーザーを使用する。Linux コアデバイスでは、`sudo` を使用して root 権限を取得できます。
  + 設定をデプロイする際に、`AuthorizedPosixGroups` または `AuthorizedWindowsGroups` 設定パラメータで指定したグループのシステムユーザーを使用する。詳細については、「[Greengrass CLI コンポーネント設定](#greengrass-cli-component-configuration)」を参照してください。
+ Greengrass CLI コンポーネントは、VPC での実行がサポートされています。

## 依存関係
<a name="greengrass-cli-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#greengrass-cli-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.16.0 ]

次の表に、このコンポーネントのバージョン 2.16.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.12.0 <2.17.0 | ソフト | 

------
#### [ 2.15.1 ]

次の表に、このコンポーネントのバージョン 2.15.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.12.0 <2.16.0 | ソフト | 

------
#### [ 2.15.0 ]

次の表に、このコンポーネントのバージョン 2.15.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.12.0 <2.16.0 | ソフト | 

------
#### [ 2.14.0 – 2.14.3 ]

次の表に、このコンポーネントのバージョン 2.14.0 および 2.14.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.12.0 <2.15.0 | ソフト | 

------
#### [ 2.13.0 ]

次の表に、このコンポーネントのバージョン 2.13.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.12.0 <2.14.0 | ソフト | 

------
#### [ 2.12.0 – 2.12.6 ]

次の表に、このコンポーネントのバージョン 2.12.0 から 2.12.6 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.12.0 <2.13.0 | ソフト | 

------
#### [ 2.11.0 – 2.11.3 ]

次の表に、このコンポーネントのバージョン 2.11.0 から 2.11.3 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.11.0 <2.12.0 | ソフト | 

------
#### [ 2.10.0 – 2.10.3 ]

次の表に、このコンポーネントのバージョン 2.10.0 から 2.10.3 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.11.0 | ソフト | 

------
#### [ 2.9.0 – 2.9.6 ]

次の表に、このコンポーネントのバージョン 2.9.0 から 2.9.6 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.10.0 | ソフト | 

------
#### [ 2.8.0 – 2.8.1 ]

次の表に、このコンポーネントのバージョン 2.8.0 および 2.8.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.9.0 | ソフト | 

------
#### [ 2.7.0 ]

次の表に、このコンポーネントのバージョン 2.7.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.8.0 | ソフト | 

------
#### [ 2.6.0 ]

次の表に、このコンポーネントのバージョン 2.6.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.7.0 | ソフト | 

------
#### [ 2.5.0 – 2.5.6 ]

次の表に、このコンポーネントのバージョン 2.5.0 から 2.5.6 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.6.0 | ソフト | 

------
#### [ 2.4.0 ]

次の表に、このコンポーネントのバージョン 2.4.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.5.0 | ソフト | 

------
#### [ 2.3.0 ]

次の表に、このコンポーネントのバージョン 2.3.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.4.0 | ソフト | 

------
#### [ 2.2.0 ]

次の表に、このコンポーネントのバージョン 2.2.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.3.0 | ソフト | 

------
#### [ 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.1.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.2.0 | ソフト | 

------
#### [ 2.0.x ]

次の表に、このコンポーネントのバージョン 2.0.x の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.1.0 | ソフト | 

**注記**  
Greengrass nucleus の最小互換バージョンは、Greengrass CLI コンポーネントのパッチバージョンに対応しています。

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 設定
<a name="greengrass-cli-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

------
#### [ 2.5.x - 2.14.x ]

`AuthorizedPosixGroups`  <a name="greengrass-cli-component-configuration-authorizedposixgroups"></a>
(オプション) システムグループのカンマ区切りリストを含む文字列。これらのシステムグループが Greengrass CLI を使用して AWS IoT Greengrass Core ソフトウェアを操作することを承認します。グループ名またはグループ ID を指定できます。例:`group1,1002,group3` は 3 つのシステムグループ (`group1`、`1002` および `group3`) に Greengrass CLI の使用を認可します。  
承認するグループを指定しない場合は、Greengrass CLI をルートユーザー (`sudo`) または AWS IoT Greengrass Core ソフトウェアを実行するシステムユーザーとして使用できます。

`AuthorizedWindowsGroups`  <a name="greengrass-cli-component-configuration-authorizedwindowsgroups"></a>
(オプション) システムグループのカンマ区切りリストを含む文字列。これらのシステムグループが Greengrass CLI を使用して AWS IoT Greengrass Core ソフトウェアを操作することを承認します。グループ名またはグループ ID を指定できます。例:`group1,1002,group3` は 3 つのシステムグループ (`group1`、`1002` および `group3`) に Greengrass CLI の使用を認可します。  
承認するグループを指定しない場合は、Greengrass CLI を管理者または AWS IoT Greengrass Core ソフトウェアを実行するシステムユーザーとして使用できます。

**Example 例: 設定マージの更新**  
次の設定例では、3 つの POSIX システムグループ (`group1`、`1002` および `group3`) と 2 つの Windows ユーザーグループ (`Device Operators` と `QA Engineers`) に Greengrass CLI の利用を認可するように指定しています。  

```
{
  "AuthorizedPosixGroups": "group1,1002,group3",
  "AuthorizedWindowsGroups": "Device Operators,QA Engineers"
}
```

------
#### [ 2.4.x - 2.0.x ]

`AuthorizedPosixGroups`  <a name="greengrass-cli-component-configuration-authorizedposixgroups"></a>
(オプション) システムグループのカンマ区切りリストを含む文字列。これらのシステムグループが Greengrass CLI を使用して AWS IoT Greengrass Core ソフトウェアを操作することを承認します。グループ名またはグループ ID を指定できます。例:`group1,1002,group3` は 3 つのシステムグループ (`group1`、`1002` および `group3`) に Greengrass CLI の使用を認可します。  
承認するグループを指定しない場合は、Greengrass CLI をルートユーザー (`sudo`) または AWS IoT Greengrass Core ソフトウェアを実行するシステムユーザーとして使用できます。

**Example 例: 設定マージの更新**  
次の設定例では、3 つのシステムグループ (`group1`、`1002` および `group3`) に Greengrass CLI の利用を認可するように指定しています。  

```
{
  "AuthorizedPosixGroups": "group1,1002,group3"
}
```

------

## ローカルログファイル
<a name="greengrass-cli-component-log-file"></a>

このコンポーネントは、[Greengrass nucleus](greengrass-nucleus-component.md) コンポーネントと同じログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="greengrass-cli-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.16.1  |  Greengrass nucleus バージョン 2.16.1 のリリース用にバージョンが更新されました。  | 
|  2.16.0  |  Greengrass nucleus バージョン 2.16.0 リリース用にバージョンが更新されました。  | 
|  2.15.1  |  Greengrass nucleus バージョン 2.15.1 のリリース用にバージョンが更新されました。  | 
|  2.15.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-cli-component.html)  | 
|  2.14.3  |  Greengrass nucleus バージョン 2.14.3 リリース用にバージョンが更新されました。  | 
|  2.14.2  |  Greengrass nucleus バージョン 2.14.2 のリリース用にバージョンが更新されました。  | 
|  2.14.1  |  Greengrass nucleus バージョン 2.14.1 リリース用にバージョンが更新されました。  | 
|  2.14.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-cli-component.html)  | 
|  2.13.0  |  Greengrass nucleus バージョン 2.13.0 のリリース用にバージョンが更新されました。  | 
|  2.12.6  |  Greengrass nucleus バージョン 2.12.6 のリリース用にバージョンが更新されました。  | 
|  2.12.5  |  Greengrass nucleus バージョン 2.12.5 のリリース用にバージョンが更新されました。  | 
|  2.12.4  |  Greengrass nucleus バージョン 2.12.4 のリリース用にバージョンが更新されました。  | 
|  2.12.3  |   このバージョンは現在利用できません。このバージョンの改善は、このコンポーネントのそれ以降のバージョンで利用できます。  Greengrass nucleus バージョン 2.12.3 のリリース用にバージョンが更新されました。  | 
|  2.12.2  |  Greengrass nucleus バージョン 2.12.2 のリリース用にバージョンが更新されました。  | 
|  2.12.1  |  Greengrass nucleus バージョン 2.12.1 のリリース用にバージョンが更新されました。  | 
|  2.12.0  |  Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。  | 
|  2.11.3  |  Greengrass nucleus バージョン 2.11.3 のリリース用にバージョンが更新されました。  | 
|  2.11.2  |  Greengrass nucleus バージョン 2.11.2 のリリース用にバージョンが更新されました。  | 
|  2.11.1  |  Greengrass nucleus バージョン 2.11.1 のリリース用にバージョンが更新されました。  | 
|  2.11.0  |  <a name="changelog-cli-2.11.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-cli-component.html)  | 
|  2.10.3  |  Greengrass nucleus バージョン 2.10.3 のリリース用にバージョンが更新されました。  | 
|  2.10.2  |  Greengrass nucleus バージョン 2.10.2 のリリース用にバージョンが更新されました。  | 
|  2.10.1  |  Greengrass nucleus バージョン 2.10.1 のリリース用にバージョンが更新されました。  | 
|  2.10.0  |  Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。  | 
|  2.9.6  |  Greengrass nucleus バージョン 2.9.6 のリリース用にバージョンが更新されました。  | 
|  2.9.5  |  Greengrass nucleus バージョン 2.9.5 のリリース用にバージョンが更新されました。  | 
|  2.9.4  |  Greengrass nucleus バージョン 2.9.4 のリリース用にバージョンが更新されました。  | 
|  2.9.3  |  Greengrass nucleus バージョン 2.9.3 のリリース用にバージョンが更新されました。  | 
|  2.9.2  |  Greengrass nucleus バージョン 2.9.2 のリリース用にバージョンが更新されました。  | 
|  2.9.1  |  Greengrass nucleus バージョン 2.9.1 のリリース用にバージョンが更新されました。  | 
|  2.9.0  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.8.1  |  Greengrass nucleus バージョン 2.8.1 のリリース用にバージョンが更新されました。  | 
|  2.8.0  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.7.0  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.6.0  |  <a name="changelog-greengrass-cli-2.6.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-cli-component.html)  | 
|  2.5.6  |  Greengrass nucleus バージョン 2.5.6 のリリース用にバージョンが更新されました。  | 
|  2.5.5  |  Greengrass nucleus バージョン 2.5.5 のリリース用にバージョンが更新されました。  | 
|  2.5.4  |  Greengrass nucleus バージョン 2.5.4 のリリース用にバージョンが更新されました。  | 
|  2.5.3  |  Greengrass nucleus バージョン 2.5.3 のリリース用にバージョンが更新されました。  | 
|  2.5.2  |  Greengrass nucleus バージョン 2.5.2 のリリース用にバージョンが更新されました。  | 
|  2.5.1  |  Greengrass nucleus バージョン 2.5.1 のリリース用にバージョンが更新されました。  | 
|  2.5.0  |  <a name="changelog-greengrass-cli-2.5.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-cli-component.html)  | 
|  2.4.0  |  <a name="changelog-greengrass-cli-2.4.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/greengrass-cli-component.html)  | 
|  2.3.0  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.2.0  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.1.0  |  Greengrass nucleus バージョン 2.1.0 のリリース用にバージョンが更新されました。  | 
|  2.0.5  | Greengrass nucleus バージョン 2.0.5 のリリース用にバージョンが更新されました。 | 
|  2.0.4  | Greengrass nucleus バージョン 2.0.4 のリリース用にバージョンが更新されました。 | 
|  2.0.3  |  当初のバージョン  | 

# IP ディテクター
<a name="ip-detector-component"></a>

IP ディテクターコンポーネント (`aws.greengrass.clientdevices.IPDetector`) は以下の処理を行います。
+ Greengrass コアデバイスのローカルネットワーク接続情報を監視します。この情報には、コアデバイスのネットワークエンドポイントと、MQTT ブローカーが動作するポートが含まれます。
+  AWS IoT Greengrass クラウドサービスのコアデバイスの接続情報を更新します。

クライアントデバイスは Greengrass クラウドディスカバリを使用して、関連するコアデバイスの接続情報を取得できます。その後クライアントデバイスは、正常に接続されるまで各コアデバイスへの接続を試みることができます。

**注記**  <a name="client-device-component-context"></a>
クライアントデバイスは、Greengrass コアデバイスに接続し、処理するために MQTT メッセージとデータを送信するローカル IoT デバイスです。(詳細については、[ローカル IoT デバイスとやり取りする](interact-with-local-iot-devices.md) を参照してください)。

IP ディテクターコンポーネントは、コアデバイスの既存の接続情報を検出した情報に置き換えます。このコンポーネントは既存の情報を削除するため、IP ディテクターコンポーネントを使用するか、接続情報を手動で管理するか選択できます。

**Topics**
+ [バージョン](#ip-detector-component-versions)
+ [タイプ](#ip-detector-component-type)
+ [オペレーティングシステム](#ip-detector-component-os-support)
+ [要件](#ip-detector-component-requirements)
+ [依存関係](#ip-detector-component-dependencies)
+ [構成](#ip-detector-component-configuration)
+ [ローカルログファイル](#ip-detector-component-log-file)
+ [変更ログ](#ip-detector-component-changelog)

## バージョン
<a name="ip-detector-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.2.x
+ 2.1.x
+ 2.0.x

## タイプ
<a name="ip-detector-component-type"></a>

<a name="public-component-type-plugin-para1"></a>このコンポーネントはプラグインコンポーネント (`aws.greengrass.plugin`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、nucleus と同じ Java バーチャルマシン (JVM) でこのコンポーネントを実行します。コアデバイスでこのコンポーネントのバージョンを変更するとき、nucleus が再起動します。

<a name="public-component-type-plugin-para2"></a>このコンポーネントは、Greengrass nucleus と同じログファイルを使用します。詳細については、「[AWS IoT Greengrass ログのモニタリング](monitor-logs.md)」を参照してください。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="ip-detector-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 要件
<a name="ip-detector-component-requirements"></a>

このコンポーネントには次の要件があります。
+ [Greengrass サービスロール](greengrass-service-role.md)を に関連付け AWS アカウント 、 `iot:GetThingShadow` および アクセス`iot:UpdateThingShadow`許可を付与する必要があります。
+ コアデバイスの AWS IoT ポリシーは、 アクセス`greengrass:UpdateConnectivityInfo`許可を許可する必要があります。詳細については、「[AWS IoT データプレーンオペレーションの ポリシー](device-auth.md#iot-policies)」および「[クライアントデバイスをサポートする最小 AWS IoT ポリシー](device-auth.md#client-device-support-minimal-iot-policy)」を参照してください。
+ デフォルトポートの 8883 以外のポートを使用するようにコアデバイスの MQTT ブローカーコンポーネントを設定する場合、IP ディテクター v2.1.0 以降を使用する必要があります。ブローカーが動作するポートを報告するように設定します。
+ 複雑なネットワーク設定がある場合、IP ディテクターコンポーネントは、クライアントデバイスがコアデバイスに接続できるエンドポイントを識別できない場合があります。IP ディテクターコンポーネントがエンドポイントを管理できない場合、代わりにコア デバイス エンドポイントを手動で管理する必要があります。たとえば、コアデバイスが MQTT ブローカポートを転送するルーターの背後にある場合、コアデバイスのエンドポイントとしてルーターの IP アドレスを指定する必要があります。詳細については、「[コアデバイスのエンドポイントを管理](manage-core-device-endpoints.md)」を参照してください。
+ IP ディテクターコンポーネントは、VPC での実行がサポートされています。

## 依存関係
<a name="ip-detector-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#ip-detector-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.2.3 ]

次の表に、このコンポーネントのバージョン 2.2.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.17.0 | ソフト | 

------
#### [ 2.2.2 ]

次の表に、このコンポーネントのバージョン 2.2.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.16.0 | ソフト | 

------
#### [ 2.2.1 ]

次の表に、このコンポーネントのバージョン 2.2.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.15.0 | ソフト | 

------
#### [ 2.2.0 ]

次の表に、このコンポーネントのバージョン 2.2.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.14.0 | ソフト | 

------
#### [ 2.1.8 – 2.1.9 ]

次の表に、このコンポーネントのバージョン 2.1.8 および 2.1.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.13.0 | ソフト | 

------
#### [ 2.1.7 ]

次の表に、このコンポーネントのバージョン 2.1.7 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.12.0 | ソフト | 

------
#### [ 2.1.6 ]

次の表に、このコンポーネントのバージョン 2.1.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.11.0 | ソフト | 

------
#### [ 2.1.5 ]

次の表に、このコンポーネントのバージョン 2.1.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.10.0 | ソフト | 

------
#### [ 2.1.4 ]

次の表に、このコンポーネントのバージョン 2.1.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.9.0 | ソフト | 

------
#### [ 2.1.3 ]

次の表に、このコンポーネントのバージョン 2.1.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.8.0 | ソフト | 

------
#### [ 2.1.2 ]

次の表に、このコンポーネントのバージョン 2.1.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.7.0 | ソフト | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.6.0 | ソフト | 

------
#### [ 2.1.0 and 2.0.2 ]

次の表に、このコンポーネントのバージョン 2.1.0 および 2.0.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.5.0 | ソフト | 

------
#### [ 2.0.1 ]

次の表に、このコンポーネントのバージョン 2.0.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.4.0 | ソフト | 

------
#### [ 2.0.0 ]

次の表に、このコンポーネントのバージョン 2.0.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.3.0 | ソフト | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 構成
<a name="ip-detector-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

------
#### [ 2.2.x ]

`defaultPort`  <a name="ip-detector-component-configuration-default-port"></a>
<a name="ip-detector-component-configuration-default-port-definition"></a>(オプション) このコンポーネントが IP アドレスを検出するときに報告する MQTT ブローカーポート。デフォルトポート 8883 とは異なるポートを使用するように MQTT ブローカーを設定する場合、このパラメータを指定する必要があります。  
デフォルト: `8883`

`includeIPv4LoopbackAddrs`  <a name="ip-detector-component-configuration-include-ipv4-loopback-addrs"></a>
<a name="ip-detector-component-configuration-include-ipv4-loopback-addrs-definition"></a>(オプション) このオプションを有効にすると、IPv4 ループバックアドレスが検出および報告されます。これらは、`localhost` など、IP アドレスであり、デバイスが自身と通信できる場所です。このオプションは、コアデバイスとクライアントデバイスを同じシステムで実行するテスト環境で使用します。  
デフォルト: `false`

`includeIPv4LinkLocalAddrs`  <a name="ip-detector-component-configuration-include-ipv4-link-local-addrs"></a>
<a name="ip-detector-component-configuration-include-ipv4-link-local-addrs-definition"></a>(オプション) このオプションを有効にすると、IPv4 の[リンクローカルアドレス](https://en.wikipedia.org/wiki/Link-local_address)が検出および報告されます。このオプションは、コアデバイスのネットワークに Dynamic Host Configuration Protocol (DHCP) または静的に割り当てられた IP アドレスがない場合に使用します。  
デフォルト: `false`

`includeIPv6LoopbackAddrs`  <a name="ip-detector-component-configuration-include-ipv6-loopback-addrs"></a>
<a name="ip-detector-component-configuration-include-ipv6-loopback-addrs-definition"></a>(オプション) このオプションを有効にすると、IPv6 ループバックアドレスが検出および報告されます。これらは、`localhost` など、IP アドレスであり、デバイスが自身と通信できる場所です。このオプションは、コアデバイスとクライアントデバイスを同じシステムで実行するテスト環境で使用します。このオプションを使用するには、`includeIPv4Addrs` を `false` に設定し、`includeIPv6Addrs` を `true` に設定する必要があります。  
デフォルト: `false`

`includeIPv6LinkLocalAddrs`  <a name="ip-detector-component-configuration-include-ipv6-link-local-addrs"></a>
<a name="ip-detector-component-configuration-include-ipv6-link-local-addrs-definition"></a>(オプション) このオプションを有効にすると、IPv6 の[リンクローカルアドレス](https://en.wikipedia.org/wiki/Link-local_address)が検出および報告されます。このオプションは、コアデバイスのネットワークに Dynamic Host Configuration Protocol (DHCP) または静的に割り当てられた IP アドレスがない場合に使用します。このオプションを使用するには、`includeIPv4Addrs` を `false` に設定し、`includeIPv6Addrs` を `true` に設定する必要があります。  
デフォルト: `false`

`includeIPv4Addrs`  <a name="ip-detector-component-configuration-include-ipv4-addrs"></a>
<a name="ip-detector-component-configuration-include-ipv4-addrs-definition"></a>(オプション) デフォルトは `true` に設定されています。このオプションを有効にして、コアデバイスにある IPv4 アドレスを発行できます。  
デフォルト: `true`

`includeIPv6Addrs`  <a name="ip-detector-component-configuration-include-ipv6-addrs"></a>
<a name="ip-detector-component-configuration-include-ipv6-addrs-definition"></a>(オプション) このオプションを有効にして、コアデバイスにある IPv6 アドレスを発行できます。このオプションを使用するには、`includeIPv4Addrs` を `false` に設定します。  
デフォルト: `false`

------
#### [ 2.1.x ]

`defaultPort`  <a name="ip-detector-component-configuration-default-port"></a>
<a name="ip-detector-component-configuration-default-port-definition"></a>(オプション) このコンポーネントが IP アドレスを検出するときに報告する MQTT ブローカーポート。デフォルトポート 8883 とは異なるポートを使用するように MQTT ブローカーを設定する場合、このパラメータを指定する必要があります。  
デフォルト: `8883`

`includeIPv4LoopbackAddrs`  <a name="ip-detector-component-configuration-include-ipv4-loopback-addrs"></a>
<a name="ip-detector-component-configuration-include-ipv4-loopback-addrs-definition"></a>(オプション) このオプションを有効にすると、IPv4 ループバックアドレスが検出および報告されます。これらは、`localhost` など、IP アドレスであり、デバイスが自身と通信できる場所です。このオプションは、コアデバイスとクライアントデバイスを同じシステムで実行するテスト環境で使用します。  
デフォルト: `false`

`includeIPv4LinkLocalAddrs`  <a name="ip-detector-component-configuration-include-ipv4-link-local-addrs"></a>
<a name="ip-detector-component-configuration-include-ipv4-link-local-addrs-definition"></a>(オプション) このオプションを有効にすると、IPv4 の[リンクローカルアドレス](https://en.wikipedia.org/wiki/Link-local_address)が検出および報告されます。このオプションは、コアデバイスのネットワークに Dynamic Host Configuration Protocol (DHCP) または静的に割り当てられた IP アドレスがない場合に使用します。  
デフォルト: `false`

------
#### [ 2.0.x ]

`includeIPv4LoopbackAddrs`  <a name="ip-detector-component-configuration-include-ipv4-loopback-addrs"></a>
<a name="ip-detector-component-configuration-include-ipv4-loopback-addrs-definition"></a>(オプション) このオプションを有効にすると、IPv4 ループバックアドレスが検出および報告されます。これらは、`localhost` など、IP アドレスであり、デバイスが自身と通信できる場所です。このオプションは、コアデバイスとクライアントデバイスを同じシステムで実行するテスト環境で使用します。  
デフォルト: `false`

`includeIPv4LinkLocalAddrs`  <a name="ip-detector-component-configuration-include-ipv4-link-local-addrs"></a>
<a name="ip-detector-component-configuration-include-ipv4-link-local-addrs-definition"></a>(オプション) このオプションを有効にすると、IPv4 の[リンクローカルアドレス](https://en.wikipedia.org/wiki/Link-local_address)が検出および報告されます。このオプションは、コアデバイスのネットワークに Dynamic Host Configuration Protocol (DHCP) または静的に割り当てられた IP アドレスがない場合に使用します。  
デフォルト: `false`

------

## ローカルログファイル
<a name="ip-detector-component-log-file"></a>

このコンポーネントは、[Greengrass nucleus](greengrass-nucleus-component.md) コンポーネントと同じログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="ip-detector-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.2.3  |  Greengrass nucleus バージョン 2.16.0 リリース用にバージョンが更新されました。  | 
|  2.2.2  | Greengrass nucleus バージョン 2.15.0 リリース用にバージョンが更新されました。 | 
|  2.2.1  | Greengrass nucleus バージョン 2.14.0 リリース用にバージョンが更新されました。 | 
|  2.2.0  | Greengrass nucleus バージョン 2.13.0 のリリース用にバージョンが更新されました。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/ip-detector-component.html)  | 
|  2.1.9  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/ip-detector-component.html)  | 
|  2.1.8  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.1.7  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.1.6  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.1.5  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.1.4  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.1.3  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.1.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/ip-detector-component.html)  | 
|  2.1.1  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/ip-detector-component.html)  | 
|  2.0.2  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.0.1  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.0.0  |  当初のバージョン  | 

# Firehose
<a name="kinesis-firehose-component"></a>

Firehose コンポーネント (`aws.greengrass.KinesisFirehose`) は、Amazon Data Firehose 配信ストリームを経由して、Amazon S3、Amazon Redshift、Amazon OpenSearch Service などの送信先にデータを発行します。詳細については、*Amazon Data Firehose デベロッパーガイド*の「[Amazon Data Firehose とは](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html)」を参照してください。

このコンポーネントを使用して Kinesis 配信ストリームに発行するには、このコンポーネントがサブスクライブしているトピックにメッセージを発行します。デフォルトでは、このコンポーネントは `kinesisfirehose/message` および `kinesisfirehose/message/binary/#` の[ローカルパブリッシュ/サブスクライブ](ipc-publish-subscribe.md)トピックにサブスクライブしています。このコンポーネントをデプロイするときに、 AWS IoT Core MQTT トピックを含む他のトピックを指定できます。

**注記**  
このコンポーネントは、 AWS IoT Greengrass V1 の Firehose コネクタと同様の機能を提供します。詳細については、*AWS IoT Greengrass V1 デベロッパーガイド*の「[ Firehose コネクター](https://docs.aws.amazon.com/greengrass/latest/developerguide/kinesis-firehose-connector.html)」を参照してください。

**Topics**
+ [バージョン](#kinesis-firehose-component-versions)
+ [タイプ](#kinesis-firehose-component-type)
+ [オペレーティングシステム](#kinesis-firehose-component-os-support)
+ [要件](#kinesis-firehose-component-requirements)
+ [依存関係](#kinesis-firehose-component-dependencies)
+ [設定](#kinesis-firehose-component-configuration)
+ [入力データ](#kinesis-firehose-component-input-data)
+ [出力データ](#kinesis-firehose-component-output-data)
+ [ローカルログファイル](#kinesis-firehose-component-log-file)
+ [ライセンス](#kinesis-firehose-component-licenses)
+ [変更ログ](#kinesis-firehose-component-changelog)
+ [関連情報](#kinesis-firehose-component-see-also)

## バージョン
<a name="kinesis-firehose-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.1.x
+ 2.0.x

## タイプ
<a name="kinesis-firehose-component-type"></a>

<a name="public-component-type-lambda"></a>この<a name="public-component-type-lambda-phrase"></a>コンポーネントは Lambda コンポーネントです (`aws.greengrass.lambda`)。[Greengrass nucleus](greengrass-nucleus-component.md) は、[Lambda ランチャーコンポーネント](lambda-launcher-component.md)を使用してこのコンポーネントの Lambda 関数を実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="kinesis-firehose-component-os-support"></a>

このコンポーネントは、Linux コアデバイスにのみインストールできます。

## 要件
<a name="kinesis-firehose-component-requirements"></a>

このコンポーネントには次の要件があります。
+ <a name="core-device-lambda-function-requirements"></a>コアデバイスは、Lambda 関数を実行するための要件を満たしている必要があります。コアデバイスが、コンテナ化された Lambda 関数を実行させる場合、そのデバイスは要件を満たす必要があります。詳細については、「[Lambda 関数の要件](setting-up.md#greengrass-v2-lambda-requirements)」を参照してください。
+ <a name="public-component-python3-requirement"></a>[Python](https://www.python.org/) バージョン 3.7 がコアデバイスにインストールされ、PATH 環境変数に追加されています。
+ 次の IAM ポリシーの例で示されているように、[Greengrass デバイスのロール](device-service-role.md)は、`firehose:PutRecord` および `firehose:PutRecordBatch` のアクションを許可する必要があります。

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

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "firehose:PutRecord",
          "firehose:PutRecordBatch"
        ],
        "Effect": "Allow",
        "Resource": [
          "arn:aws:firehose:us-east-1:123456789012:deliverystream/stream-name"
        ]
      }
    ]
  }
  ```

------

  このコンポーネントの入力メッセージペイロードのデフォルト配信ストリームを動的にオーバーライドできます。アプリケーションでこの機能を使用する場合、IAM ポリシーにはすべてのターゲットストリームをリソースとして含める必要があります。リソースにきめ細かいアクセス権限または条件付きアクセス権限を付与できます (たとえば、ワイルドカード `*` 命名スキームを使用)。
+ <a name="connector-component-legacy-subscription-router-dependency"></a>このコンポーネントから出力データを受信するには、このコンポーネントをデプロイするときに、次の設定更新プログラムを[レガシーサブスクリプションルーターのコンポーネント](legacy-subscription-router-component.md) (`aws.greengrass.LegacySubscriptionRouter`) のためにマージする必要があります。この設定は、このコンポーネントがレスポンスを公開するトピックを指定します。

------
#### [ Legacy subscription router v2.1.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-kinesisfirehose": {
        "id": "aws-greengrass-kinesisfirehose",
        "source": "component:aws.greengrass.KinesisFirehose",
        "subject": "kinesisfirehose/message/status",
        "target": "cloud"
      }
    }
  }
  ```

------
#### [ Legacy subscription router v2.0.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-kinesisfirehose": {
        "id": "aws-greengrass-kinesisfirehose",
        "source": "arn:aws:lambda:region:aws:function:aws-greengrass-kinesisfirehose:version",
        "subject": "kinesisfirehose/message/status",
        "target": "cloud"
      }
    }
  }
  ```<a name="connector-component-legacy-subscription-router-dependency-replace"></a>
  + *region* AWS リージョン を、使用する に置き換えます。
  + *バージョン*を、このコンポーネントが実行する Lambda 関数のバージョンに置き換えます。Lambda 関数のバージョンを確認するには、デプロイするこのコンポーネントのバージョンの recipe を確認する必要があります。[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)で、このコンポーネントの詳細ページを開き、**[Lambda function]** (Lambda 関数) の key-value ペアを見つけます。このキー値のペアには、Lambda 関数の名前とバージョンが含まれます。

**重要**  <a name="connector-component-legacy-subscription-router-dependency-note"></a>
このコンポーネントをデプロイするたびに、レガシーサブスクリプションルーターの Lambda 関数のバージョンを更新する必要があります。これにより、デプロイするコンポーネントバージョンに正しい Lambda 関数のバージョンが使用されることが保証されます。

------

  <a name="connector-component-create-deployments"></a>詳細については、「[デプロイの作成](create-deployments.md)」を参照してください。
+ Firehose コンポーネントは、VPC での実行がサポートされています。このコンポーネントを VPC にデプロイするには、以下が必要です。
  + Firehose コンポーネントには、VPC エンドポイントが `com.amazonaws.region.kinesis-firehose` である `firehose.region.amazonaws.com` への接続が必要です。

### エンドポイントおよびポート
<a name="kinesis-firehose-component-endpoints"></a>

このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。


| Endpoint | ポート | 必要 | 説明 | 
| --- | --- | --- | --- | 
|  `firehose.region.amazonaws.com`  | 443 | はい |  Firehose にデータをアップロードします。  | 

## 依存関係
<a name="kinesis-firehose-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#kinesis-firehose-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.1.10 ]

次の表に、このコンポーネントのバージョン 2.1.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.16.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.9 ]

次の表に、このコンポーネントのバージョン 2.1.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.15.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.8 ]

次の表に、このコンポーネントのバージョン 2.1.8 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.14.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.7 ]

次の表に、このコンポーネントのバージョン 2.1.7 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.6 ]

次の表に、このコンポーネントのバージョン 2.1.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.5 ]

次の表に、このコンポーネントのバージョン 2.1.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.4 ]

次の表に、このコンポーネントのバージョン 2.1.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.3 ]

次の表に、このコンポーネントのバージョン 2.1.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.2 ]

次の表に、このコンポーネントのバージョン 2.1.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.8 - 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.0.8 および 2.1.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.7 ]

次の表に、このコンポーネントのバージョン 2.0.7 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.6 ]

次の表に、このコンポーネントのバージョン 2.0.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.5 ]

次の表に、このコンポーネントのバージョン 2.0.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.4 ]

次の表に、このコンポーネントのバージョン 2.0.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.3 ]

次の表に、このコンポーネントのバージョン 2.0.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.3 <2.1.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | >=1.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | >=1.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=1.0.0  | ハード | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 設定
<a name="kinesis-firehose-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

**注記**  <a name="connector-component-lambda-parameters"></a>
このコンポーネントのデフォルト設定には、Lambda 関数のパラメータが含まれます。デバイスにこのコンポーネントを設定するには、次のパラメータのみを編集することをお勧めします。

`lambdaParams`  
このコンポーネントの Lambda 関数のパラメータを含むオブジェクト。このオブジェクトには、次の情報が含まれます。    
`EnvironmentVariables`  
Lambda 関数のパラメータを含むオブジェクト。このオブジェクトには、次の情報が含まれます。    
`DEFAULT_DELIVERY_STREAM_ARN`  
コンポーネントがデータを送信するデフォルトの Firehose 配信ストリームの ARN。入力メッセージペイロードの `delivery_stream_arn` プロパティを使用して、送信先ストリームをオーバーライドできます。  
コアデバイスロールは、すべてのターゲット配信ストリームで必要なアクションを許可する必要があります。詳細については、「[要件](#kinesis-firehose-component-requirements)」を参照してください。  
`PUBLISH_INTERVAL`  
(オプション) コンポーネントが Firehose にバッチを発行するまでに待機する最大秒数。メトリクスを受信した時点でメトリクスをパブリッシュするようにコンポーネントを設定するには (バッチ処理なし)、`0` を指定します。  
この値は最大 900 秒になります。  
デフォルト: 10 秒  
`DELIVERY_STREAM_QUEUE_SIZE`  
(オプション) コンポーネントが同じ配信ストリームの新しいレコードを拒否するまでに、メモリに保持するレコードの最大数。  
この値は 2,000 件以上に指定する必要があります。  
デフォルト: 5,000 件

`containerMode`  <a name="connector-component-container-mode-parameter"></a>
(オプション) このコンポーネントのコンテナ化モード。次のオプションから選択します。  <a name="lambda-function-component-container-mode-parameter"></a>
+ `NoContainer` - コンポーネントは、分離されたランタイム環境では実行されません。
+ `GreengrassContainer` – コンポーネントは、 AWS IoT Greengrass コンテナ内の分離されたランタイム環境で実行されます。
デフォルト: `GreengrassContainer`

`containerParams`  
<a name="connector-component-container-params-description"></a>(オプション) このコンポーネントのコンテナパラメータを含むオブジェクト。`containerMode` の `GreengrassContainer` を指定した場合、コンポーネントはこれらのパラメータを使用します。  
このオブジェクトには、次の情報が含まれます。    
`memorySize`  
<a name="connector-component-container-params-memory-size-description"></a>(オプション) コンポーネントに割り当てるメモリ量 (KB 単位)。  
デフォルトは 64 MB (65,535 KB) です。

`pubsubTopics`  <a name="connector-component-pubsub-topics-parameter"></a>
(オプション) コンポーネントがメッセージを受信するためにサブスクライブするトピックを含むオブジェクト。各トピックと、コンポーネントが から MQTT トピックをサブスクライブするか、ローカルのパブリッシュ/サブスクライブトピックをサブスクライブ AWS IoT Core するかを指定できます。  
このオブジェクトには、次の情報が含まれます。    
`0` - これは文字列としての配列インデックスです。  
次の情報が含まれるオブジェクト。    
`type`  
(オプション) このコンポーネントがメッセージをサブスクライブするために使用するパブリッシュ/サブスクライブメッセージングのタイプ。次のオプションから選択します。  
+ `PUB_SUB` - ローカルのパブリッシュ/サブスクライブメッセージをサブスクライブします。このオプションを選択した場合、トピックに MQTT ワイルドカードを含めることはできません。このオプションを指定したときに、カスタムコンポーネントからメッセージを送信する方法の詳細については、「[ローカルメッセージをパブリッシュ/サブスクライブする](ipc-publish-subscribe.md)」を参照してください。
+ `IOT_CORE` – AWS IoT Core MQTT メッセージをサブスクライブします。このオプションを選択した場合、トピックに MQTT ワイルドカードを含めることができます。このオプションを指定したときに、カスタムコンポーネントからメッセージを送信する方法の詳細については、「[AWS IoT Core MQTT メッセージを発行/サブスクライブする](ipc-iot-core-mqtt.md)」を参照してください。
デフォルト: `PUB_SUB`  
`topic`  
(オプション) コンポーネントがメッセージを受信するためにサブスクライブするトピック。`type` の `IotCore` を指定した場合、このトピックで MQTT ワイルドカード (`+` および `#`) を使用できます。

**Example 例: 設定マージの更新 (コンテナモード)**  

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "DEFAULT_DELIVERY_STREAM_ARN": "arn:aws:firehose:us-west-2:123456789012:deliverystream/mystream"
    }
  },
  "containerMode": "GreengrassContainer"
}
```

**Example 例: 設定マージの更新 (コンテナモードなし)**  

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "DEFAULT_DELIVERY_STREAM_ARN": "arn:aws:firehose:us-west-2:123456789012:deliverystream/mystream"
    }
  },
  "containerMode": "NoContainer"
}
```

## 入力データ
<a name="kinesis-firehose-component-input-data"></a>

このコンポーネントは、以下のトピックに関するストリームコンテンツを受け入れ、そのコンテンツをターゲット配信ストリームに送信します。コンポーネントは、以下の 2 種類の入力データを受け入れます。
+ `kinesisfirehose/message` トピックの JSON データ。
+ `kinesisfirehose/message/binary/#` トピックのバイナリデータ。

**JSON データのデフォルトトピック (ローカルパブリッシュ/サブスクライブ):** `kinesisfirehose/message`  
<a name="connector-component-input-properties"></a>メッセージは、次のプロパティを受付けます。入力メッセージは JSON 形式である必要があります。    
`request`  
配信ストリームに送信するデータ、およびターゲット配信ストリーム (デフォルトストリームと異なる場合)。  
タイプ: 次の情報が含まれる `object`。    
`data`  
配信ストリームに送信するデータ。  
型: `string`  
`delivery_stream_arn`  
(オプション) ターゲット Firehose 配信ストリームの ARN。デフォルトの配信ストリームを上書きするには、このプロパティを指定します。  
型: `string`  
`id`  <a name="connector-component-input-property-id"></a>
リクエストの任意の ID。このプロパティを使用して、入力リクエストを出力レスポンスにマッピングします。このプロパティを指定するとき、コンポーネントはこの値に対してレスポンスオブジェクトの `id` プロパティを設定します。  
型: `string`

**Example 入力例**  

```
{
  "request": {
    "delivery_stream_arn": "arn:aws:firehose:region:account-id:deliverystream/stream2-name",
    "data": "Data to send to the delivery stream."
  },
  "id": "request123"
}
```

**バイナリデータのデフォルトトピック (ローカルパブリッシュ/サブスクライブ):** `kinesisfirehose/message/binary/#`  
このトピックを使用して、バイナリデータを含むメッセージを送信します。コンポーネントはバイナリデータを解析しません。コンポーネントはデータをそのままストリーミングします。  
入力リクエストを出力レスポンスにマッピングするには、メッセージトピックの `#` ワイルドカードを任意のリクエスト ID に置き換えます。例えば、メッセージを `kinesisfirehose/message/binary/request123` に発行する場合、レスポンスオブジェクトの `id` プロパティを `request123` に設定します。  
リクエストをレスポンスにマッピングしない場合は、メッセージを `kinesisfirehose/message/binary/` に発行できます。末尾にスラッシュ (`/`) を含めてください。

## 出力データ
<a name="kinesis-firehose-component-output-data"></a>

 <a name="connector-component-output-data"></a>このコンポーネントは、デフォルトで次の MQTT トピックに出力データとしてレスポンスを公開します。このトピックは、[[legacy subscription router component]](legacy-subscription-router-component.md) (レガシーサブスクリプションルーターコンポーネント) の設定で `subject` として指定する必要があります。カスタムコンポーネントでこのトピックに関するメッセージへサブスクライブする方法の詳細については、「[AWS IoT Core MQTT メッセージを発行/サブスクライブする](ipc-iot-core-mqtt.md)」を参照してください。

**デフォルトトピック (AWS IoT Core MQTT):** `kinesisfirehose/message/status`

**Example 出力の例**  
応答には、バッチで送信される各データレコードのステータスが含まれます。  

```
{
  "response": [
    {
      "ErrorCode": "error",
      "ErrorMessage": "test error",
      "id": "request123",
      "status": "fail"
    },
    {
      "firehose_record_id": "xyz2",
      "id": "request456",
      "status": "success"
    },
    {
      "firehose_record_id": "xyz3",
      "id": "request890",
      "status": "success"
    }
  ]
}
```

**注記**  <a name="connector-component-retryable-error"></a>
コンポーネントが、接続エラーなどの再試行可能なエラーを検出した場合、次のバッチでパブリッシュを再試行します。

## ローカルログファイル
<a name="kinesis-firehose-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

```
/greengrass/v2/logs/aws.greengrass.KinesisFirehose.log
```

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。を AWS IoT Greengrass ルートフォルダへのパス`/greengrass/v2`に置き換えます。

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.KinesisFirehose.log
  ```

## ライセンス
<a name="kinesis-firehose-component-licenses"></a>

このコンポーネントには、次のサードパーティーソフトウェア/ライセンス品が含まれています。<a name="boto-3-licenses"></a>
+ [AWS SDK for Python (Boto3)](https://pypi.org/project/boto3/)/Apache License 2.0
+ [botocore](https://pypi.org/project/botocore/)/Apache License 2.0
+ [dateutil](https://pypi.org/project/python-dateutil/1.4/)/PSF ライセンス
+ [docutils](https://pypi.org/project/docutils/)/BSD ライセンス、GNU 一般パブリックライセンス (GPL)、Python Software Foundation ライセンス、パブリックドメイン
+ [jmespath](https://pypi.org/project/jmespath/)/MIT ライセンス
+ [s3transfer](https://pypi.org/project/s3transfer/)/Apache License 2.0
+ [urllib3](https://pypi.org/project/urllib3/)/MIT ライセンス

<a name="component-core-software-license"></a>このコンポーネントは、[Greengrass Core ソフトウェアライセンス契約](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)に従ってリリースされています。

## 変更ログ
<a name="kinesis-firehose-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.1.10  | Greengrass nucleus バージョン 2.15.0 リリース用にバージョンが更新されました。 | 
|  2.1.9  | Greengrass nucleus バージョン 2.14.0 リリース用にバージョンが更新されました。 | 
|  2.1.8  | Greengrass nucleus バージョン 2.13.0 のリリース用にバージョンが更新されました。 | 
|  2.1.7  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.1.6  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.1.5  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.1.4  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.1.3  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.1.2  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.1.1  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/kinesis-firehose-component.html)  | 
|  2.0.8  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  2.0.7  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.0.6  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.0.5  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.0.4  |  Greengrass nucleus バージョン 2.1.0 のリリース用にバージョンが更新されました。  | 
|  2.0.3  |  当初のバージョン  | 

## 関連情報
<a name="kinesis-firehose-component-see-also"></a>
+ *Amazon Data Firehose デベロッパーガイド*の「[Amazon Data Firehose とは](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html)」

# Lambda ランチャー
<a name="lambda-launcher-component"></a>

Lambda ランチャーコンポーネント (`aws.greengrass.LambdaLauncher`) は、 AWS IoT Greengrass コアデバイスで関数を開始および停止します AWS Lambda 。また、このコンポーネントはあらゆるコンテナ化を設定し、指定されたユーザーとしてプロセスを実行します。

**注記**  <a name="lambda-component-dependency-note"></a>
Lambda 関数コンポーネントをコアデバイスにデプロイすると、デプロイにはこのコンポーネントも含められます。詳細については、「[AWS Lambda 関数を実行する](run-lambda-functions.md)」を参照してください。

**Topics**
+ [バージョン](#lambda-launcher-component-versions)
+ [タイプ](#lambda-launcher-component-type)
+ [オペレーティングシステム](#lambda-launcher-component-os-support)
+ [要件](#lambda-launcher-component-requirements)
+ [依存関係](#lambda-launcher-component-dependencies)
+ [構成](#lambda-launcher-component-configuration)
+ [ローカルログファイル](#lambda-launcher-component-log-file)
+ [変更ログ](#lambda-launcher-component-changelog)

## バージョン
<a name="lambda-launcher-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.0.x

## タイプ
<a name="lambda-launcher-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="lambda-launcher-component-os-support"></a>

このコンポーネントは、Linux コアデバイスにのみインストールできます。

## 要件
<a name="lambda-launcher-component-requirements"></a>

このコンポーネントには次の要件があります。
+ <a name="core-device-lambda-function-requirements"></a>コアデバイスは、Lambda 関数を実行するための要件を満たしている必要があります。コアデバイスが、コンテナ化された Lambda 関数を実行させる場合、そのデバイスは要件を満たす必要があります。詳細については、「[Lambda 関数の要件](setting-up.md#greengrass-v2-lambda-requirements)」を参照してください。
+ Lambda ランチャーコンポーネントは、VPC での実行がサポートされています。

## 依存関係
<a name="lambda-launcher-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#lambda-launcher-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.0.11 – 2.0.13 ]

次の表に、このコンポーネントのバージョン 2.0.11 から 2.0.13 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Lambda マネージャー](lambda-manager-component.md) | >=2.0.0 <2.4.0  | ハード | 

------
#### [ 2.0.9 – 2.0.10 ]

次の表に、このコンポーネントのバージョン 2.0.9 から 2.0.10 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Lambda マネージャー](lambda-manager-component.md) | >=2.0.0 <2.3.0  | ハード | 

------
#### [ 2.0.4 - 2.0.8 ]

次の表に、このコンポーネントのバージョン 2.0.4 から 2.0.8 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Lambda マネージャー](lambda-manager-component.md) | >=2.0.0 <2.2.0  | ハード | 

------
#### [ 2.0.3 ]

次の表に、このコンポーネントのバージョン 2.0.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Lambda マネージャー](lambda-manager-component.md) | >=2.0.3 <2.1.0 | ハード | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 構成
<a name="lambda-launcher-component-configuration"></a>

このコンポーネントに設定パラメータはありません。

## ローカルログファイル
<a name="lambda-launcher-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

```
/greengrass/v2/logs/lambdaFunctionComponentName.log
```

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。を AWS IoT Greengrass ルートフォルダへのパス`/greengrass/v2`に置き換え、*lambdaFunctionComponentName* をこのコンポーネントが起動する Lambda 関数コンポーネントの名前に置き換えます。

  ```
  sudo tail -f /greengrass/v2/logs/lambdaFunctionComponentName.log
  ```

## 変更ログ
<a name="lambda-launcher-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.0.13  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/lambda-launcher-component.html)  | 
|  2.0.12  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/lambda-launcher-component.html)  | 
|  2.0.11  |  Lambda マネージャー 2.3.0 のサポート。  | 
|  2.0.10  |  <a name="changelog-lambda-launcher-2.0.10"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/lambda-launcher-component.html)  | 
|  2.0.9  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  2.0.8  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.0.7  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.0.6  |  全般的なパフォーマンス向上とバグ修正。  | 
|  2.0.4  |  <a name="changelog-lambda-launcher-2.0.4"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/lambda-launcher-component.html)  | 
|  2.0.3  |  当初のバージョン  | 

# Lambda マネージャー
<a name="lambda-manager-component"></a>

Lambda マネージャーコンポーネント (`aws.greengrass.LambdaManager`) は、Greengrass コアデバイスで実行される AWS Lambda 関数の作業項目とプロセス間通信を管理します。

**注記**  <a name="lambda-component-dependency-note"></a>
Lambda 関数コンポーネントをコアデバイスにデプロイすると、デプロイにはこのコンポーネントも含められます。詳細については、「[AWS Lambda 関数を実行する](run-lambda-functions.md)」を参照してください。

**Topics**
+ [バージョン](#lambda-manager-component-versions)
+ [オペレーティングシステム](#lambda-manager-component-os-support)
+ [タイプ](#lambda-manager-component-type)
+ [要件](#lambda-manager-component-requirements)
+ [依存関係](#lambda-manager-component-dependencies)
+ [構成](#lambda-manager-component-configuration)
+ [ローカルログファイル](#lambda-manager-component-log-file)
+ [変更ログ](#lambda-manager-component-changelog)

## バージョン
<a name="lambda-manager-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## オペレーティングシステム
<a name="lambda-manager-component-os-support"></a>

このコンポーネントは、Linux コアデバイスにのみインストールできます。

## タイプ
<a name="lambda-manager-component-type"></a>

<a name="public-component-type-plugin-para1"></a>このコンポーネントはプラグインコンポーネント (`aws.greengrass.plugin`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、nucleus と同じ Java バーチャルマシン (JVM) でこのコンポーネントを実行します。コアデバイスでこのコンポーネントのバージョンを変更するとき、nucleus が再起動します。

<a name="public-component-type-plugin-para2"></a>このコンポーネントは、Greengrass nucleus と同じログファイルを使用します。詳細については、「[AWS IoT Greengrass ログのモニタリング](monitor-logs.md)」を参照してください。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## 要件
<a name="lambda-manager-component-requirements"></a>

このコンポーネントには次の要件があります。
+ <a name="core-device-lambda-function-requirements"></a>コアデバイスは、Lambda 関数を実行するための要件を満たしている必要があります。コアデバイスが、コンテナ化された Lambda 関数を実行させる場合、そのデバイスは要件を満たす必要があります。詳細については、「[Lambda 関数の要件](setting-up.md#greengrass-v2-lambda-requirements)」を参照してください。
+ Lambda マネージャーコンポーネントは、VPC での実行がサポートされています。

## 依存関係
<a name="lambda-manager-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#lambda-manager-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.3.7 ]

次の表に、このコンポーネントのバージョン 2.3.7 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.17.0 | ソフト | 

------
#### [ 2.3.6 ]

次の表に、このコンポーネントのバージョン 2.3.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.16.0  | ソフト | 

------
#### [ 2.3.5 ]

次の表に、このコンポーネントのバージョン 2.3.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.15.0  | ソフト | 

------
#### [ 2.3.4 ]

次の表に、このコンポーネントのバージョン 2.3.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.14.0  | ソフト | 

------
#### [ 2.3.2 and 2.3.3 ]

次の表に、このコンポーネントのバージョン 2.3.2 および 2.3.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.13.0  | ソフト | 

------
#### [ 2.2.10 and 2.3.1 ]

次の表に、このコンポーネントのバージョン 2.2.10 および 2.3.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.12.0  | ソフト | 

------
#### [ 2.2.8 and 2.2.9 ]

次の表に、このコンポーネントのバージョン 2.2.8 および 2.2.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.11.0  | ソフト | 

------
#### [ 2.2.7 ]

次の表に、このコンポーネントのバージョン 2.2.7 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.10.0  | ソフト | 

------
#### [ 2.2.6 ]

次の表に、このコンポーネントのバージョン 2.2.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.9.0  | ソフト | 

------
#### [ 2.2.5 ]

次の表に、このコンポーネントのバージョン 2.2.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.8.0  | ソフト | 

------
#### [ 2.2.4 ]

次の表に、このコンポーネントのバージョン 2.2.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.7.0  | ソフト | 

------
#### [ 2.2.1 - 2.2.3 ]

次の表に、このコンポーネントのバージョン 2.2.1 から 2.2.3 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.6.0  | ソフト | 

------
#### [ 2.2.0 ]

次の表に、このコンポーネントのバージョン 2.2.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.5.0 <2.6.0  | ソフト | 

------
#### [ 2.1.3 and 2.1.4 ]

次の表に、このコンポーネントのバージョン 2.1.3 および 2.1.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.5.0  | ソフト | 

------
#### [ 2.1.2 ]

次の表に、このコンポーネントのバージョン 2.1.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.4.0  | ソフト | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.3.0  | ソフト | 

------
#### [ 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.1.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.2.0  | ソフト | 

------
#### [ 2.0.x ]

次の表に、このコンポーネントのバージョン 2.0.x の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.3 <2.1.0  | ソフト | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 構成
<a name="lambda-manager-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

`logHandlerMode`  
Lambda マネージャーバージョン 2.3.0 以降のみ 
使用する Lambda ログマネージャーの実装を選択するために使用されます。Lambda ログを読み取るために使用するスレッドの数を減らすには、`optimized` に値を設定します。

`getResultTimeoutInSecond`  
(オプション) Lambda 関数がタイムアウトするまでの最大実行時間 (秒)。  
デフォルト: `60`

## ローカルログファイル
<a name="lambda-manager-component-log-file"></a>

このコンポーネントは、[Greengrass nucleus](greengrass-nucleus-component.md) コンポーネントと同じログファイルを使用します。

```
/greengrass/v2/logs/greengrass.log
```

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。を AWS IoT Greengrass ルートフォルダへのパス`/greengrass/v2`に置き換えます。

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

## 変更ログ
<a name="lambda-manager-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.3.7  |  Greengrass nucleus バージョン 2.16.0 リリース用にバージョンが更新されました。  | 
|  2.3.6  | Greengrass nucleus バージョン 2.15.0 リリース用にバージョンが更新されました。 | 
|  2.3.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.3.4  | Greengrass nucleus バージョン 2.13.0 のリリース用にバージョンが更新されました。 | 
|  2.3.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.3.2  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.3.1  |  <a name="changelog-lambda-manager-2.3.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.3.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.2.11  |  <a name="changelog-lambda-manager-2.2.11"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.2.10  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.2.9  |  <a name="changelog-lambda-manager-2.2.9"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.2.8  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.2.7  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.2.6  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.2.5  |  <a name="changelog-lambda-manager-2.2.5"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.2.4  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.2.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.2.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.2.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.2.0  |  <a name="changelog-lambda-manager-2.2.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.1.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.1.3  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.1.2  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.1.1  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.1.0  |  Greengrass nucleus バージョン 2.1.0 のリリース用にバージョンが更新されました。  | 
|  2.0.3  |  当初のバージョン  | 

# Lambda ランタイム
<a name="lambda-runtimes-component"></a>

Lambda ランタイムコンポーネント (`aws.greengrass.LambdaRuntimes`) は、Greengrass コアデバイスが AWS Lambda 関数を実行するために使用するランタイムを提供します。

**注記**  <a name="lambda-component-dependency-note"></a>
Lambda 関数コンポーネントをコアデバイスにデプロイすると、デプロイにはこのコンポーネントも含められます。詳細については、「[AWS Lambda 関数を実行する](run-lambda-functions.md)」を参照してください。

**Topics**
+ [バージョン](#lambda-runtimes-component-versions)
+ [タイプ](#lambda-runtimes-component-type)
+ [オペレーティングシステム](#lambda-runtimes-component-os-support)
+ [要件](#lambda-runtimes-component-requirements)
+ [依存関係](#lambda-runtimes-component-dependencies)
+ [設定](#lambda-runtimes-component-configuration)
+ [ローカルログファイル](#lambda-runtimes-component-log-file)
+ [変更ログ](#lambda-runtimes-component-changelog)

## バージョン
<a name="lambda-runtimes-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.0.x

## タイプ
<a name="lambda-runtimes-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="lambda-runtimes-component-os-support"></a>

このコンポーネントは、Linux コアデバイスにのみインストールできます。

## 要件
<a name="lambda-runtimes-component-requirements"></a>

このコンポーネントには次の要件があります。
+ <a name="core-device-lambda-function-requirements"></a>コアデバイスは、Lambda 関数を実行するための要件を満たしている必要があります。コアデバイスが、コンテナ化された Lambda 関数を実行させる場合、そのデバイスは要件を満たす必要があります。詳細については、「[Lambda 関数の要件](setting-up.md#greengrass-v2-lambda-requirements)」を参照してください。
+ Lambda ランタイムコンポーネントは、VPC での実行がサポートされています。

## 依存関係
<a name="lambda-runtimes-component-dependencies"></a>

このコンポーネントに依存関係はありません。

## 設定
<a name="lambda-runtimes-component-configuration"></a>

このコンポーネントに設定パラメータはありません。

## ローカルログファイル
<a name="lambda-runtimes-component-log-file"></a>

このコンポーネントはログを出力しません。

## 変更ログ
<a name="lambda-runtimes-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.0.9  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/lambda-runtimes-component.html)  | 
|  2.0.8  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  2.0.7  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.0.6  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.0.5  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.0.4  |  Greengrass nucleus バージョン 2.1.0 のリリース用にバージョンが更新されました。  | 
|  2.0.3  |  当初のバージョン  | 

# レガシーサブスクリプションルーター
<a name="legacy-subscription-router-component"></a>

レガシーサブスクリプションルータ (`aws.greengrass.LegacySubscriptionRouter`) は、Greengrass コアデバイスのサブスクリプションを管理します。サブスクリプションは、Lambda 関数がコアデバイスで MQTT メッセージングに使用できるトピックを定義する AWS IoT Greengrass V1 の機能です。詳細については、「*AWS IoT Greengrass V1 デベロッパーガイド*」の「[Managed subscriptions in the MQTT messaging workflow](https://docs.aws.amazon.com/greengrass/v1/developerguide/gg-sec.html#gg-msg-workflow)」を参照してください。

このコンポーネントを使用して、 AWS IoT Greengrass Core SDK を使用するコネクタコンポーネントと Lambda 関数コンポーネントのサブスクリプションを有効にできます。

**注記**  <a name="legacy-subscription-router-requirement-note"></a>
レガシーサブスクリプションルーターコンポーネントは、Lambda 関数が AWS IoT Greengrass Core SDK で `publish()`関数を使用する場合にのみ必要です。 AWS IoT Device SDK V2 でプロセス間通信 (IPC) インターフェイスを使用するように Lambda 関数コードを更新する場合、レガシーサブスクリプションルーターコンポーネントをデプロイする必要はありません。詳細については、次の[プロセス間通信](interprocess-communication.md)サービスを参照してください。  
[ローカルメッセージをパブリッシュ/サブスクライブする](ipc-publish-subscribe.md)
[AWS IoT Core MQTT メッセージを発行/サブスクライブする](ipc-iot-core-mqtt.md)

**Topics**
+ [バージョン](#legacy-subscription-router-component-versions)
+ [タイプ](#legacy-subscription-router-component-type)
+ [オペレーティングシステム](#legacy-subscription-router-component-os-support)
+ [要件](#legacy-subscription-router-component-requirements)
+ [依存関係](#legacy-subscription-router-component-dependencies)
+ [設定](#legacy-subscription-router-component-configuration)
+ [ローカルログファイル](#legacy-subscription-router-component-log-file)
+ [変更ログ](#legacy-subscription-router-component-changelog)

## バージョン
<a name="legacy-subscription-router-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.1.x
+ 2.0.x

## タイプ
<a name="legacy-subscription-router-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="legacy-subscription-router-component-os-support"></a>

このコンポーネントは、Linux コアデバイスにのみインストールできます。

## 要件
<a name="legacy-subscription-router-component-requirements"></a>

このコンポーネントには次の要件があります。
+ レガシーサブスクリプションルーターは、VPC での実行がサポートされています。

## 依存関係
<a name="legacy-subscription-router-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#legacy-subscription-router-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.1.15 ]

次の表に、このコンポーネントのバージョン 2.1.15 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.17.0 | ソフト | 

------
#### [ 2.1.14 ]

次の表に、このコンポーネントのバージョン 2.1.14 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.16.0 | ソフト | 

------
#### [ 2.1.13 ]

次の表に、このコンポーネントのバージョン 2.1.13 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.15.0 | ソフト | 

------
#### [ 2.1.12 ]

次の表に、このコンポーネントのバージョン 2.1.12 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.14.0 | ソフト | 

------
#### [ 2.1.11 ]

次の表に、このコンポーネントのバージョン 2.1.11 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | ソフト | 

------
#### [ 2.1.10 ]

次の表に、このコンポーネントのバージョン 2.1.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | ソフト | 

------
#### [ 2.1.9 ]

次の表に、このコンポーネントのバージョン 2.1.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | ソフト | 

------
#### [ 2.1.8 ]

次の表に、このコンポーネントのバージョン 2.1.8 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | ソフト | 

------
#### [ 2.1.7 ]

次の表に、このコンポーネントのバージョン 2.1.7 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | ソフト | 

------
#### [ 2.1.6 ]

次の表に、このコンポーネントのバージョン 2.1.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | ソフト | 

------
#### [ 2.1.5 ]

次の表に、このコンポーネントのバージョン 2.1.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | ソフト | 

------
#### [ 2.1.4 ]

次の表に、このコンポーネントのバージョン 2.1.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | ソフト | 

------
#### [ 2.1.3 ]

次の表に、このコンポーネントのバージョン 2.1.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | ソフト | 

------
#### [ 2.1.2 ]

次の表に、このコンポーネントのバージョン 2.1.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | ソフト | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | ソフト | 

------
#### [ 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.1.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | ソフト | 

------
#### [ 2.0.3 ]

次の表に、このコンポーネントのバージョン 2.0.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.3 <2.1.0 | ソフト | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 設定
<a name="legacy-subscription-router-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

------
#### [ v2.1.x ]

`subscriptions`  
<a name="legacy-subscription-router-component-configuration-subscriptions-intro"></a>(オプション) コアデバイスで有効にするサブスクリプション。これはオブジェクトで、各キーは一意の ID であり、各値はそのコネクタのサブスクリプションを定義するオブジェクトです。V1 コネクタコンポーネントまたは AWS IoT Greengrass Core SDK を使用する Lambda 関数をデプロイするときに、サブスクリプションを設定する必要があります。  
各サブスクリプションオブジェクトには、次の情報が含まれます:    
`id`  <a name="legacy-subscription-router-component-configuration-subscription-id"></a>
このサブスクリプションの一意の ID。この ID は、このサブスクリプションオブジェクトのキーと一致する必要があります。  
`source`  
Core AWS IoT Greengrass SDK を使用して、 で指定したトピックに MQTT メッセージを発行する Lambda 関数`subject`。次のいずれかを指定します。  
+ <a name="legacy-subscription-router-component-configuration-subscription-source-target-component-name"></a>コアデバイスでの Lambda 関数コンポーネントの名前。**component:com.example.HelloWorldLambda** などの `component:` プレフィックスを付けてコンポーネント名を指定します。
+ <a name="legacy-subscription-router-component-configuration-subscription-source-target-function-arn"></a>コアデバイスの Lambda 関数の Amazon リソースネーム (ARN)。
**重要**  <a name="legacy-subscription-router-function-version-requirement"></a>
Lambda 関数のバージョンが変更された場合は、関数の新しいバージョンでサブスクリプションを設定する必要があります。これを怠ると、バージョンがサブスクリプションと一致しないうちは、このコンポーネントはメッセージをルーティングしません。  
インポートする関数のバージョンが含まれた Amazon リソースネーム (ARN) を指定する必要があります。`$LATEST` のようなバージョンエイリアスは使用できません。
V1 コネクタコンポーネントのサブスクリプションをデプロイするには、コンポーネントの名前またはコネクタコンポーネントの Lambda 関数の ARN を指定します。  
`subject`  <a name="legacy-subscription-router-component-configuration-subscription-subject"></a>
ソースとターゲットがメッセージを発行および受信できる MQTT トピックまたはトピックフィルター。この値は `+` および `#` トピックのワイルドカードをサポートしています。  
`target`  
<a name="legacy-subscription-router-component-configuration-subscription-target-intro"></a>`subject` で指定したトピックに関する MQTT メッセージを受信するターゲット。サブスクリプションは、 `source`関数がコアデバイスの Lambda 関数に対して AWS IoT Core MQTT メッセージを発行することを指定します。次のいずれかを指定します。  
+ <a name="legacy-subscription-router-component-configuration-subscription-target-cloud"></a>`cloud`。 `source` 関数は MQTT メッセージを に発行します AWS IoT Core。
+ <a name="legacy-subscription-router-component-configuration-subscription-source-target-component-name"></a>コアデバイスでの Lambda 関数コンポーネントの名前。**component:com.example.HelloWorldLambda** などの `component:` プレフィックスを付けてコンポーネント名を指定します。
+ <a name="legacy-subscription-router-component-configuration-subscription-source-target-function-arn"></a>コアデバイスの Lambda 関数の Amazon リソースネーム (ARN)。
**重要**  <a name="legacy-subscription-router-function-version-requirement"></a>
Lambda 関数のバージョンが変更された場合は、関数の新しいバージョンでサブスクリプションを設定する必要があります。これを怠ると、バージョンがサブスクリプションと一致しないうちは、このコンポーネントはメッセージをルーティングしません。  
インポートする関数のバージョンが含まれた Amazon リソースネーム (ARN) を指定する必要があります。`$LATEST` のようなバージョンエイリアスは使用できません。
デフォルト: サブスクリプションなし

**Example 設定更新の例 (サブスクリプションの定義 AWS IoT Core)**  
次の例では、`com.example.HelloWorldLambda`Lambda 関数コンポーネントが`hello/world`トピック AWS IoT Core の に MQTT メッセージを発行することを指定します。  

```
{
  "subscriptions": {
    "Greengrass_HelloWorld_to_cloud": {
      "id": "Greengrass_HelloWorld_to_cloud",
      "source": "component:com.example.HelloWorldLambda",
      "subject": "hello/world",
      "target": "cloud"
    }
  }
}
```

**Example 設定更新の例 (別の Lambda 関数に対するサブスクリプションの定義)**  
以下の例は、`com.example.HelloWorldLambda` Lambda 関数コンポーネントが `com.example.MessageRelay` Lambda 関数コンポーネントに `hello/world` トピックに関する MQTT メッセージを公開することを指定します。  

```
{
  "subscriptions": {
    "Greengrass_HelloWorld_to_MessageRelay": {
      "id": "Greengrass_HelloWorld_to_MessageRelay",
      "source": "component:com.example.HelloWorldLambda",
      "subject": "hello/world",
      "target": "component:com.example.MessageRelay"
    }
  }
}
```

------
#### [ v2.0.x ]

`subscriptions`  
<a name="legacy-subscription-router-component-configuration-subscriptions-intro"></a>(オプション) コアデバイスで有効にするサブスクリプション。これはオブジェクトで、各キーは一意の ID であり、各値はそのコネクタのサブスクリプションを定義するオブジェクトです。V1 コネクタコンポーネントまたは AWS IoT Greengrass Core SDK を使用する Lambda 関数をデプロイするときに、サブスクリプションを設定する必要があります。  
各サブスクリプションオブジェクトには、次の情報が含まれます:    
`id`  <a name="legacy-subscription-router-component-configuration-subscription-id"></a>
このサブスクリプションの一意の ID。この ID は、このサブスクリプションオブジェクトのキーと一致する必要があります。  
`source`  
Core AWS IoT Greengrass SDK を使用して、 で指定したトピックに MQTT メッセージを発行する Lambda 関数`subject`。次を指定します:  
+ <a name="legacy-subscription-router-component-configuration-subscription-source-target-function-arn"></a>コアデバイスの Lambda 関数の Amazon リソースネーム (ARN)。
**重要**  <a name="legacy-subscription-router-function-version-requirement"></a>
Lambda 関数のバージョンが変更された場合は、関数の新しいバージョンでサブスクリプションを設定する必要があります。これを怠ると、バージョンがサブスクリプションと一致しないうちは、このコンポーネントはメッセージをルーティングしません。  
インポートする関数のバージョンが含まれた Amazon リソースネーム (ARN) を指定する必要があります。`$LATEST` のようなバージョンエイリアスは使用できません。
V1 コネクタコンポーネントのサブスクリプションをデプロイするには、コネクタコンポーネントの Lambda 関数の ARN を指定します。  
`subject`  <a name="legacy-subscription-router-component-configuration-subscription-subject"></a>
ソースとターゲットがメッセージを発行および受信できる MQTT トピックまたはトピックフィルター。この値は `+` および `#` トピックのワイルドカードをサポートしています。  
`target`  
<a name="legacy-subscription-router-component-configuration-subscription-target-intro"></a>`subject` で指定したトピックに関する MQTT メッセージを受信するターゲット。サブスクリプションは、 `source`関数がコアデバイスの Lambda 関数に対して AWS IoT Core MQTT メッセージを発行することを指定します。次のいずれかを指定します。  
+ <a name="legacy-subscription-router-component-configuration-subscription-target-cloud"></a>`cloud`。 `source` 関数は MQTT メッセージを に発行します AWS IoT Core。
+ <a name="legacy-subscription-router-component-configuration-subscription-source-target-function-arn"></a>コアデバイスの Lambda 関数の Amazon リソースネーム (ARN)。
**重要**  <a name="legacy-subscription-router-function-version-requirement"></a>
Lambda 関数のバージョンが変更された場合は、関数の新しいバージョンでサブスクリプションを設定する必要があります。これを怠ると、バージョンがサブスクリプションと一致しないうちは、このコンポーネントはメッセージをルーティングしません。  
インポートする関数のバージョンが含まれた Amazon リソースネーム (ARN) を指定する必要があります。`$LATEST` のようなバージョンエイリアスは使用できません。
デフォルト: サブスクリプションなし

**Example 設定更新の例 (サブスクリプションの定義 AWS IoT Core)**  
次の例では、 `Greengrass_HelloWorld`関数が `hello/world`トピックで MQTT メッセージを AWS IoT Core に発行することを指定します。  

```
"subscriptions": {
  "Greengrass_HelloWorld_to_cloud": {
    "id": "Greengrass_HelloWorld_to_cloud",
    "source": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_HelloWorld:5",
    "subject": "hello/world",
    "target": "cloud"
  }
}
```

**Example 設定更新の例 (別の Lambda 関数に対するサブスクリプションの定義)**  
以下の例は、`Greengrass_HelloWorld` 関数が `Greengrass_MessageRelay` に `hello/world` トピックに関する MQTT メッセージを公開することを指定します。  

```
"subscriptions": {
  "Greengrass_HelloWorld_to_MessageRelay": {
    "id": "Greengrass_HelloWorld_to_MessageRelay",
    "source": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_HelloWorld:5",
    "subject": "hello/world",
    "target": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_MessageRelay:5"
  }
}
```

------

## ローカルログファイル
<a name="legacy-subscription-router-component-log-file"></a>

このコンポーネントはログを出力しません。

## 変更ログ
<a name="legacy-subscription-router-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  バージョン  |  変更  | 
| --- | --- | 
|  2.1.15  |  Greengrass nucleus バージョン 2.16.0 リリース用にバージョンが更新されました。  | 
|  2.1.14  | Greengrass nucleus バージョン 2.15.0 リリース用にバージョンが更新されました。 | 
|  2.1.13  | Greengrass nucleus バージョン 2.14.0 リリース用にバージョンが更新されました。 | 
|  2.1.12  | Greengrass nucleus バージョン 2.13.0 のリリース用にバージョンが更新されました。 | 
|  2.1.11  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.1.10  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.1.9  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.1.8  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.1.7  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.1.6  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.1.5  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.1.4  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  2.1.3  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.1.2  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.1.1  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.1.0  |  <a name="changelog-legacy-subscription-router-2.1.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/legacy-subscription-router-component.html)  | 
|  2.0.3  |  当初のバージョン  | 

# ローカルデバッグコンソール
<a name="local-debug-console-component"></a>

ローカルデバッグコンソールコンポーネント (`aws.greengrass.LocalDebugConsole`) には、 AWS IoT Greengrass コアデバイスとそのコンポーネントに関する情報を表示するローカルダッシュボードが用意されています。このダッシュボードを使用し、コアデバイスをデバッグしてローカルコンポーネントを管理できます。

**重要**  
 <a name="local-dev-tools-production-environment-warning"></a>このコンポーネントは、本番環境ではなく、開発環境でのみで使用することをお勧めします。このコンポーネントは、通常、本番環境では必要とされない情報や操作へのアクセスを提供します。このコンポーネントを必要なコアデバイスにのみデプロイして、最小特権の原則に従います。

**Topics**
+ [バージョン](#local-debug-console-component-versions)
+ [タイプ](#local-debug-console-component-type)
+ [オペレーティングシステム](#local-debug-console-component-os-support)
+ [要件](#local-debug-console-component-requirements)
+ [依存関係](#local-debug-console-component-dependencies)
+ [構成](#local-debug-console-component-configuration)
+ [使用方法](#local-debug-console-component-usage)
+ [ローカルログファイル](#local-debug-console-component-log-file)
+ [変更ログ](#local-debug-console-component-changelog)

## バージョン
<a name="local-debug-console-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.4.x
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## タイプ
<a name="local-debug-console-component-type"></a>

<a name="public-component-type-plugin-para1"></a>このコンポーネントはプラグインコンポーネント (`aws.greengrass.plugin`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、nucleus と同じ Java バーチャルマシン (JVM) でこのコンポーネントを実行します。コアデバイスでこのコンポーネントのバージョンを変更するとき、nucleus が再起動します。

<a name="public-component-type-plugin-para2"></a>このコンポーネントは、Greengrass nucleus と同じログファイルを使用します。詳細については、「[AWS IoT Greengrass ログのモニタリング](monitor-logs.md)」を参照してください。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="local-debug-console-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 要件
<a name="local-debug-console-component-requirements"></a>

このコンポーネントには次の要件があります。
+ ユーザー名とパスワードを使用してダッシュボードにサインインします。`debug` であるユーザー名は、お客様に提供されます。 AWS IoT Greengrass CLI を使用して、コアデバイスのダッシュボードで認証する一時パスワードを作成する必要があります。ローカルデバッグコンソールを使用するには、 CLI AWS IoT Greengrass を使用できる必要があります。詳細については、「[Greengrass CLI の要件](greengrass-cli-component.md#greengrass-cli-component-requirements)」を参照してください。パスワードを生成してサインインする方法の詳細については、「[ローカルデバッグコンソールコンポーネントの使用方法](#local-debug-console-component-usage)」を参照してください。
+ ローカルデバッグコンソールコンポーネントは、VPC で実行できるようにサポートされています。

## 依存関係
<a name="local-debug-console-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#local-debug-console-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.4.6 ]

次の表に、このコンポーネントのバージョン 2.4.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.10.0 <2.17.0 | ハード | 
| [Greengrass CLI](greengrass-cli-component.md) | >=2.10.0 <2.17.0 | ハード | 

------
#### [ 2.4.5 ]

次の表に、このコンポーネントのバージョン 2.4.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.10.0 <2.16.0 | ハード | 
| [Greengrass CLI](greengrass-cli-component.md) | >=2.10.0 <2.16.0 | ハード | 

------
#### [ 2.4.4 ]

次の表に、このコンポーネントのバージョン 2.4.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.10.0 <2.15.0 | ハード | 
| [Greengrass CLI](greengrass-cli-component.md) | >=2.10.0 <2.15.0 | ハード | 

------
#### [ 2.4.3 ]

次の表に、このコンポーネントのバージョン 2.4.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.10.0 <2.14.0 | ハード | 
| [Greengrass CLI](greengrass-cli-component.md) | >=2.10.0 <2.14.0 | ハード | 

------
#### [ 2.4.1 – 2.4.2 ]

次の表に、このコンポーネントのバージョン 2.4.1 から 2.4.2 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.10.0 <2.13.0 | ハード | 
| [Greengrass CLI](greengrass-cli-component.md) | >=2.10.0 <2.13.0 | ハード | 

------
#### [ 2.4.0 ]

次の表に、このコンポーネントのバージョン 2.4.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.10.0 <2.12.0 | ハード | 
| [Greengrass CLI](greengrass-cli-component.md) | >=2.10.0 <2.12.0 | ハード | 

------
#### [ 2.3.0 and 2.3.1 ]

次の表に、このコンポーネントのバージョン 2.3.0 および 2.3.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.10.0 <2.12.0 | ハード | 
| [Greengrass CLI](greengrass-cli-component.md) | >=2.10.0 <2.12.0 | ハード | 

------
#### [ 2.2.9 ]

次の表に、このコンポーネントのバージョン 2.2.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.12.0 | ハード | 
| [Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.12.0 | ハード | 

------
#### [ 2.2.8 ]

次の表に、このコンポーネントのバージョン 2.2.8 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.11.0 | ハード | 
| [Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.11.0 | ハード | 

------
#### [ 2.2.7 ]

次の表に、このコンポーネントのバージョン 2.2.7 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.10.0 | ハード | 
| [Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.10.0 | ハード | 

------
#### [ 2.2.6 ]

次の表に、このコンポーネントのバージョン 2.2.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.9.0 | ハード | 
| [Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.9.0 | ハード | 

------
#### [ 2.2.5 ]

次の表に、このコンポーネントのバージョン 2.2.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.8.0 | ハード | 
| [Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.8.0 | ハード | 

------
#### [ 2.2.4 ]

次の表に、このコンポーネントのバージョン 2.2.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.7.0 | ハード | 
| [Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.7.0 | ハード | 

------
#### [ 2.2.3 ]

次の表に、このコンポーネントのバージョン 2.2.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.6.0 | ハード | 
| [Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.6.0 | ハード | 

------
#### [ 2.2.2 ]

次の表に、このコンポーネントのバージョン 2.2.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.5.0 | ハード | 
| [Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.5.0 | ハード | 

------
#### [ 2.2.1 ]

次の表に、このコンポーネントのバージョン 2.2.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.4.0 | ハード | 
| [Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.4.0 | ハード | 

------
#### [ 2.2.0 ]

次の表に、このコンポーネントのバージョン 2.2.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.3.0 | ハード | 
| [Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.3.0 | ハード | 

------
#### [ 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.1.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.2.0 | ハード | 

------
#### [ 2.0.x ]

次の表に、このコンポーネントのバージョン 2.0.x の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.3 <2.1.0  | ソフト | 
| [Greengrass CLI](greengrass-cli-component.md) |  >=2.0.3 <2.1.0  | ソフト | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 構成
<a name="local-debug-console-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

------
#### [ v2.1.x - v2.4.x ]

`httpsEnabled`  
(オプション) ローカルデバッグコンソールに HTTPS 通信を有効にできます。HTTPS 通信を有効にした場合、ローカルデバッグコンソールは自己署名証明書を作成します。Web ブラウザは、自己署名証明書を使用する ウェブサイトのセキュリティ警告が表示するため、証明書を手動で認証する必要があります。次に、警告をバイパスできます。詳細については、「[使用方法](#local-debug-console-component-usage)」を参照してください。  
デフォルト: `true`

`port`  <a name="local-debug-console-component-configuration-port"></a>
(任意) ローカルデバッグコンソールを提供するポート。  
デフォルト: `1441`

`websocketPort`  <a name="local-debug-console-component-configuration-websocket-port"></a>
(オプション) ローカルデバッグコンソールに使用するウェブソケットポート。  
デフォルト: `1442`

`bindHostname`  <a name="local-debug-console-component-configuration-bind-hostname"></a>
(オプション) ローカルデバッグコンソールに使用するホスト名。  
[Docker コンテナで AWS IoT Greengrass Core ソフトウェアを実行する](run-greengrass-docker.md)場合は、このパラメータを に設定して`0.0.0.0`、Docker コンテナの外部でローカルデバッグコンソールを開くことができるようにします。  
デフォルト: `localhost`

**Example 例: 設定マージの更新**  
次の設定の例では、デフォルト以外のポートでローカルデバッグコンソールを開いて、HTTPS を無効にするように指定しています。  

```
{
  "httpsEnabled": false,
  "port": "10441",
  "websocketPort": "10442"
}
```

------
#### [ v2.0.x ]

`port`  <a name="local-debug-console-component-configuration-port"></a>
(任意) ローカルデバッグコンソールを提供するポート。  
デフォルト: `1441`

`websocketPort`  <a name="local-debug-console-component-configuration-websocket-port"></a>
(オプション) ローカルデバッグコンソールに使用するウェブソケットポート。  
デフォルト: `1442`

`bindHostname`  <a name="local-debug-console-component-configuration-bind-hostname"></a>
(オプション) ローカルデバッグコンソールに使用するホスト名。  
[Docker コンテナで AWS IoT Greengrass Core ソフトウェアを実行する](run-greengrass-docker.md)場合は、このパラメータを に設定して`0.0.0.0`、Docker コンテナの外部でローカルデバッグコンソールを開くことができるようにします。  
デフォルト: `localhost`

**Example 例: 設定マージの更新**  
次の設定の例では、デフォルト以外のポートでローカルデバッグコンソールを開くように指定しています。  

```
{
  "port": "10441",
  "websocketPort": "10442"
}
```

------

## 使用方法
<a name="local-debug-console-component-usage"></a>

ローカルデバッグコンソールを使用するには、Greengrass CLI からセッションを作成します。セッションを作成するとき、Greengrass CLI はローカルデバッグコンソールへのサインインに使用できるユーザー名と一時パスワードを提供します。

次の指示に従って、コアデバイスまたは開発コンピュータでローカルデバッグコンソールを開きます。

------
#### [ v2.1.x - v2.4.x ]

バージョン 2.1.0 以降では、ローカルデバッグコンソールはデフォルトで HTTPS を使用します。HTTPS を有効にするとき、ローカルデバッグコンソールは自己署名証明書を作成して接続を保護します。この自己署名証明書のため、ローカルデバッグコンソールを開くと、ウェブブラウザにセキュリティ警告が表示されます。Greengrass CLI を使用してセッションを作成するとき、出力に証明書のフィンガープリントが含まれるため、証明書が正当であり、接続が安全であることを確認できます。

HTTPS を無効にできます。詳細については、「[ローカルデバッグコンソールの設定](#local-debug-console-component-configuration)」を参照してください。

**ローカルデバッグコンソールを開くには**

1. <a name="local-debug-console-component-usage-forward-port"></a>(オプション) 開発コンピュータでローカルデバッグコンソールを確認するには、コンソールのポートを SSH 経由で転送できます。ただし、最初にコアデバイスの SSH 設定ファイルに `AllowTcpForwarding` オプションを有効にする必要があります。デフォルトでは、このオプションは有効になっています。開発用コンピュータに次のコマンドを実行して、開発用コンピュータの `localhost:1441` でダッシュボードを確認します。

   ```
   ssh -L 1441:localhost:1441 -L 1442:localhost:1442 username@core-device-ip-address
   ```
**注記**  
デフォルトのポートを `1441` と `1442` から変更できます。詳細については、「[ローカルデバッグコンソールの設定](#local-debug-console-component-configuration)」を参照してください。

1. <a name="local-debug-console-component-create-session-step"></a>セッションを作成してローカルデバッグコンソールを使用します。セッションを作成するとき、認証に使用するパスワードを生成します。このコンポーネントを使用して重要な情報を確認して、コアデバイスで操作を実行するため、ローカルデバッグコンソールはセキュリティを強化するためにパスワードが必要です。コンポーネント設定で HTTPS を有効にすると、ローカルデバッグ コンソールも接続を保護するための証明書を作成します。HTTPS はデフォルトで有効になっています。

    AWS IoT Greengrass CLI を使用してセッションを作成します。このコマンドは、8 時間後に有効期限が切れるランダムな 43 文字のパスワードを生成します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass V2 ルートフォルダへのパスに置き換えます。

------
#### [ Linux or Unix ]

   ```
   sudo /greengrass/v2/bin/greengrass-cli get-debug-password
   ```

------
#### [ Windows ]

   ```
   C:\greengrass\v2\bin\greengrass-cli get-debug-password
   ```

------

   ローカルデバッグコンソールが HTTPS を使用するように設定した場合、コマンド出力は次の例のようになります。ローカルデバッグコンソールを開くとき、証明書フィンガープリントを使用して接続が安全であることを確認します。

   ```
   Username: debug
   Password: bEDp3MOHdj8ou2w5de_sCBI2XAaguy3a8XxREXAMPLE
   Password expires at: 2021-04-01T17:01:43.921999931-07:00
   The local debug console is configured to use TLS security. The certificate is self-signed so you will need to bypass your web browser's security warnings to open the console.
   Before you bypass the security warning, verify that the certificate fingerprint matches the following fingerprints.
   SHA-256: 15 0B 2C E2 54 8B 22 DE 08 46 54 8A B1 2B 25 DE FB 02 7D 01 4E 4A 56 67 96 DA A6 CC B1 D2 C4 1B
   SHA-1: BC 3E 16 04 D3 80 70 DA E0 47 25 F9 90 FA D6 02 80 3E B5 C1
   ```

   デバッグビューコンポーネントは 8 時間続くセッションを作成します。その後、ローカルデバッグコンソールを再度再度するには、新しいパスワードを生成する必要があります。

1. ダッシュボードを開いてサインインします。Greengrass コアデバイスでダッシュボードを確認します。または、 SSH 経由でポートを転送する場合、開発コンピュータで確認します。次のいずれかを行います。
   + デフォルト設定であるローカルデバッグコンソールで HTTPS を有効にした場合、次の手順を実行します。

     1. コアデバイスで `https://localhost:1441` を開きます。または、 SSH 経由でポートを転送した場合、開発コンピュータで開きます。

        ブラウザに、無効なセキュリティ証明書に関するセキュリティ警告が表示されることがあります。

     1. ブラウザにセキュリティ警告が表示された場合、証明書が正当であることを確認してセキュリティ警告をバイパスします。以下の操作を実行します。

        1. 証明書の SHA-256 または SHA-1 フィンガープリントを検索し、`get-debug-password` コマンドは以前に出力した SHA-256 または SHA-1 フィンガープリントと一致することを確認します。ブラウザは、一方または両方のフィンガープリントを提供することがあります。証明書とそのフィンガープリントを確認するには、ブラウザのマニュアルを参照してください。一部のブラウザでは、証明書のフィンガープリントはサムプリントと呼ばれます。
**注記**  
証明書のフィンガープリントが一致しない場合、[Step 2](#local-debug-console-component-create-session-step) に移動して新しいセッションを作成します。証明書のフィンガープリントがそれでも一致しない場合、接続が安全ではない可能性があります。

        1. 証明書のフィンガープリントが一致する場合、ブラウザのセキュリティ警告をバイパスして、ローカルデバッグコンソールを開きます。ブラウザのセキュリティ警告をバイパスするには、ブラウザのマニュアルを参照してください。

     1. `get-debug-password` コマンドが以前に出力したユーザー名とパスワードを使用して、ウェブサイトにサインインします。

        ローカルデバッグコンソールが開きます。

     1. TLS ハンドシェイクが失敗したことにより、ローカルデバッグコンソールが WebSocket に接続できないというエラーを表示した場合、WebSocket URL の自己署名セキュリティ警告をバイパスする必要があります。  
![\[ローカルデバッグコンソールの WebSocket TLS ハンドシェイクエラー。\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/images/local-debug-console/websocket-tls-handshake-error.png)

        以下の操作を実行します。

        1. ローカルデバッグコンソールを開いたときと同じブラウザで `https://localhost:1442` を開きます。

        1. 証明書を確認してセキュリティ警告をバイパスします。

           警告をバイパスすると、ブラウザに HTTP 404 ページが表示されることがあります。

        1. 再度 `https://localhost:1441` を開きます。

           ローカルデバッグコンソールには、コアデバイスに関する情報が表示されます。
   + ローカルデバッグコンソールで HTTPS を無効にした場合、次の手順を実行ます。

     1. <a name="local-debug-console-component-usage-open-localhost-http"></a>コアデバイスで `http://localhost:1441` を開きます。または、SSH 経由でポートを転送した場合、開発コンピュータで開きます。

     1. <a name="local-debug-console-component-usage-sign-in"></a>`get-debug-password` コマンドが以前に出力したユーザー名とパスワードを使用して、ウェブサイトにサインインします。

        ローカルデバッグコンソールが開きます。

------
#### [ v2.0.x ]

**ローカルデバッグコンソールを開くには**

1. <a name="local-debug-console-component-usage-forward-port"></a>(オプション) 開発コンピュータでローカルデバッグコンソールを確認するには、コンソールのポートを SSH 経由で転送できます。ただし、最初にコアデバイスの SSH 設定ファイルに `AllowTcpForwarding` オプションを有効にする必要があります。デフォルトでは、このオプションは有効になっています。開発用コンピュータに次のコマンドを実行して、開発用コンピュータの `localhost:1441` でダッシュボードを確認します。

   ```
   ssh -L 1441:localhost:1441 -L 1442:localhost:1442 username@core-device-ip-address
   ```
**注記**  
デフォルトのポートを `1441` と `1442` から変更できます。詳細については、「[ローカルデバッグコンソールの設定](#local-debug-console-component-configuration)」を参照してください。

1. セッションを作成してローカルデバッグコンソールを使用します。セッションを作成するとき、認証に使用するパスワードを生成します。このコンポーネントを使用して重要な情報を確認して、コアデバイスで操作を実行するため、ローカルデバッグコンソールはセキュリティを強化するためにパスワードが必要です。

    AWS IoT Greengrass CLI を使用してセッションを作成します。このコマンドは、8 時間後に有効期限が切れるランダムな 43 文字のパスワードを生成します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass V2 ルートフォルダへのパスに置き換えます。

------
#### [ Linux or Unix ]

   ```
   sudo /greengrass/v2/bin/greengrass-cli get-debug-password
   ```

------
#### [ Windows ]

   ```
   C:\greengrass\v2\bin\greengrass-cli get-debug-password
   ```

------

   コマンド出力は、次の例のようになります。

   ```
   Username: debug
   Password: bEDp3MOHdj8ou2w5de_sCBI2XAaguy3a8XxREXAMPLE
   Password will expire at: 2021-04-01T17:01:43.921999931-07:00
   ```

   デバッグビューコンポーネントは 4 時間続くセッションを作成し、さらにローカルデバッグコンソールを再度確認するため、新しいパスワードを生成する必要があります。

1. <a name="local-debug-console-component-usage-open-localhost-http"></a>コアデバイスで `http://localhost:1441` を開きます。または、SSH 経由でポートを転送した場合、開発コンピュータで開きます。

1. <a name="local-debug-console-component-usage-sign-in"></a>`get-debug-password` コマンドが以前に出力したユーザー名とパスワードを使用して、ウェブサイトにサインインします。

   ローカルデバッグコンソールが開きます。

------

## ローカルログファイル
<a name="local-debug-console-component-log-file"></a>

このコンポーネントは、[Greengrass nucleus](greengrass-nucleus-component.md) コンポーネントと同じログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="local-debug-console-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.4.6  |  Greengrass nucleus バージョン 2.16.0 リリース用にバージョンが更新されました。  | 
|  2.4.5  | Greengrass nucleus バージョン 2.15.0 リリース用にバージョンが更新されました。 | 
|  2.4.4  | Greengrass nucleus バージョン 2.14.0 リリース用にバージョンが更新されました。 | 
|  2.4.3  |  Greengrass nucleus バージョン 2.13.0 のリリース用にバージョンが更新されました。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/local-debug-console-component.html)  | 
|  2.4.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/local-debug-console-component.html)  | 
|  2.4.1  |  Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.4.0  |  <a name="changelog-local-debug-console-2.4.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/local-debug-console-component.html)  | 
|  2.3.1  |  Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.3.0  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/local-debug-console-component.html) | 
|  2.2.7  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.2.6  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.2.5  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.2.4  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.2.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/local-debug-console-component.html)  | 
|  2.2.2  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.2.1  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.2.0  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.1.0  |  <a name="changelog-local-debug-console-2.1.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/local-debug-console-component.html)  | 
|  2.0.3  |  当初のバージョン  | 

# ログマネージャー
<a name="log-manager-component"></a>

**警告**  
Log Manager v2.3.5 以降にアップグレードすることをお勧めします。バージョン 2.3.5 は Log Manager 設定の書き込みが最適化され、IO オペレーションを減らし、ログアップロード速度、全体的なデバイスパフォーマンスを向上させ、デバイスの寿命が延びます。

ログマネージャーコンポーネント (`aws.greengrass.LogManager`) は、 AWS IoT Greengrass コアデバイスから Amazon CloudWatch Logs にログをアップロードします。Greengrass nucleus、他の Greengrass コンポーネント、Greengrass コンポーネントではない他のアプリケーションとサービスからログをアップロードできます。CloudWatch Logs とローカルファイルシステムのログのモニタリング方法に関する詳細については、「[AWS IoT Greengrass ログのモニタリング](monitor-logs.md)」を参照してください。

<a name="log-manager-considerations-intro"></a>次の考慮事項は、ログマネージャーコンポーネントを使用して CloudWatch Logs に書き込むときに適用されます。<a name="log-manager-considerations"></a>
+ **ログ遅延**

  ログマネージャーコンポーネントバージョン 2.2.8 (およびそれ以前) は、ローテーションされたログファイルからのみ、ログを処理およびアップロードします。デフォルトでは、 AWS IoT Greengrass Core ソフトウェアは 1 時間ごと、または 1,024 KB のログファイルをローテーションします。その結果、ログマネージャーコンポーネントは、 AWS IoT Greengrass Core ソフトウェアまたは Greengrass コンポーネントが 1,024 KB 分のログを書き込んだ後にのみログをアップロードします。ログファイルの容量上限を低く設定して、ログファイルのローテーション頻度を上げることができます。これにより、ログマネージャーコンポーネントが CloudWatch Logs にログをアップロードする頻度が高くなります。

  ログマネージャーコンポーネントバージョン 2.3.0 (およびそれ以降) は、すべてのログを処理およびアップロードします。新しいログを書き込むと、ログマネージャーバージョン 2.3.0 (およびそれ以降) は、ローテーションを待つことなく、そのアクティブなログファイルを処理して直接アップロードします。そのため、5 分以内に新しいログを表示することができます。

  ログマネージャーコンポーネントは、新しいログを定期的にアップロードします。デフォルトで、ログマネージャーコンポーネントは 5 分ごとに新しいログをアップロードします。`periodicUploadIntervalSec` を設定することで、ログマネージャーコンポーネントがより頻繁に CloudWatch Logs にログをアップロードするように、より短いアップロード間隔を設定できます。この定期的な間隔を設定する方法の詳細については、「[設定](https://docs.aws.amazon.com/greengrass/v2/developerguide/log-manager-component.html#log-manager-component-configuration)」を参照してください。

  ログは、同じ Greengrass ファイルシステムからほぼリアルタイムでアップロードできます。ログをリアルタイムで監視する必要がある場合、[ファイルシステムログ](monitor-logs.md#access-local-logs)の使用を検討してください。
**注記**  
ログの書き込み先として別のファイルシステムを使用している場合、ログマネージャーは、ログマネージャーコンポーネントバージョン 2.2.8 以前の動作に戻ります。ファイルシステムログへのアクセスについては、「[ファイルシステムログをアクセス](https://docs.aws.amazon.com/greengrass/v2/developerguide/monitor-logs.html#access-local-logs)」を参照してください。
+ **クロックスキュー**

  ログマネージャーコンポーネントは、標準の署名バージョン 4 の署名プロセスを使用して、CloudWatch Logs への API 要求を作成します。コアデバイスのシステム時刻が同期していない時間が 15 分を超えると、CloudWatch Logs は要求を拒否します。詳細については、「AWS 全般のリファレンス」の「[署名バージョン 4 の署名プロセス](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)」を参照してください。

このコンポーネントがログをアップロードするロググループとログストリームの情報については、「[使用方法](#log-manager-component-usage)」を参照してください。

**Topics**
+ [バージョン](#log-manager-component-versions)
+ [タイプ](#log-manager-component-type)
+ [オペレーティングシステム](#log-manager-component-os-support)
+ [要件](#log-manager-component-requirements)
+ [依存関係](#log-manager-component-dependencies)
+ [設定](#log-manager-component-configuration)
+ [使用方法](#log-manager-component-usage)
+ [ローカルログファイル](#log-manager-component-log-file)
+ [変更ログ](#log-manager-component-changelog)

## バージョン
<a name="log-manager-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## タイプ
<a name="log-manager-component-type"></a>

<a name="public-component-type-plugin-para1"></a>このコンポーネントはプラグインコンポーネント (`aws.greengrass.plugin`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、nucleus と同じ Java バーチャルマシン (JVM) でこのコンポーネントを実行します。コアデバイスでこのコンポーネントのバージョンを変更するとき、nucleus が再起動します。

<a name="public-component-type-plugin-para2"></a>このコンポーネントは、Greengrass nucleus と同じログファイルを使用します。詳細については、「[AWS IoT Greengrass ログのモニタリング](monitor-logs.md)」を参照してください。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="log-manager-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Server 

## 要件
<a name="log-manager-component-requirements"></a>

このコンポーネントには次の要件があります。
+ 次の IAM ポリシーの例で示されているように、[Greengrass デバイスのロール](device-service-role.md)は、`logs:CreateLogGroup`、`logs:CreateLogStream`、`logs:PutLogEvents`、`logs:DescribeLogStreams` アクションを許可する必要があります。

  ```
  {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "logs:CreateLogGroup",
          "logs:CreateLogStream",
          "logs:PutLogEvents",
          "logs:DescribeLogStreams"
        ],
        "Effect": "Allow",
        "Resource": "arn:aws:logs:*:*:*"
      }
    ]
  }
  ```
**注記**  
 AWS IoT Greengrass Core ソフトウェアのインストール時に作成する [Greengrass デバイスロール](device-service-role.md)には、デフォルトでこのポリシー例のアクセス許可が含まれています。

  詳細については、「*Amazon CloudWatch Logs ユーザーガイド*」の「[Using identity-based policies (IAM policies) for CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-identity-based-access-control-cwl.html)」を参照してください。
+ ログマネージャーコンポーネントは、VPC での実行がサポートされるようになりました。このコンポーネントを VPC にデプロイするには、以下が必要です。
  + ログマネージャーコンポーネントには、VPC エンドポイントが `com.amazonaws.us-east-1.logs` である `logs.region.amazonaws.com` への接続が必要です。

### エンドポイントおよびポート
<a name="log-manager-component-endpoints"></a>

このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。


| Endpoint | ポート | 必要 | 説明 | 
| --- | --- | --- | --- | 
|  `logs.region.amazonaws.com`  | 443 | いいえ |  ログを CloudWatch Logs に書き込む場合に必要です。  | 

## 依存関係
<a name="log-manager-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#log-manager-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.3.11 ]

次の表に、このコンポーネントのバージョン 2.3.11 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.17.0 | ソフト | 

------
#### [ 2.3.10 ]

次の表に、このコンポーネントのバージョン 2.3.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.16.0 | ソフト | 

------
#### [ 2.3.9 ]

次の表に、このコンポーネントのバージョン 2.3.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.15.0 | ソフト | 

------
#### [ 2.3.8 ]

次の表に、このコンポーネントのバージョン 2.3.8 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.14.0 | ソフト | 

------
#### [ 2.3.7 ]

次の表に、このコンポーネントのバージョン 2.3.7 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.13.0 | ソフト | 

------
#### [ 2.3.5 and 2.3.6 ]

次の表に、このコンポーネントのバージョン 2.3.5 および 2.3.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.12.0 | ソフト | 

------
#### [ 2.3.3 – 2.3.4 ]

次の表に、このコンポーネントのバージョン 2.3.3 から 2.3.4 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.11.0 | ソフト | 

------
#### [ 2.2.8 – 2.3.2 ]

次の表に、このコンポーネントのバージョン 2.2.8 から 2.3.2 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.10.0 | ソフト | 

------
#### [ 2.2.7 ]

次の表に、このコンポーネントのバージョン 2.2.7 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.9.0 | ソフト | 

------
#### [ 2.2.6 ]

次の表に、このコンポーネントのバージョン 2.2.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.8.0 | ソフト | 

------
#### [ 2.2.5 ]

次の表に、このコンポーネントのバージョン 2.2.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.7.0 | ソフト | 

------
#### [ 2.2.1 - 2.2.4 ]

次の表に、このコンポーネントのバージョン 2.2.1～2.2.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.6.0 | ソフト | 

------
#### [ 2.1.3 and 2.2.0 ]

次の表に、このコンポーネントのバージョン 2.1.3 および 2.2.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.5.0 | ソフト | 

------
#### [ 2.1.2 ]

次の表に、このコンポーネントのバージョン 2.1.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.4.0 | ソフト | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.3.0 | ソフト | 

------
#### [ 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.1.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.2.0  | ソフト | 

------
#### [ 2.0.x ]

次の表に、このコンポーネントのバージョン 2.0.x の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.3 <2.1.0  | ソフト | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 設定
<a name="log-manager-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

------
#### [ v2.3.10 ]

`logsUploaderConfiguration`  
(オプション) ログマネージャーコンポーネントがアップロードするログの設定。このオブジェクトには、次の情報が含まれます。    
  `systemLogsConfiguration`   
(オプション) [Greengrass nucleus ](greengrass-nucleus-component.md)および[プラグインコンポーネント](develop-greengrass-components.md#component-types)からのログを含む AWS IoT Greengrass Core ソフトウェアシステムログの設定。ログマネージャーコンポーネントがシステムログを管理できるようにするため、この設定を指定します。このオブジェクトには、次の情報が含まれます。    
`uploadToCloudWatch`  <a name="log-manager-component-configuration-system-upload-to-cloud-watch"></a>
(オプション) CloudWatch Logs にシステムログをアップロードできます。  
デフォルト: `false`  
`minimumLogLevel`  <a name="log-manager-component-configuration-system-minimum-log-level"></a>
(オプション) アップロードするログメッセージの最小レベル。この最小レベルは、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)が JSON 形式のログを出力するように設定した場合のみ、適用されます。JSON 形式のログを有効にするには、[ログ形式](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format)パラメータ (`logging.format`) の `JSON` を指定します。  
こちらにレベル順に一覧表示されているログレベルから選択します。  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
デフォルト: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-system-disk-space-limit"></a>
(オプション) Greengrass システムログファイルの最大合計サイズ (`diskSpaceLimitUnit` で指定する単位)。Greengrass システムログファイルの合計サイズがこの最大合計サイズを超えると、 AWS IoT Greengrass Core ソフトウェアは最も古い Greengrass システムログファイルを削除します。  
このパラメータは、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)の[ログサイズ上限](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)パラメータ (`totalLogsSizeKB`) と同等です。 AWS IoT Greengrass Core ソフトウェアは、Greengrass システムログの最大合計サイズとして 2 つの値の最小値を使用します。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(オプション) `diskSpaceLimit` の単位。次のオプションから選択します。  
+ `KB` - キロバイト
+ `MB` - メガバイト
+ `GB` - ギガバイト
デフォルト: `KB`  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(オプション) ログマネージャーコンポーネントが CloudWatch Logs にログをアップロードしたら、ログファイルを削除できます。  
デフォルト: `false`  
  `componentLogsConfigurationMap`   
(オプション) コアデバイスのコンポーネント用ログ設定のマップ。このマップにある各 `componentName` オブジェクトは、コンポーネントまたはアプリケーションのログ設定を定義します。ログマネージャーコンポーネントは、これらのコンポーネントのログを CloudWatch Logs にアップロードします。  
コンポーネントごとに 1 つの設定キーを使用することを強くお勧めします。`logFileRegex` を使用するときは、アクティブに書き込まれているログファイルが 1 つしかないファイルのグループのみに的を絞ってください。この推奨事項に従わない場合、重複したログが CloudWatch にアップロードされる可能性があります。単一の正規表現で複数のアクティブなログファイルを対象とする場合は、ログマネージャーを v2.3.1 以降にアップグレードし、[設定例](#log-manager-multiple-logs-v2.3.10)を使用した設定変更のご検討をお勧めします。
v2.2.0 より前のバージョンのログマネージャーからアップグレードする場合、`componentLogsConfigurationMap` ではなく、`componentLogsConfiguration` リストを使い続けることができます。ただし、マージとリセットの更新を使用して特定コンポーネントの設定を修正できるように、マップ形式を使用することを強くお勧めします。`componentLogsConfiguration` パラメータの情報については、このコンポーネントの v2.1.x の設定パラメータを参照してください。  
*`componentName`*  
*`componentName`* コンポーネントのログ設定またはこのログ設定のアプリケーション。Greengrass コンポーネントの名前または別の値を指定して、このロググループを識別できます。  
各オブジェクトには、次の情報が含まれます:    
`minimumLogLevel`  <a name="log-manager-component-configuration-component-minimum-log-level"></a>
(オプション) アップロードするログメッセージの最小レベル。この最小レベルは、このコンポーネントのログが特定の JSON 形式を使用している場合にのみ適用されます。JSON 形式については、GitHub の [AWS IoT Greengrass ログモジュール](https://github.com/aws-greengrass/aws-greengrass-logging-java)リポジトリで確認できます。  
こちらにレベル順に一覧表示されているログレベルから選択します。  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
デフォルト: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-component-disk-space-limit"></a>
(オプション) このコンポーネントにおけるすべてのログファイルの最大合計サイズ (`diskSpaceLimitUnit` で指定する単位)。このコンポーネントのログファイルの合計サイズがこの最大合計サイズを超えると、 AWS IoT Greengrass Core ソフトウェアはこのコンポーネントの最も古いログファイルを削除します。  
このパラメータは、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)の[ログサイズ上限](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)パラメータ (`totalLogsSizeKB`) に関連しています。 AWS IoT Greengrass Core ソフトウェアは、このコンポーネントの最大合計ログサイズとして 2 つの値の最小値を使用します。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(オプション) `diskSpaceLimit` の単位。次のオプションから選択します。  
+ `KB` - キロバイト
+ `MB` - メガバイト
+ `GB` - ギガバイト
デフォルト: `KB`  
`logFileDirectoryPath`  <a name="log-manager-component-configuration-component-log-file-dir-path"></a>
(オプション) このコンポーネントのログファイルを含むフォルダへのパス。  
標準出力 (stdout) と標準エラー (stderr) に出力する Greengrass コンポーネントには、このパラメータを指定する必要はありません。  
デフォルト: `/greengrass/v2/logs`。  
`logFileRegex`  <a name="log-manager-component-configuration-component-log-file-regex"></a>
(オプション) コンポーネントまたはアプリケーションが使用するログファイル名の形式を指定する正規表現。ログマネージャーコンポーネントは、この正規表現を使用して `logFileDirectoryPath` のフォルダのログファイルを識別します。  
標準出力 (stdout) と標準エラー (stderr) に出力する Greengrass コンポーネントには、このパラメータを指定する必要はありません。  
コンポーネントまたはアプリケーションがログファイルをローテーションする場合、ローテーションされたログファイル名と一致する正規表現を指定します。例えば、**hello\$1world\$1\$1\$1\$1w\$1.log** が Hello World アプリケーションにログをアップロードするように指定します。`\\\\w*` パターンは、英数字とアンダースコアを含むゼロ以上の単語文字と一致します。この正規表現は、名前のタイムスタンプの有無にかかわらず、ログファイルを照合します。この例では、ログマネージャーは次のログファイルをアップロードします。  
+ `hello_world.log` - Hello World アプリケーションの最新ログファイル。
+ `hello_world_2020_12_15_17_0.log` - Hello World アプリケーションの古いログファイル。
デフォルト: *componentName* がこのログ設定におけるコンポーネントの名前である場合の `componentName\\\\w*.log`。  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(オプション) ログマネージャーコンポーネントが CloudWatch Logs にログをアップロードしたら、ログファイルを削除できます。  
デフォルト: `false`  
`multiLineStartPattern`  <a name="log-manager-component-configuration-component-multi-line-start-pattern"></a>
(オプション) 新しい行のログメッセージが新しいログメッセージであるときに識別する正規表現。正規表現が新しい行と一致しない場合、ログマネージャーコンポーネントは新しい行を前の行のログメッセージに追加します。  
デフォルトでは、ログマネージャーコンポーネントは、行が空白文字 (タブまたはスペースなど) で始まるかどうかについてチェックします。そうでない場合、ログマネージャーはその行を新しいログメッセージとして処理します。それ以外の場合、その行を現在のログメッセージに追加します。この動作により、ログマネージャーコンポーネントが複数行 (スタックトレースなど) にまたがるメッセージを分割しないようにします。

  `periodicUploadIntervalSec`   
(オプション) ログマネージャーコンポーネントがアップロードする新しいログファイルをチェックする期間 (秒)。  
デフォルト: `300` (5 分)  
最小: `0.000001` (1 マイクロ秒)

`updateToTlogIntervalSec`  
(オプション) nucleus が Amazon CloudWatch Events ログアップロードイベントの詳細をローカルトランザクションログ (`config.tlog`) に書き込む間隔 (秒)。デフォルトは `periodicUploadIntervalSec` で指定された値になります。このパラメータを変更して、書き込み間隔を長くすることができます。  
デフォルト: `periodicUploadIntervalSec`  
最小: `periodicUploadIntervalSec`

`deprecatedVersionSupport`  
ログマネージャーが v2.3.5 で導入されたロギング速度の向上を使用するかどうかを示します。値を `false` に設定してこの機能強化を使用します。  
ログマネージャー v2.3.1 以前からアップグレードするときにこの値を `false` に設定すると、重複したログエントリがアップロードされる場合があります。  
デフォルトは `true` です。

**Example 例: 設定マージの更新**  
次の設定例では、システムログと `com.example.HelloWorld` コンポーネントログを CloudWatch Logs にアップロードすることを指定しています。  

```
{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true",
      "minimumLogLevel": "INFO",
      "diskSpaceLimit": "10",
      "diskSpaceLimitUnit": "MB",
      "deleteLogFileAfterCloudUpload": "false"
    },
    "componentLogsConfigurationMap": {
      "com.example.HelloWorld": {
        "minimumLogLevel": "INFO",
        "diskSpaceLimit": "20",
        "diskSpaceLimitUnit": "MB",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "300",
  "deprecatedVersionSupport": "false"
}
```

**Example 例: ログマネージャー v2.3.1 を使用して、複数のアクティブなログファイルをアップロードための設定**  
複数のアクティブなログファイルを対象にする場合は、次の設定例が推奨されます。この設定例では、CloudWatch にアップロードするアクティブなログファイルを指定します。この設定例を使用すると、`logFileRegex`に一致するローテーションファイルもアップロードされます。この設定例は、ログマネージャー v2.3.1 でサポートされています。  

```
{
  "logsUploaderConfiguration": {
    "componentLogsConfigurationMap": {
      "com.example.A": {
        "logFileRegex": "com.example.A\\w*.log",
        "deleteLogFileAfterCloudUpload": "false"
      }
      "com.example.B": {
        "logFileRegex": "com.example.B\\w*.log",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "10"
}
```

------
#### [ v2.3.6 – v2.3.9 ]

`logsUploaderConfiguration`  
(オプション) ログマネージャーコンポーネントがアップロードするログの設定。このオブジェクトには、次の情報が含まれます。    
  `systemLogsConfiguration`   
(オプション) [Greengrass nucleus ](greengrass-nucleus-component.md)および[プラグインコンポーネント](develop-greengrass-components.md#component-types)からのログを含む AWS IoT Greengrass Core ソフトウェアシステムログの設定。ログマネージャーコンポーネントがシステムログを管理できるようにするため、この設定を指定します。このオブジェクトには、次の情報が含まれます。    
`uploadToCloudWatch`  <a name="log-manager-component-configuration-system-upload-to-cloud-watch"></a>
(オプション) CloudWatch Logs にシステムログをアップロードできます。  
デフォルト: `false`  
`minimumLogLevel`  <a name="log-manager-component-configuration-system-minimum-log-level"></a>
(オプション) アップロードするログメッセージの最小レベル。この最小レベルは、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)が JSON 形式のログを出力するように設定した場合のみ、適用されます。JSON 形式のログを有効にするには、[ログ形式](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format)パラメータ (`logging.format`) の `JSON` を指定します。  
こちらにレベル順に一覧表示されているログレベルから選択します。  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
デフォルト: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-system-disk-space-limit"></a>
(オプション) Greengrass システムログファイルの最大合計サイズ (`diskSpaceLimitUnit` で指定する単位)。Greengrass システムログファイルの合計サイズがこの最大合計サイズを超えると、 AWS IoT Greengrass Core ソフトウェアは最も古い Greengrass システムログファイルを削除します。  
このパラメータは、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)の[ログサイズ上限](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)パラメータ (`totalLogsSizeKB`) と同等です。 AWS IoT Greengrass Core ソフトウェアは、Greengrass システムログの最大合計サイズとして 2 つの値の最小値を使用します。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(オプション) `diskSpaceLimit` の単位。次のオプションから選択します。  
+ `KB` - キロバイト
+ `MB` - メガバイト
+ `GB` - ギガバイト
デフォルト: `KB`  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(オプション) ログマネージャーコンポーネントが CloudWatch Logs にログをアップロードしたら、ログファイルを削除できます。  
デフォルト: `false`  
  `componentLogsConfigurationMap`   
(オプション) コアデバイスのコンポーネント用ログ設定のマップ。このマップにある各 `componentName` オブジェクトは、コンポーネントまたはアプリケーションのログ設定を定義します。ログマネージャーコンポーネントは、これらのコンポーネントのログを CloudWatch Logs にアップロードします。  
コンポーネントごとに 1 つの設定キーを使用することを強くお勧めします。`logFileRegex` を使用するときは、アクティブに書き込まれているログファイルが 1 つしかないファイルのグループのみに的を絞ってください。この推奨事項に従わない場合、重複したログが CloudWatch にアップロードされる可能性があります。単一の正規表現で複数のアクティブなログファイルを対象とする場合は、ログマネージャーを v2.3.1 以降にアップグレードし、[設定例](#log-manager-multiple-logs-v2.3.1)を使用した設定変更のご検討をお勧めします。
v2.2.0 より前のバージョンのログマネージャーからアップグレードする場合、`componentLogsConfigurationMap` ではなく、`componentLogsConfiguration` リストを使い続けることができます。ただし、マージとリセットの更新を使用して特定コンポーネントの設定を修正できるように、マップ形式を使用することを強くお勧めします。`componentLogsConfiguration` パラメータの情報については、このコンポーネントの v2.1.x の設定パラメータを参照してください。  
*`componentName`*  
*`componentName`* コンポーネントのログ設定またはこのログ設定のアプリケーション。Greengrass コンポーネントの名前または別の値を指定して、このロググループを識別できます。  
各オブジェクトには、次の情報が含まれます:    
`minimumLogLevel`  <a name="log-manager-component-configuration-component-minimum-log-level"></a>
(オプション) アップロードするログメッセージの最小レベル。この最小レベルは、このコンポーネントのログが特定の JSON 形式を使用している場合にのみ適用されます。JSON 形式については、GitHub の [AWS IoT Greengrass ログモジュール](https://github.com/aws-greengrass/aws-greengrass-logging-java)リポジトリで確認できます。  
こちらにレベル順に一覧表示されているログレベルから選択します。  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
デフォルト: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-component-disk-space-limit"></a>
(オプション) このコンポーネントにおけるすべてのログファイルの最大合計サイズ (`diskSpaceLimitUnit` で指定する単位)。このコンポーネントのログファイルの合計サイズがこの最大合計サイズを超えると、 AWS IoT Greengrass Core ソフトウェアはこのコンポーネントの最も古いログファイルを削除します。  
このパラメータは、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)の[ログサイズ上限](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)パラメータ (`totalLogsSizeKB`) に関連しています。 AWS IoT Greengrass Core ソフトウェアは、このコンポーネントの最大合計ログサイズとして 2 つの値の最小値を使用します。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(オプション) `diskSpaceLimit` の単位。次のオプションから選択します。  
+ `KB` - キロバイト
+ `MB` - メガバイト
+ `GB` - ギガバイト
デフォルト: `KB`  
`logFileDirectoryPath`  <a name="log-manager-component-configuration-component-log-file-dir-path"></a>
(オプション) このコンポーネントのログファイルを含むフォルダへのパス。  
標準出力 (stdout) と標準エラー (stderr) に出力する Greengrass コンポーネントには、このパラメータを指定する必要はありません。  
デフォルト: `/greengrass/v2/logs`。  
`logFileRegex`  <a name="log-manager-component-configuration-component-log-file-regex"></a>
(オプション) コンポーネントまたはアプリケーションが使用するログファイル名の形式を指定する正規表現。ログマネージャーコンポーネントは、この正規表現を使用して `logFileDirectoryPath` のフォルダのログファイルを識別します。  
標準出力 (stdout) と標準エラー (stderr) に出力する Greengrass コンポーネントには、このパラメータを指定する必要はありません。  
コンポーネントまたはアプリケーションがログファイルをローテーションする場合、ローテーションされたログファイル名と一致する正規表現を指定します。例えば、**hello\$1world\$1\$1\$1\$1w\$1.log** が Hello World アプリケーションにログをアップロードするように指定します。`\\\\w*` パターンは、英数字とアンダースコアを含むゼロ以上の単語文字と一致します。この正規表現は、名前のタイムスタンプの有無にかかわらず、ログファイルを照合します。この例では、ログマネージャーは次のログファイルをアップロードします。  
+ `hello_world.log` - Hello World アプリケーションの最新ログファイル。
+ `hello_world_2020_12_15_17_0.log` - Hello World アプリケーションの古いログファイル。
デフォルト: *componentName* がこのログ設定におけるコンポーネントの名前である場合の `componentName\\\\w*.log`。  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(オプション) ログマネージャーコンポーネントが CloudWatch Logs にログをアップロードしたら、ログファイルを削除できます。  
デフォルト: `false`  
`multiLineStartPattern`  <a name="log-manager-component-configuration-component-multi-line-start-pattern"></a>
(オプション) 新しい行のログメッセージが新しいログメッセージであるときに識別する正規表現。正規表現が新しい行と一致しない場合、ログマネージャーコンポーネントは新しい行を前の行のログメッセージに追加します。  
デフォルトでは、ログマネージャーコンポーネントは、行が空白文字 (タブまたはスペースなど) で始まるかどうかについてチェックします。そうでない場合、ログマネージャーはその行を新しいログメッセージとして処理します。それ以外の場合、その行を現在のログメッセージに追加します。この動作により、ログマネージャーコンポーネントが複数行 (スタックトレースなど) にまたがるメッセージを分割しないようにします。

  `periodicUploadIntervalSec`   
(オプション) ログマネージャーコンポーネントがアップロードする新しいログファイルをチェックする期間 (秒)。  
デフォルト: `300` (5 分)  
最小: `0.000001` (1 マイクロ秒)

`deprecatedVersionSupport`  
ログマネージャーが v2.3.5 で導入されたロギング速度の向上を使用するかどうかを示します。値を `false` に設定してこの機能強化を使用します。  
ログマネージャー v2.3.1 以前からアップグレードするときにこの値を `false` に設定すると、重複したログエントリがアップロードされる場合があります。  
デフォルトは `true` です。

**Example 例: 設定マージの更新**  
次の設定例では、システムログと `com.example.HelloWorld` コンポーネントログを CloudWatch Logs にアップロードすることを指定しています。  

```
{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true",
      "minimumLogLevel": "INFO",
      "diskSpaceLimit": "10",
      "diskSpaceLimitUnit": "MB",
      "deleteLogFileAfterCloudUpload": "false"
    },
    "componentLogsConfigurationMap": {
      "com.example.HelloWorld": {
        "minimumLogLevel": "INFO",
        "diskSpaceLimit": "20",
        "diskSpaceLimitUnit": "MB",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "300",
  "deprecatedVersionSupport": "false"
}
```

**Example 例: ログマネージャー v2.3.1 を使用して、複数のアクティブなログファイルをアップロードための設定**  
複数のアクティブなログファイルを対象にする場合は、次の設定例が推奨されます。この設定例では、CloudWatch にアップロードするアクティブなログファイルを指定します。この設定例を使用すると、`logFileRegex`に一致するローテーションファイルもアップロードされます。この設定例は、ログマネージャー v2.3.1 でサポートされています。  

```
{
  "logsUploaderConfiguration": {
    "componentLogsConfigurationMap": {
      "com.example.A": {
        "logFileRegex": "com.example.A\\w*.log",
        "deleteLogFileAfterCloudUpload": "false"
      }
      "com.example.B": {
        "logFileRegex": "com.example.B\\w*.log",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "10"
}
```

------
#### [ v2.3.0 – 2.3.5 ]

`logsUploaderConfiguration`  
(オプション) ログマネージャーコンポーネントがアップロードするログの設定。このオブジェクトには、次の情報が含まれます。    
  `systemLogsConfiguration`   
(オプション) [Greengrass nucleus ](greengrass-nucleus-component.md)および[プラグインコンポーネント](develop-greengrass-components.md#component-types)からのログを含む AWS IoT Greengrass Core ソフトウェアシステムログの設定。ログマネージャーコンポーネントがシステムログを管理できるようにするため、この設定を指定します。このオブジェクトには、次の情報が含まれます。    
`uploadToCloudWatch`  <a name="log-manager-component-configuration-system-upload-to-cloud-watch"></a>
(オプション) CloudWatch Logs にシステムログをアップロードできます。  
デフォルト: `false`  
`minimumLogLevel`  <a name="log-manager-component-configuration-system-minimum-log-level"></a>
(オプション) アップロードするログメッセージの最小レベル。この最小レベルは、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)が JSON 形式のログを出力するように設定した場合のみ、適用されます。JSON 形式のログを有効にするには、[ログ形式](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format)パラメータ (`logging.format`) の `JSON` を指定します。  
こちらにレベル順に一覧表示されているログレベルから選択します。  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
デフォルト: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-system-disk-space-limit"></a>
(オプション) Greengrass システムログファイルの最大合計サイズ (`diskSpaceLimitUnit` で指定する単位)。Greengrass システムログファイルの合計サイズがこの最大合計サイズを超えると、 AWS IoT Greengrass Core ソフトウェアは最も古い Greengrass システムログファイルを削除します。  
このパラメータは、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)の[ログサイズ上限](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)パラメータ (`totalLogsSizeKB`) と同等です。 AWS IoT Greengrass Core ソフトウェアは、Greengrass システムログの最大合計サイズとして 2 つの値の最小値を使用します。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(オプション) `diskSpaceLimit` の単位。次のオプションから選択します。  
+ `KB` - キロバイト
+ `MB` - メガバイト
+ `GB` - ギガバイト
デフォルト: `KB`  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(オプション) ログマネージャーコンポーネントが CloudWatch Logs にログをアップロードしたら、ログファイルを削除できます。  
デフォルト: `false`  
  `componentLogsConfigurationMap`   
(オプション) コアデバイスのコンポーネント用ログ設定のマップ。このマップにある各 `componentName` オブジェクトは、コンポーネントまたはアプリケーションのログ設定を定義します。ログマネージャーコンポーネントは、これらのコンポーネントのログを CloudWatch Logs にアップロードします。  
コンポーネントごとに 1 つの設定キーを使用することを強くお勧めします。`logFileRegex` を使用するときは、アクティブに書き込まれているログファイルが 1 つしかないファイルのグループのみに的を絞ってください。この推奨事項に従わない場合、重複したログが CloudWatch にアップロードされる可能性があります。単一の正規表現で複数のアクティブなログファイルを対象とする場合は、ログマネージャーを v2.3.1 にアップグレードし、[設定例](#log-manager-multiple-logs-v2.3.1)を使用した設定変更のご検討をお勧めします。
v2.2.0 より前のバージョンのログマネージャーからアップグレードする場合、`componentLogsConfigurationMap` ではなく、`componentLogsConfiguration` リストを使い続けることができます。ただし、マージとリセットの更新を使用して特定コンポーネントの設定を修正できるように、マップ形式を使用することを強くお勧めします。`componentLogsConfiguration` パラメータの情報については、このコンポーネントの v2.1.x の設定パラメータを参照してください。  
*`componentName`*  
*`componentName`* コンポーネントのログ設定またはこのログ設定のアプリケーション。Greengrass コンポーネントの名前または別の値を指定して、このロググループを識別できます。  
各オブジェクトには、次の情報が含まれます:    
`minimumLogLevel`  <a name="log-manager-component-configuration-component-minimum-log-level"></a>
(オプション) アップロードするログメッセージの最小レベル。この最小レベルは、このコンポーネントのログが特定の JSON 形式を使用している場合にのみ適用されます。JSON 形式については、GitHub の [AWS IoT Greengrass ログモジュール](https://github.com/aws-greengrass/aws-greengrass-logging-java)リポジトリで確認できます。  
こちらにレベル順に一覧表示されているログレベルから選択します。  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
デフォルト: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-component-disk-space-limit"></a>
(オプション) このコンポーネントにおけるすべてのログファイルの最大合計サイズ (`diskSpaceLimitUnit` で指定する単位)。このコンポーネントのログファイルの合計サイズがこの最大合計サイズを超えると、 AWS IoT Greengrass Core ソフトウェアはこのコンポーネントの最も古いログファイルを削除します。  
このパラメータは、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)の[ログサイズ上限](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)パラメータ (`totalLogsSizeKB`) に関連しています。 AWS IoT Greengrass Core ソフトウェアは、このコンポーネントの最大合計ログサイズとして 2 つの値の最小値を使用します。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(オプション) `diskSpaceLimit` の単位。次のオプションから選択します。  
+ `KB` - キロバイト
+ `MB` - メガバイト
+ `GB` - ギガバイト
デフォルト: `KB`  
`logFileDirectoryPath`  <a name="log-manager-component-configuration-component-log-file-dir-path"></a>
(オプション) このコンポーネントのログファイルを含むフォルダへのパス。  
標準出力 (stdout) と標準エラー (stderr) に出力する Greengrass コンポーネントには、このパラメータを指定する必要はありません。  
デフォルト: `/greengrass/v2/logs`。  
`logFileRegex`  <a name="log-manager-component-configuration-component-log-file-regex"></a>
(オプション) コンポーネントまたはアプリケーションが使用するログファイル名の形式を指定する正規表現。ログマネージャーコンポーネントは、この正規表現を使用して `logFileDirectoryPath` のフォルダのログファイルを識別します。  
標準出力 (stdout) と標準エラー (stderr) に出力する Greengrass コンポーネントには、このパラメータを指定する必要はありません。  
コンポーネントまたはアプリケーションがログファイルをローテーションする場合、ローテーションされたログファイル名と一致する正規表現を指定します。例えば、**hello\$1world\$1\$1\$1\$1w\$1.log** が Hello World アプリケーションにログをアップロードするように指定します。`\\\\w*` パターンは、英数字とアンダースコアを含むゼロ以上の単語文字と一致します。この正規表現は、名前のタイムスタンプの有無にかかわらず、ログファイルを照合します。この例では、ログマネージャーは次のログファイルをアップロードします。  
+ `hello_world.log` - Hello World アプリケーションの最新ログファイル。
+ `hello_world_2020_12_15_17_0.log` - Hello World アプリケーションの古いログファイル。
デフォルト: *componentName* がこのログ設定におけるコンポーネントの名前である場合の `componentName\\\\w*.log`。  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(オプション) ログマネージャーコンポーネントが CloudWatch Logs にログをアップロードしたら、ログファイルを削除できます。  
デフォルト: `false`  
`multiLineStartPattern`  <a name="log-manager-component-configuration-component-multi-line-start-pattern"></a>
(オプション) 新しい行のログメッセージが新しいログメッセージであるときに識別する正規表現。正規表現が新しい行と一致しない場合、ログマネージャーコンポーネントは新しい行を前の行のログメッセージに追加します。  
デフォルトでは、ログマネージャーコンポーネントは、行が空白文字 (タブまたはスペースなど) で始まるかどうかについてチェックします。そうでない場合、ログマネージャーはその行を新しいログメッセージとして処理します。それ以外の場合、その行を現在のログメッセージに追加します。この動作により、ログマネージャーコンポーネントが複数行 (スタックトレースなど) にまたがるメッセージを分割しないようにします。

  `periodicUploadIntervalSec`   
(オプション) ログマネージャーコンポーネントがアップロードする新しいログファイルをチェックする期間 (秒)。  
デフォルト: `300` (5 分)  
最小: `0.000001` (1 マイクロ秒)

**Example 例: 設定マージの更新**  
次の設定例では、システムログと `com.example.HelloWorld` コンポーネントログを CloudWatch Logs にアップロードすることを指定しています。  

```
{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true",
      "minimumLogLevel": "INFO",
      "diskSpaceLimit": "10",
      "diskSpaceLimitUnit": "MB",
      "deleteLogFileAfterCloudUpload": "false"
    },
    "componentLogsConfigurationMap": {
      "com.example.HelloWorld": {
        "minimumLogLevel": "INFO",
        "diskSpaceLimit": "20",
        "diskSpaceLimitUnit": "MB",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "300"
}
```

**Example 例: ログマネージャー v2.3.1 を使用して、複数のアクティブなログファイルをアップロードための設定**  
複数のアクティブなログファイルを対象にする場合は、次の設定例が推奨されます。この設定例では、CloudWatch にアップロードするアクティブなログファイルを指定します。この設定例を使用すると、`logFileRegex`に一致するローテーションファイルもアップロードされます。この設定例は、ログマネージャー v2.3.1 でサポートされています。  

```
{
  "logsUploaderConfiguration": {
    "componentLogsConfigurationMap": {
      "com.example.A": {
        "logFileRegex": "com.example.A\\w*.log",
        "deleteLogFileAfterCloudUpload": "false"
      }
      "com.example.B": {
        "logFileRegex": "com.example.B\\w*.log",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "10"
}
```

------
#### [ v2.2.x ]

`logsUploaderConfiguration`  
(オプション) ログマネージャーコンポーネントがアップロードするログの設定。このオブジェクトには、次の情報が含まれます。    
  `systemLogsConfiguration`   
(オプション) [Greengrass nucleus ](greengrass-nucleus-component.md)および[プラグインコンポーネント](develop-greengrass-components.md#component-types)からのログを含む AWS IoT Greengrass Core ソフトウェアシステムログの設定。ログマネージャーコンポーネントがシステムログを管理できるようにするため、この設定を指定します。このオブジェクトには、次の情報が含まれます。    
`uploadToCloudWatch`  <a name="log-manager-component-configuration-system-upload-to-cloud-watch"></a>
(オプション) CloudWatch Logs にシステムログをアップロードできます。  
デフォルト: `false`  
`minimumLogLevel`  <a name="log-manager-component-configuration-system-minimum-log-level"></a>
(オプション) アップロードするログメッセージの最小レベル。この最小レベルは、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)が JSON 形式のログを出力するように設定した場合のみ、適用されます。JSON 形式のログを有効にするには、[ログ形式](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format)パラメータ (`logging.format`) の `JSON` を指定します。  
こちらにレベル順に一覧表示されているログレベルから選択します。  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
デフォルト: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-system-disk-space-limit"></a>
(オプション) Greengrass システムログファイルの最大合計サイズ (`diskSpaceLimitUnit` で指定する単位)。Greengrass システムログファイルの合計サイズがこの最大合計サイズを超えると、 AWS IoT Greengrass Core ソフトウェアは最も古い Greengrass システムログファイルを削除します。  
このパラメータは、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)の[ログサイズ上限](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)パラメータ (`totalLogsSizeKB`) と同等です。 AWS IoT Greengrass Core ソフトウェアは、Greengrass システムログの最大合計サイズとして 2 つの値の最小値を使用します。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(オプション) `diskSpaceLimit` の単位。次のオプションから選択します。  
+ `KB` - キロバイト
+ `MB` - メガバイト
+ `GB` - ギガバイト
デフォルト: `KB`  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(オプション) ログマネージャーコンポーネントが CloudWatch Logs にログをアップロードしたら、ログファイルを削除できます。  
デフォルト: `false`  
  `componentLogsConfigurationMap`   
(オプション) コアデバイスのコンポーネント用ログ設定のマップ。このマップにある各 `componentName` オブジェクトは、コンポーネントまたはアプリケーションのログ設定を定義します。ログマネージャーコンポーネントは、これらのコンポーネントのログを CloudWatch Logs にアップロードします。  
v2.2.0 より前のバージョンのログマネージャーからアップグレードする場合、`componentLogsConfigurationMap` ではなく、`componentLogsConfiguration` リストを使い続けることができます。ただし、マージとリセットの更新を使用して特定コンポーネントの設定を修正できるように、マップ形式を使用することを強くお勧めします。`componentLogsConfiguration` パラメータの情報については、このコンポーネントの v2.1.x の設定パラメータを参照してください。  
*`componentName`*  
*`componentName`* コンポーネントのログ設定またはこのログ設定のアプリケーション。Greengrass コンポーネントの名前または別の値を指定して、このロググループを識別できます。  
各オブジェクトには、次の情報が含まれます:    
`minimumLogLevel`  <a name="log-manager-component-configuration-component-minimum-log-level"></a>
(オプション) アップロードするログメッセージの最小レベル。この最小レベルは、このコンポーネントのログが特定の JSON 形式を使用している場合にのみ適用されます。JSON 形式については、GitHub の [AWS IoT Greengrass ログモジュール](https://github.com/aws-greengrass/aws-greengrass-logging-java)リポジトリで確認できます。  
こちらにレベル順に一覧表示されているログレベルから選択します。  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
デフォルト: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-component-disk-space-limit"></a>
(オプション) このコンポーネントにおけるすべてのログファイルの最大合計サイズ (`diskSpaceLimitUnit` で指定する単位)。このコンポーネントのログファイルの合計サイズがこの最大合計サイズを超えると、 AWS IoT Greengrass Core ソフトウェアはこのコンポーネントの最も古いログファイルを削除します。  
このパラメータは、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)の[ログサイズ上限](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)パラメータ (`totalLogsSizeKB`) に関連しています。 AWS IoT Greengrass Core ソフトウェアは、このコンポーネントの最大合計ログサイズとして 2 つの値の最小値を使用します。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(オプション) `diskSpaceLimit` の単位。次のオプションから選択します。  
+ `KB` - キロバイト
+ `MB` - メガバイト
+ `GB` - ギガバイト
デフォルト: `KB`  
`logFileDirectoryPath`  <a name="log-manager-component-configuration-component-log-file-dir-path"></a>
(オプション) このコンポーネントのログファイルを含むフォルダへのパス。  
標準出力 (stdout) と標準エラー (stderr) に出力する Greengrass コンポーネントには、このパラメータを指定する必要はありません。  
デフォルト: `/greengrass/v2/logs`。  
`logFileRegex`  <a name="log-manager-component-configuration-component-log-file-regex"></a>
(オプション) コンポーネントまたはアプリケーションが使用するログファイル名の形式を指定する正規表現。ログマネージャーコンポーネントは、この正規表現を使用して `logFileDirectoryPath` のフォルダのログファイルを識別します。  
標準出力 (stdout) と標準エラー (stderr) に出力する Greengrass コンポーネントには、このパラメータを指定する必要はありません。  
コンポーネントまたはアプリケーションがログファイルをローテーションする場合、ローテーションされたログファイル名と一致する正規表現を指定します。例えば、**hello\$1world\$1\$1\$1\$1w\$1.log** が Hello World アプリケーションにログをアップロードするように指定します。`\\\\w*` パターンは、英数字とアンダースコアを含むゼロ以上の単語文字と一致します。この正規表現は、名前のタイムスタンプの有無にかかわらず、ログファイルを照合します。この例では、ログマネージャーは次のログファイルをアップロードします。  
+ `hello_world.log` - Hello World アプリケーションの最新ログファイル。
+ `hello_world_2020_12_15_17_0.log` - Hello World アプリケーションの古いログファイル。
デフォルト: *componentName* がこのログ設定におけるコンポーネントの名前である場合の `componentName\\\\w*.log`。  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(オプション) ログマネージャーコンポーネントが CloudWatch Logs にログをアップロードしたら、ログファイルを削除できます。  
デフォルト: `false`  
`multiLineStartPattern`  <a name="log-manager-component-configuration-component-multi-line-start-pattern"></a>
(オプション) 新しい行のログメッセージが新しいログメッセージであるときに識別する正規表現。正規表現が新しい行と一致しない場合、ログマネージャーコンポーネントは新しい行を前の行のログメッセージに追加します。  
デフォルトでは、ログマネージャーコンポーネントは、行が空白文字 (タブまたはスペースなど) で始まるかどうかについてチェックします。そうでない場合、ログマネージャーはその行を新しいログメッセージとして処理します。それ以外の場合、その行を現在のログメッセージに追加します。この動作により、ログマネージャーコンポーネントが複数行 (スタックトレースなど) にまたがるメッセージを分割しないようにします。

  `periodicUploadIntervalSec`   
(オプション) ログマネージャーコンポーネントがアップロードする新しいログファイルをチェックする期間 (秒)。  
デフォルト: `300` (5 分)  
最小: `0.000001` (1 マイクロ秒)

**Example 例: 設定マージの更新**  
次の設定例では、システムログと `com.example.HelloWorld` コンポーネントログを CloudWatch Logs にアップロードすることを指定しています。  

```
{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true",
      "minimumLogLevel": "INFO",
      "diskSpaceLimit": "10",
      "diskSpaceLimitUnit": "MB",
      "deleteLogFileAfterCloudUpload": "false"
    },
    "componentLogsConfigurationMap": {
      "com.example.HelloWorld": {
        "minimumLogLevel": "INFO",
        "diskSpaceLimit": "20",
        "diskSpaceLimitUnit": "MB",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "300"
}
```

------
#### [ v2.1.x ]

`logsUploaderConfiguration`  
(オプション) ログマネージャーコンポーネントがアップロードするログの設定。このオブジェクトには、次の情報が含まれます。    
 `systemLogsConfiguration`   
(オプション) [Greengrass nucleus ](greengrass-nucleus-component.md)および[プラグインコンポーネント](develop-greengrass-components.md#component-types)からのログを含む AWS IoT Greengrass Core ソフトウェアシステムログの設定。ログマネージャーコンポーネントがシステムログを管理できるようにするため、この設定を指定します。このオブジェクトには、次の情報が含まれます。    
`uploadToCloudWatch`  <a name="log-manager-component-configuration-system-upload-to-cloud-watch"></a>
(オプション) CloudWatch Logs にシステムログをアップロードできます。  
デフォルト: `false`  
`minimumLogLevel`  <a name="log-manager-component-configuration-system-minimum-log-level"></a>
(オプション) アップロードするログメッセージの最小レベル。この最小レベルは、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)が JSON 形式のログを出力するように設定した場合のみ、適用されます。JSON 形式のログを有効にするには、[ログ形式](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format)パラメータ (`logging.format`) の `JSON` を指定します。  
こちらにレベル順に一覧表示されているログレベルから選択します。  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
デフォルト: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-system-disk-space-limit"></a>
(オプション) Greengrass システムログファイルの最大合計サイズ (`diskSpaceLimitUnit` で指定する単位)。Greengrass システムログファイルの合計サイズがこの最大合計サイズを超えると、 AWS IoT Greengrass Core ソフトウェアは最も古い Greengrass システムログファイルを削除します。  
このパラメータは、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)の[ログサイズ上限](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)パラメータ (`totalLogsSizeKB`) と同等です。 AWS IoT Greengrass Core ソフトウェアは、Greengrass システムログの最大合計サイズとして 2 つの値の最小値を使用します。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(オプション) `diskSpaceLimit` の単位。次のオプションから選択します。  
+ `KB` - キロバイト
+ `MB` - メガバイト
+ `GB` - ギガバイト
デフォルト: `KB`  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(オプション) ログマネージャーコンポーネントが CloudWatch Logs にログをアップロードしたら、ログファイルを削除できます。  
デフォルト: `false`  
  `componentLogsConfiguration`   
(オプション) コアデバイスのコンポーネント用のログ設定リスト。このリストに記載された各設定内容は、コンポーネントまたはアプリケーションのログ設定を定義します。ログマネージャーコンポーネントは、これらのコンポーネントログを CloudWatch Logs にアップロード  
各オブジェクトには、次の情報が含まれます:    
`componentName`  <a name="log-manager-component-configuration-component-component-name"></a>
このログ設定のコンポーネントまたはアプリケーションの名前。Greengrass コンポーネントの名前または別の値を指定して、このロググループを識別できます。  
`minimumLogLevel`  <a name="log-manager-component-configuration-component-minimum-log-level"></a>
(オプション) アップロードするログメッセージの最小レベル。この最小レベルは、このコンポーネントのログが特定の JSON 形式を使用している場合にのみ適用されます。JSON 形式については、GitHub の [AWS IoT Greengrass ログモジュール](https://github.com/aws-greengrass/aws-greengrass-logging-java)リポジトリで確認できます。  
こちらにレベル順に一覧表示されているログレベルから選択します。  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
デフォルト: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-component-disk-space-limit"></a>
(オプション) このコンポーネントにおけるすべてのログファイルの最大合計サイズ (`diskSpaceLimitUnit` で指定する単位)。このコンポーネントのログファイルの合計サイズがこの最大合計サイズを超えると、 AWS IoT Greengrass Core ソフトウェアはこのコンポーネントの最も古いログファイルを削除します。  
このパラメータは、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)の[ログサイズ上限](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)パラメータ (`totalLogsSizeKB`) に関連しています。 AWS IoT Greengrass Core ソフトウェアは、このコンポーネントの最大合計ログサイズとして 2 つの値の最小値を使用します。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(オプション) `diskSpaceLimit` の単位。次のオプションから選択します。  
+ `KB` - キロバイト
+ `MB` - メガバイト
+ `GB` - ギガバイト
デフォルト: `KB`  
`logFileDirectoryPath`  <a name="log-manager-component-configuration-component-log-file-dir-path"></a>
(オプション) このコンポーネントのログファイルを含むフォルダへのパス。  
標準出力 (stdout) と標準エラー (stderr) に出力する Greengrass コンポーネントには、このパラメータを指定する必要はありません。  
デフォルト: `/greengrass/v2/logs`。  
`logFileRegex`  <a name="log-manager-component-configuration-component-log-file-regex"></a>
(オプション) コンポーネントまたはアプリケーションが使用するログファイル名の形式を指定する正規表現。ログマネージャーコンポーネントは、この正規表現を使用して `logFileDirectoryPath` のフォルダのログファイルを識別します。  
標準出力 (stdout) と標準エラー (stderr) に出力する Greengrass コンポーネントには、このパラメータを指定する必要はありません。  
コンポーネントまたはアプリケーションがログファイルをローテーションする場合、ローテーションされたログファイル名と一致する正規表現を指定します。例えば、**hello\$1world\$1\$1\$1\$1w\$1.log** が Hello World アプリケーションにログをアップロードするように指定します。`\\\\w*` パターンは、英数字とアンダースコアを含むゼロ以上の単語文字と一致します。この正規表現は、名前のタイムスタンプの有無にかかわらず、ログファイルを照合します。この例では、ログマネージャーは次のログファイルをアップロードします。  
+ `hello_world.log` - Hello World アプリケーションの最新ログファイル。
+ `hello_world_2020_12_15_17_0.log` - Hello World アプリケーションの古いログファイル。
デフォルト: *componentName* がこのログ設定におけるコンポーネントの名前である場合の `componentName\\\\w*.log`。  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(オプション) ログマネージャーコンポーネントが CloudWatch Logs にログをアップロードしたら、ログファイルを削除できます。  
デフォルト: `false`  
`multiLineStartPattern`  <a name="log-manager-component-configuration-component-multi-line-start-pattern"></a>
(オプション) 新しい行のログメッセージが新しいログメッセージであるときに識別する正規表現。正規表現が新しい行と一致しない場合、ログマネージャーコンポーネントは新しい行を前の行のログメッセージに追加します。  
デフォルトでは、ログマネージャーコンポーネントは、行が空白文字 (タブまたはスペースなど) で始まるかどうかについてチェックします。そうでない場合、ログマネージャーはその行を新しいログメッセージとして処理します。それ以外の場合、その行を現在のログメッセージに追加します。この動作により、ログマネージャーコンポーネントが複数行 (スタックトレースなど) にまたがるメッセージを分割しないようにします。

 `periodicUploadIntervalSec`   
(オプション) ログマネージャーコンポーネントがアップロードする新しいログファイルをチェックする期間 (秒)。  
デフォルト: `300` (5 分)  
最小: `0.000001` (1 マイクロ秒)

**Example 例: 設定マージの更新**  
次の設定例では、システムログと `com.example.HelloWorld` コンポーネントログを CloudWatch Logs にアップロードすることを指定しています。  

```
{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true",
      "minimumLogLevel": "INFO",
      "diskSpaceLimit": "10",
      "diskSpaceLimitUnit": "MB",
      "deleteLogFileAfterCloudUpload": "false"
    },
    "componentLogsConfiguration": [
      {
        "componentName": "com.example.HelloWorld",
        "minimumLogLevel": "INFO",
        "diskSpaceLimit": "20",
        "diskSpaceLimitUnit": "MB",
        "deleteLogFileAfterCloudUpload": "false"
      }
    ]
  },
  "periodicUploadIntervalSec": "300"
}
```

------
#### [ v2.0.x ]

`logsUploaderConfiguration`  
(オプション) ログマネージャーコンポーネントがアップロードするログの設定。このオブジェクトには、次の情報が含まれます。    
`systemLogsConfiguration`  
(オプション) AWS IoT Greengrass Core ソフトウェアシステムログの設定。ログマネージャーコンポーネントがシステムログを管理できるようにするため、この設定を指定します。このオブジェクトには、次の情報が含まれます。    
`uploadToCloudWatch`  <a name="log-manager-component-configuration-system-upload-to-cloud-watch"></a>
(オプション) CloudWatch Logs にシステムログをアップロードできます。  
デフォルト: `false`  
`minimumLogLevel`  <a name="log-manager-component-configuration-system-minimum-log-level"></a>
(オプション) アップロードするログメッセージの最小レベル。この最小レベルは、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)が JSON 形式のログを出力するように設定した場合のみ、適用されます。JSON 形式のログを有効にするには、[ログ形式](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format)パラメータ (`logging.format`) の `JSON` を指定します。  
こちらにレベル順に一覧表示されているログレベルから選択します。  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
デフォルト: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-system-disk-space-limit"></a>
(オプション) Greengrass システムログファイルの最大合計サイズ (`diskSpaceLimitUnit` で指定する単位)。Greengrass システムログファイルの合計サイズがこの最大合計サイズを超えると、 AWS IoT Greengrass Core ソフトウェアは最も古い Greengrass システムログファイルを削除します。  
このパラメータは、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)の[ログサイズ上限](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)パラメータ (`totalLogsSizeKB`) と同等です。 AWS IoT Greengrass Core ソフトウェアは、Greengrass システムログの最大合計サイズとして 2 つの値の最小値を使用します。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(オプション) `diskSpaceLimit` の単位。次のオプションから選択します。  
+ `KB` - キロバイト
+ `MB` - メガバイト
+ `GB` - ギガバイト
デフォルト: `KB`  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(オプション) ログマネージャーコンポーネントが CloudWatch Logs にログをアップロードしたら、ログファイルを削除できます。  
デフォルト: `false`  
`componentLogsConfiguration`  
(オプション) コアデバイスのコンポーネント用のログ設定リスト。このリストに記載された各設定内容は、コンポーネントまたはアプリケーションのログ設定を定義します。ログマネージャーコンポーネントは、これらのコンポーネントログを CloudWatch Logs にアップロード  
各オブジェクトには、次の情報が含まれます:    
`componentName`  <a name="log-manager-component-configuration-component-component-name"></a>
このログ設定のコンポーネントまたはアプリケーションの名前。Greengrass コンポーネントの名前または別の値を指定して、このロググループを識別できます。  
`minimumLogLevel`  <a name="log-manager-component-configuration-component-minimum-log-level"></a>
(オプション) アップロードするログメッセージの最小レベル。この最小レベルは、このコンポーネントのログが特定の JSON 形式を使用している場合にのみ適用されます。JSON 形式については、GitHub の [AWS IoT Greengrass ログモジュール](https://github.com/aws-greengrass/aws-greengrass-logging-java)リポジトリで確認できます。  
こちらにレベル順に一覧表示されているログレベルから選択します。  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
デフォルト: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-component-disk-space-limit"></a>
(オプション) このコンポーネントにおけるすべてのログファイルの最大合計サイズ (`diskSpaceLimitUnit` で指定する単位)。このコンポーネントのログファイルの合計サイズがこの最大合計サイズを超えると、 AWS IoT Greengrass Core ソフトウェアはこのコンポーネントの最も古いログファイルを削除します。  
このパラメータは、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)の[ログサイズ上限](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)パラメータ (`totalLogsSizeKB`) に関連しています。 AWS IoT Greengrass Core ソフトウェアは、このコンポーネントの最大合計ログサイズとして 2 つの値の最小値を使用します。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(オプション) `diskSpaceLimit` の単位。次のオプションから選択します。  
+ `KB` - キロバイト
+ `MB` - メガバイト
+ `GB` - ギガバイト
デフォルト: `KB`  
`logFileDirectoryPath`  
このコンポーネントのログファイルが含まれるフォルダへのパス。  
Greengrass コンポーネントのログをアップロードするには、**`/greengrass/v2`/logs** を指定して `/greengrass/v2` を Greengrass ルートフォルダに置き換えます。  
`logFileRegex`  
コンポーネントまたはアプリケーションが使用するログファイル名の形式を指定する正規表現。ログマネージャーコンポーネントは、この正規表現を使用して `logFileDirectoryPath` のフォルダのログファイルを識別します。  
Greengrass コンポーネントのログをアップロードするには、ローテーションされたログファイル名と一致する正規表現を指定します。例えば、**com.example.HelloWorld\$1\$1w\$1.log** が Hello World コンポーネント用にログをアップロードするように指定します。`\\w*` パターンは、英数字とアンダースコアを含むゼロ以上の単語文字と一致します。この正規表現は、名前のタイムスタンプの有無にかかわらず、ログファイルを照合します。この例では、ログマネージャーは次のログファイルをアップロードします。  
+ `com.example.HelloWorld.log` - Hello World コンポーネントの最新ログファイル。
+ `com.example.HelloWorld_2020_12_15_17_0.log` - Hello World コンポーネントのより古いログファイル。Greengrass nucleus は、ログファイルにローテーションするタイムスタンプを追加します。  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(オプション) ログマネージャーコンポーネントが CloudWatch Logs にログをアップロードしたら、ログファイルを削除できます。  
デフォルト: `false`  
`multiLineStartPattern`  <a name="log-manager-component-configuration-component-multi-line-start-pattern"></a>
(オプション) 新しい行のログメッセージが新しいログメッセージであるときに識別する正規表現。正規表現が新しい行と一致しない場合、ログマネージャーコンポーネントは新しい行を前の行のログメッセージに追加します。  
デフォルトでは、ログマネージャーコンポーネントは、行が空白文字 (タブまたはスペースなど) で始まるかどうかについてチェックします。そうでない場合、ログマネージャーはその行を新しいログメッセージとして処理します。それ以外の場合、その行を現在のログメッセージに追加します。この動作により、ログマネージャーコンポーネントが複数行 (スタックトレースなど) にまたがるメッセージを分割しないようにします。

`periodicUploadIntervalSec`  
(オプション) ログマネージャーコンポーネントがアップロードする新しいログファイルをチェックする期間 (秒)。  
デフォルト: `300` (5 分)  
最小: `0.000001` (1 マイクロ秒)

**Example 例: 設定マージの更新**  
次の設定例では、システムログと `com.example.HelloWorld` コンポーネントログを CloudWatch Logs にアップロードすることを指定しています。  

```
{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true",
      "minimumLogLevel": "INFO",
      "diskSpaceLimit": "10",
      "diskSpaceLimitUnit": "MB",
      "deleteLogFileAfterCloudUpload": "false"
    },
    "componentLogsConfiguration": [
      {
        "componentName": "com.example.HelloWorld",
        "minimumLogLevel": "INFO",
        "logFileDirectoryPath": "/greengrass/v2/logs",
        "logFileRegex": "com.example.HelloWorld\\w*.log",
        "diskSpaceLimit": "20",
        "diskSpaceLimitUnit": "MB",
        "deleteLogFileAfterCloudUpload": "false"
      }
    ]
  },
  "periodicUploadIntervalSec": "300"
}
```

------

## 使用方法
<a name="log-manager-component-usage"></a>

ログマネージャーコンポーネントは、次のロググループとログストリームにアップロードされます。

------
#### [ 2.1.0 and later ]<a name="log-manager-log-group-stream-format"></a>

**ロググループ名**  

```
/aws/greengrass/componentType/region/componentName
```
ロググループ名は、次の変数を使用します。  
+ `componentType` - 次のいずれかに該当するコンポーネントのタイプ。
  + `GreengrassSystemComponent` - このロググループには、Greengrass nucleus と同じ JVM で実行される nucleus とプラグインコンポーネントのログが含まれます。コンポーネントは [Greengrass nucleus](greengrass-nucleus-component.md) の一部です。
  + `UserComponent` - このロググループには、ジェネリックコンポーネント、Lambda コンポーネント、デバイスの他のアプリケーションのログが含まれます。コンポーネントは Greengrass nucleus の一部ではありません。

  詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。
+ `region` – コアデバイスが使用する AWS リージョン。
+ `componentName` - コンポーネントの名前。システムログの場合、この値は `System` です。

**ログストリーム名**  

```
/date/thing/thingName
```
ログストリーム名は次の変数を使用します。  
+ `date` - `2020/12/15` など、ログの日付。ログマネージャーコンポーネントは `yyyy/MM/dd` 形式を使用します。
+ `thingName` - コアデバイスの名前。
モノの名前にコロン (`:`) が含まれている場合、ログマネージャーはコロンをプラス (`+`) に置き換えます。

------
#### [ 2.0.x ]

**ロググループ名**  

```
/aws/greengrass/componentType/region/componentName
```
ロググループ名は、次の変数を使用します。  
+ `componentType` - 次のいずれかに該当するコンポーネントのタイプ。
  + `GreengrassSystemComponent` - コンポーネントは [Greengrass nucleus](greengrass-nucleus-component.md) の一部です。
  + `UserComponent` - コンポーネントは Greengrass nucleus の一部ではありません。ログマネージャーは、デバイスの Greengrass コンポーネントと他のアプリケーションにこのタイプを使用します。
+ `region` – コアデバイスが使用する AWS リージョン。
+ `componentName` - コンポーネントの名前。システムログの場合、この値は `System` です。

**ログストリーム名**  

```
/date/deploymentTargets/thingName
```
ログストリーム名は次の変数を使用します。  
+ `date` - `2020/12/15` など、ログの日付。ログマネージャーコンポーネントは `yyyy/MM/dd` 形式を使用します。
+ `deploymentTargets` - デプロイにコンポーネントが含まれるモノ。ログマネージャーコンポーネントは、各ターゲットをスラッシュで区切ります。ローカルデプロイの結果としてコンポーネントがコアデバイスに実行される場合、この値は `LOCAL_DEPLOYMENT` です。

  `MyGreengrassCore` という名前のコアデバイスがあり、そのコアデバイスに 2 つのデプロイがある例を見てみます。
  + コアデバイス `MyGreengrassCore` をターゲットするデプロイ。
  + コアデバイスを含む `MyGreengrassCoreGroup` という名前のモノグループをターゲットするデプロイ。

  このコアデバイスの `deploymentTargets` は `thing/MyGreengrassCore/thinggroup/MyGreengrassCoreGroup` です。
+ `thingName` - コアデバイスの名前。

------

### ログエントリのフォーマット。
<a name="log-manager-entry-format"></a>

Greengrass nucleus は、文字列または JSON 形式でログファイルを書きます。システムログの場合、`logging` エントリーの `format` フィールドを設定することでフォーマットを制御します。Greengrass nucleus コンポーネントの設定ファイルに `logging` エントリが記載されています。詳細については、[Greengrass nucleus 設定](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html#greengrass-nucleus-component-configuration)を参照してください。

テキスト形式は自由形式で、任意の文字列を受け付けます。次のフリート状況サービスメッセージは、文字列形式のロギングの例です:

```
2023-03-26T18:18:27.271Z [INFO] (pool-1-thread-2)
com.aws.greengrass.status.FleetStatusService: fss-status-update-published. 
Status update published to FSS. {trigger=CADENCE, serviceName=FleetStatusService, 
currentState=RUNNING}
```

[Greengrass CLI のログ](https://docs.aws.amazon.com/greengrass/v2/developerguide/gg-cli-logs.html)コマンドでログを表示したり、プログラムでログを操作する場合は、JSON 形式を使用する必要があります。次の例では、JSON の形状の概要を説明します：

```
{
   "loggerName": <string>,
   "level": <"DEBUG" | "INFO" | "ERROR" | "TRACE" | "WARN">,
   "eventType": <string, optional>,
   "cause": <string, optional>,
   "contexts": {},
   "thread": <string>,
   "message": <string>,
   "timestamp": <epoch time> # Needs to be epoch time
}
```

コンポーネントのログの出力を制御するために、`minimumLogLevel` 設定オプションを使用することができます。このオプションを使用するには、コンポーネントが JSON 形式でログエントリーを書き込む必要があります。システムログファイルと同じ形式を使用する必要があります。

## ローカルログファイル
<a name="log-manager-component-log-file"></a>

このコンポーネントは、[Greengrass nucleus](greengrass-nucleus-component.md) コンポーネントと同じログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="log-manager-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.3.11  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.3.10  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.3.9  |  Greengrass nucleus バージョン 2.14.0 リリース用にバージョンが更新されました。  | 
|  2.3.8  |  Greengrass nucleus バージョン 2.13.0 のリリース用にバージョンが更新されました。  | 
|  2.3.7  |  Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。  | 
|  2.3.6  |  <a name="changelog-log-manager-2.3.6"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.3.5  |  <a name="changelog-log-manager-2.3.5"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/log-manager-component.html) Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.3.4  |  <a name="changelog-log-manager-2.3.4"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.3.3  |  Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。  | 
|  2.3.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.3.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.3.0  |   ログマネージャー 2.3.0 にアップグレードする場合は、Greengrass nucleus 2.9.1 にアップグレードすることをお勧めします。   [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.2.8  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.2.7  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.2.6  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.2.5  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.2.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.2.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.2.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.2.1  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  2.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.1.3  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.1.2  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.1.1  |  <a name="changelog-log-manager-2.1.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.1.0  |  <a name="changelog-log-manager-2.1.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.0.x  |  当初のバージョン  | 

# 機械学習コンポーネント
<a name="machine-learning-components"></a>

AWS IoT Greengrass には、Amazon SageMaker AI でトレーニングされたモデル、または Amazon S3 に保存されている独自の事前トレーニング済みモデルを使用して[機械学習推論を実行する](perform-machine-learning-inference.md)ために、サポートされているデバイスにデプロイできる以下の機械学習コンポーネントが用意されています。<a name="ml-component-types"></a>

AWS には、次のカテゴリの機械学習コンポーネントが用意されています。
+ **モデルコンポーネント** - Greengrass アーティファクトとして機械学習モデルが含まれます。
+ **ランタイムコンポーネント** - 機械学習フレームワークとその従属関係を Greengrass コアデバイスにインストールするスクリプトが含まれます。
+ **推論コンポーネント** - 推論コードが含まれ、機械学習フレームワークをインストールして事前学習済みの機械学習モデルをダウンロードするためのコンポーネント従属関係が含まれます。

 AWSが提供する機械学習コンポーネントでサンプル推論コードと事前トレーニング済みモデルを使用して、DLR と TensorFlow Lite を使用してイメージ分類とオブジェクト検出を実行できます。Amazon S3 に格納されている独自のモデルでカスタム機械学習の推論を実行したり、別の機械学習フレームワークを使用したりするには、これらのパブリックコンポーネントのレシピをテンプレートとして使用して、カスタム機械学習コンポーネントを作成できます。詳細については、「[機械学習コンポーネントのカスタマイズ](ml-customization.md)」を参照してください。

AWS IoT Greengrass には、Greengrass AWSコアデバイス上の SageMaker AI Edge Manager エージェントのインストールとライフサイクルを管理するための が提供するコンポーネントも含まれています。SageMaker AI Edge Manager を使用することにより、Amazon SageMaker AI Neo がコンパイルしたモデルをコアデバイスで直接使用できます。詳細については、「[Greengrass コアデバイスで Amazon SageMaker AI Edge Manager を使用する](use-sagemaker-edge-manager.md)」を参照してください。

次の表に、 で使用できる機械学習コンポーネントを示します AWS IoT Greengrass。

**注記**  <a name="component-nucleus-dependency-update-note"></a>
いくつかの AWS提供されるコンポーネントは、Greengrass nucleus の特定のマイナーバージョンによって異なります。この従属関係により、Greengrass nucleus を新しいマイナーバージョンに更新するとき、これらのコンポーネントを更新する必要があります。各コンポーネントが依存する nucleus の特定バージョンの情報については、対応するコンポーネントのトピックを参照してください。nucleus の更新の詳細については、「[AWS IoT Greengrass Core ソフトウェア (OTA) の更新](update-greengrass-core-v2.md)」を参照してください。

<a name="component-table-type-description"></a>コンポーネントにジェネリックと Lambda の両方のコンポーネントタイプがある場合、コンポーネントの現在のバージョンはジェネリックタイプであり、コンポーネントの以前のバージョンは Lambda タイプです。


| コンポーネント | 説明 | [コンポーネントタイプ](develop-greengrass-components.md#component-types) | サポートされる OS | [オープンソース](open-source.md) | 
| --- | --- | --- | --- | --- | 
| [SageMaker AI Edge Manager](sagemaker-edge-manager-component.md) | Amazon SageMaker AI Edge Manager エージェントを Greengrass コアデバイスにデプロイします。 | ジェネリック | Linux、Windows | いいえ | 
| [DLR イメージ分類](dlr-image-classification-component.md) | DLR イメージ分類モデルストアと DLR ランタイムコンポーネントを従属関係として使用し、DLR をインストール、サンプルイメージ分類モデルをダウンロード、サポートされているデバイスにイメージ分類推論を実行する推論コンポーネント。 | ジェネリック | Linux、Windows | いいえ | 
| [DLR オブジェクトの検出](dlr-object-detection-component.md) | DLR オブジェクト検知モデルストアと DLR ランタイムコンポーネントを従属関係として使用し、DLR をインストール、サンプルオブジェクト検知モデルをダウンロード、サポートされているデバイスにオブジェクト検知推論を実行する推論コンポーネント。 | ジェネリック | Linux、Windows | いいえ | 
| [DLR イメージ分類モデルストア](dlr-image-classification-model-store-component.md) | Greengrass アーティファクトとしてサンプル ResNet-50 イメージ分類モデルを含むモデルコンポーネント。 | ジェネリック | Linux、Windows | いいえ | 
| [DLR オブジェクト検出モデルストア](dlr-object-detection-model-store-component.md) | Greengrass アーティファクトとしてサンプル YOLOv3 オブジェクト検出モデルを含むモデルコンポーネント。 | ジェネリック | Linux、Windows | いいえ | 
| [DLR ランタイム](dlr-component.md) | DLR とその従属関係を Greengrass コアデバイスにインストールするために使用されるインストールスクリプトを含むランタイムコンポーネント。 | ジェネリック | Linux、Windows | いいえ | 
| [TensorFlow Lite イメージ分類](tensorflow-lite-image-classification-component.md) | TensorFlow Lite イメージ分類モデルストアと TensorFlow Lite ランタイムコンポーネントを従属関係として使用し、TensorFlow Lite をインストール、サンプルイメージ分類モデルをダウンロード、サポートされているデバイスにイメージ分類推論を実行する推論コンポーネント。 | ジェネリック | Linux、Windows | いいえ | 
| [TensorFlow Lite オブジェクト検出](tensorflow-lite-object-detection-component.md) | TensorFlow Lite オブジェクト検出モデルストアと TensorFlow Lite ランタイムコンポーネントを従属関係として使用し、TensorFlow Lite をインストール、サンプルオブジェクト検出モデルをダウンロード、サポートされているデバイスでのオブジェクト検出推論を実行する推論コンポーネント。 | ジェネリック | Linux、Windows | いいえ | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | Greengrass アーティファクトとしてサンプル MobileNet v1 モデルを含むモデルコンポーネント。 | ジェネリック | Linux、Windows | いいえ | 
| [TensorFlow Lite オブジェクト検出モデルストア](tensorflow-lite-object-detection-model-store-component.md) | Greengrass アーティファクトとしてサンプルシングルショット検出 (SSD) MobileNet モデルを含むモデルコンポーネント。 | ジェネリック | Linux、Windows | いいえ | 
| [TensorFlow Lite ランタイム](tensorflow-lite-component.md) | TensorFlow Lite とその従属関係を Greengrass コアデバイスにインストールするために使用されるインストールスクリプトを含むランタイムコンポーネント。 | ジェネリック | Linux、Windows | いいえ | 

# SageMaker AI Edge Manager
<a name="sagemaker-edge-manager-component"></a>

**重要**  
SageMaker AI Edge Manager は 2024 年 4 月 26 日に廃止されました。引き続きモデルをエッジデバイスにデプロイする方法の詳細については、「[SageMaker AI Edge Manager end of life](https://docs.aws.amazon.com/sagemaker/latest/dg/edge-eol.html)」を参照してください。

Amazon SageMaker AI Edge Manager コンポーネント (`aws.greengrass.SageMakerEdgeManager`) は、SageMaker AI Edge Manager エージェントバイナリをインストールします。

SageMaker AI Edge Manager は、エッジデバイスのモデル管理を提供するため、エッジデバイスのフリートで機械学習モデルを最適化、保護、モニタリング、維持できます。SageMaker AI Edge Manager コンポーネントは、コアデバイスに SageMaker AI Edge Manager エージェントをインストールし、そのライフサイクルを管理します。SageMaker AI Edge Manager を使用して、SageMaker AI Neo でコンパイルされたモデルを Greengrass コアデバイスのモデルコンポーネントとしてパッケージ化して使用することもできます。コアデバイスで SageMaker AI Edge Manager エージェントを使用する方法の詳細については、「[Greengrass コアデバイスで Amazon SageMaker AI Edge Manager を使用する](use-sagemaker-edge-manager.md)」を参照してください。

SageMaker AI Edge Manager コンポーネント v1.3.x は、Edge Manager エージェントバイナリ v1.20220822.836f3023 をインストールします。Edge Manager エージェントのバイナリバージョンの詳細については、「[Edge Manager エージェント](https://docs.aws.amazon.com/sagemaker/latest/dg/edge-device-fleet-about)」を参照してください。

**注記**  
SageMaker AI Edge Manager コンポーネントは、以下でのみ使用できます AWS リージョン。  
米国東部(オハイオ)
米国東部 (バージニア北部)
米国西部 (オレゴン)
欧州 (フランクフルト)
欧州 (アイルランド)
アジアパシフィック (東京)

**Topics**
+ [バージョン](#sagemaker-edge-manager-component-versions)
+ [タイプ](#sagemaker-edge-manager-component-type)
+ [オペレーティングシステム](#sagemaker-edge-manager-component-os-support)
+ [要件](#sagemaker-edge-manager-component-requirements)
+ [依存関係](#sagemaker-edge-manager-component-dependencies)
+ [構成](#sagemaker-edge-manager-component-configuration)
+ [ローカルログファイル](#sagemaker-edge-manager-component-log-file)
+ [変更ログ](#sagemaker-edge-manager-component-changelog)

## バージョン
<a name="sagemaker-edge-manager-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 1.3.x
+ 1.2.x
+ 1.1.x
+ 1.0.x

## タイプ
<a name="sagemaker-edge-manager-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="sagemaker-edge-manager-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 要件
<a name="sagemaker-edge-manager-component-requirements"></a>

このコンポーネントには次の要件があります。<a name="sm-edge-manager-component-reqs"></a>
+ <a name="sm-req-core-device"></a>Amazon Linux 2 で実行されている Greengrass コアデバイス、Debian ベースの Linux プラットフォーム (x86\$164 または Armv8)、または Windows (x86\$164)。アカウントをお持ちでない場合は、「[チュートリアル: AWS IoT Greengrass V2 の開始方法](getting-started.md)」を参照してください。
+ <a name="sm-req-python"></a>[Python](https://www.python.org/downloads/) 3.6 以降 (ご使用の Python のバージョン用 `pip` がコアデバイスにインストールされていること)。
+ 次のように設定された [Greengrass デバイスのロール](device-service-role.md): 
  + <a name="sm-req-iam-trust-relationship"></a>次の IAM ポリシーの例で示されているように、`credentials.iot.amazonaws.com` と `sagemaker.amazonaws.com` がロールの継承を可能にする信頼関係。

    ```
    { 
      "Version": "2012-10-17",		 	 	 
      "Statement": [ 
        { 
          "Effect": "Allow", 
          "Principal": {
            "Service": "credentials.iot.amazonaws.com"
           }, 
          "Action": "sts:AssumeRole" 
        },
        { 
          "Effect": "Allow", 
          "Principal": {
            "Service": "sagemaker.amazonaws.com"
          }, 
          "Action": "sts:AssumeRole" 
        } 
      ] 
    }
    ```
  + <a name="sm-req-iam-sagemanakeredgedevicefleetpolicy"></a>[AmazonSageMakerEdgeDeviceFleetPolicy](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AmazonSageMakerEdgeDeviceFleetPolicy) IAM マネージドポリシー。
  + <a name="sm-req-iam-s3-putobject"></a>次の IAM ポリシーの例で示されている `s3:PutObject` アクション。

    ```
    {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
        {
          "Action": [
            "s3:PutObject"
          ],
          "Resource": [
            "*"
          ],
          "Effect": "Allow"
        }
      ]
    }
    ```
+ <a name="sm-req-s3-bucket"></a>Greengrass コアデバイス AWS リージョン と同じ AWS アカウント および に作成された Amazon S3 バケット。SageMaker AI Edge Manager では、エッジデバイスフリートを作成するため、またデバイスで推論を実行した際のサンプルデータを保存するために、S3 バケットが必要です。S3 バケットを作成する方法の情報については、「[Amazon S3 の使用を開始](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html)」を参照してください。
+ <a name="sm-req-edge-device-fleet"></a>Greengrass コアデバイスと同じ AWS IoT ロールエイリアスを使用する SageMaker AI エッジデバイスフリート。詳細については、「[エッジデバイスフリートを作成する](get-started-with-edge-manager-on-greengrass.md#create-edge-device-fleet-for-greengrass)」を参照してください。
+ <a name="sm-req-edge-device"></a>SageMaker AI Edge デバイスフリート内のエッジデバイスとして登録された Greengrass コアデバイス。エッジデバイス名は、コアデバイスの AWS IoT モノの名前と一致する必要があります。詳細については、「[Greengrass コアデバイスを登録する](get-started-with-edge-manager-on-greengrass.md#register-greengrass-core-device-in-sme)」を参照してください。

### エンドポイントおよびポート
<a name="sagemaker-edge-manager-component-endpoints"></a>

このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。


| Endpoint | ポート | 必要 | 説明 | 
| --- | --- | --- | --- | 
|  `edge.sagemaker.region.amazonaws.com`  | 443 | はい |  デバイスの登録ステータスを確認し、メトリクスを SageMaker AI に送信します。  | 
|  `*.s3.amazonaws.com`  | 443 | はい |  指定した S3 バケットにキャプチャデータをアップロードします。 `*` は、データをアップロードする各バケットの名前に置き換えることができます。  | 

## 依存関係
<a name="sagemaker-edge-manager-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#sagemaker-edge-manager-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 1.3.5 and 1.3.6 ]

次の表に、このコンポーネントのバージョン 1.3.5 および 1.3.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=0.0.0 | ハード | 

------
#### [ 1.3.4 ]

次の表に、このコンポーネントのバージョン 1.3.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=0.0.0 | ハード | 

------
#### [ 1.3.3 ]

次の表に、このコンポーネントのバージョン 1.3.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=0.0.0 | ハード | 

------
#### [ 1.3.2 ]

次の表に、このコンポーネントのバージョン 1.3.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=0.0.0 | ハード | 

------
#### [ 1.3.1 ]

次の表に、このコンポーネントのバージョン 1.3.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=0.0.0 | ハード | 

------
#### [ 1.1.1 - 1.3.0 ]

次の表に、このコンポーネントのバージョン 1.1.1～1.3.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=0.0.0 | ハード | 

------
#### [ 1.1.0 ]

次の表に、このコンポーネントのバージョン 1.1.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=0.0.0 | ハード | 

------
#### [ 1.0.3 ]

次の表に、このコンポーネントのバージョン 1.0.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=0.0.0 | ハード | 

------
#### [ 1.0.1 and 1.0.2 ]

次の表に、このコンポーネントのバージョン 1.0.1 および 1.0.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=0.0.0 | ハード | 

------
#### [ 1.0.0 ]

次の表に、このコンポーネントのバージョン 1.0.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=0.0.0 | ハード | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 構成
<a name="sagemaker-edge-manager-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

**注記**  
このセクションでは、コンポーネントで設定する設定パラメータについて説明します。対応する SageMaker AI Edge Manager 設定の詳細については、「*Amazon SageMaker AI デベロッパーガイド*」の「[Edge Manager Agent](https://docs.aws.amazon.com/sagemaker/latest/dg/edge-device-fleet-about.html#edge-device-fleet-running-agent)」を参照してください。

`DeviceFleetName`  
Greengrass コアデバイスが含まれる SageMaker AI Edge Manager デバイスフリートの名前。  
このコンポーネントをデプロイするときは、 設定の更新でこのパラメータの値を指定する必要があります。

`BucketName`  
キャプチャした推論データのアップロード先の S3 バケットの名前。バケット名には文字列 `sagemaker` が含まれている必要があります。  
`CaptureDataDestination` を `Cloud` に設定した場合、または `CaptureDataPeriodicUpload` を `true` に設定した場合、このコンポーネントをデプロイするときに、設定の更新でこのパラメータの値を指定する必要があります。  
キャプチャデータは、今後の分析用に S3 バケットまたはローカルディレクトリに推論入力、推論結果、追加の推論データをアップロードするために使用する SageMaker AI 機能です。SageMaker AI Edge Manager でキャプチャデータを使用する方法の詳細については、「*Amazon SageMaker AI デベロッパーガイド*」の「[Manage Model](https://docs.aws.amazon.com/sagemaker/latest/dg/edge-manage-model.html#edge-manage-model-capturedata)」を参照してください。

`CaptureDataBatchSize`  
(オプション) エージェントが処理するキャプチャデータ要求のバッチのサイズ。この値は、`CaptureDataBufferSize` で指定したバッファサイズよりも小さくする必要があります。バッファサイズの半分を超えないことをお勧めします。  
エージェントは、バッファ内の要求数が `CaptureDataBatchSize` の数に達したとき、または `CaptureDataPushPeriodSeconds` の間隔が経過したとき、いずれか早いほうの要求バッチを処理します。  
デフォルト: `10`

`CaptureDataBufferSize`  
(オプション) バッファに保存されているキャプチャデータ要求の最大数。  
デフォルト: `30`

`CaptureDataDestination`  
(オプション) キャプチャしたデータを保存する保存先。このパラメータには以下の値があります。  
+ `Cloud` - `BucketName` で指定した S3 バケットにキャプチャデータをアップロードします。
+ `Disk` - キャプチャしたデータをコンポーネントの作業ディレクトリに書き込みます。
`Disk` を指定した場合、`CaptureDataPeriodicUpload` を `true` に設定して、キャプチャしたデータを S3 バケットに定期的にアップロードすることも選択できます。  
デフォルト: `Cloud`

`CaptureDataPeriodicUpload`  
(任意) キャプチャされたデータを定期的にアップロードするかどうかを指定する文字列値。サポートされている値は`true` および `false` です。  
`CaptureDataDestination` を `Disk` に設定し、エージェントがキャプチャしたデータを S3 バケットに定期的にアップロードする場合は、このパラメータを `true` に設定します。  
デフォルト: `false`

`CaptureDataPeriodicUploadPeriodSeconds`  
(オプション) SageMaker AI Edge Manager エージェントがキャプチャしたデータを S3 バケットにアップロードする間隔 (秒)。`CaptureDataPeriodicUpload` を `true` に設定する場合は、このパラメータを使用します。  
デフォルト: `8`

`CaptureDataPushPeriodSeconds`  
(オプション) SageMaker AI Edge Manager エージェントがバッファからのキャプチャデータ要求のバッチを処理する間隔 (秒)。  
エージェントは、バッファ内の要求数が `CaptureDataBatchSize` の数に達したとき、または `CaptureDataPushPeriodSeconds` の間隔が経過したとき、いずれか早いほうの要求バッチを処理します。  
デフォルト: `4`

`CaptureDataBase64EmbedLimit`  
(オプション) SageMaker AI Edge Manager エージェントがアップロードするキャプチャデータの最大サイズ (バイト)。  
デフォルト: `3072`

`FolderPrefix`  
(オプション) エージェントがキャプチャしたデータを書き込むフォルダの名前。`CaptureDataDestination` を `Disk` に設定すると、エージェントは `CaptureDataDiskPath` で指定されたディレクトリにフォルダを作成します。`CaptureDataDestination` を `Cloud` に設定した場合、または `CaptureDataPeriodicUpload` を `true` に設定した場合、エージェントはS3バケットにフォルダを作成します。  
デフォルト: `sme-capture`

`CaptureDataDiskPath`  
この機能は、v1.1.0 以降のバージョンの SageMaker Edge Manager コンポーネントで利用できます。  
(オプション) エージェントがキャプチャされたデータフォルダを作成するフォルダへのパス。`CaptureDataDestination` を `Disk` に設定すると、エージェントはこのディレクトリにキャプチャされたデータフォルダを作成します。この値を指定しない場合、エージェントがキャプチャデータフォルダをコンポーネントの作業ディレクトリに作成します。`FolderPrefix` パラメータを使用して、キャプチャされたデータフォルダの名前を指定します。  
デフォルト: `/greengrass/v2/work/aws.greengrass.SageMakerEdgeManager/capture`

`LocalDataRootPath`  
この機能は、v1.2.0 以降のバージョンの SageMaker Edge Manager コンポーネントで利用できます。  
(オプション) このコンポーネントがコアデバイス上の次のデータを保存するパス。  
+ `DbEnable` を `true` に設定したときのランタイムデータのローカルデータベース。
+ `DeploymentEnable` を `true` に設定すると、このコンポーネントによって自動的にダウンロードされる SageMaker AI Neo でコンパイルされたモデル。
デフォルト: `/greengrass/v2/work/aws.greengrass.SageMakerEdgeManager`

`DbEnable`  
(オプション) このコンポーネントを有効にすると、コンポーネントに障害が発生したり、デバイスの電源が切れたりした場合に備えて、ランタイムデータをローカルデータベースに保存してデータを保全できます。  
このデータベースには、コアデバイスのファイルシステムに 5 MB のストレージが必要です。  
デフォルト: `false`

`DeploymentEnable`  
この機能は、v1.2.0 以降のバージョンの SageMaker Edge Manager コンポーネントで利用できます。  
(オプション) このコンポーネントを有効にすると、Amazon S3 へのアップロード元の SageMaker AI Neo でコンパイルされたモデルを自動的に取得できます。新しいモデルを Amazon S3 にアップロードした後、SageMaker AI Studio または SageMaker AI API を使用して、新しいモデルをこのコアデバイスにデプロイします。この機能を有効にすると、 AWS IoT Greengrass デプロイを作成する必要なく、新しいモデルをコアデバイスにデプロイできます。  
この機能を使用するには、`DbEnable` を `true` に設定する必要があります。この機能では、ローカルデータベースを使用して、 AWS クラウドから取得したモデルを追跡します。
デフォルト: `false`

`DeploymentPollInterval`  
この機能は、v1.2.0 以降のバージョンの SageMaker Edge Manager コンポーネントで利用できます。  
(オプション) このコンポーネントがダウンロードする新しいモデルをチェックする間隔 (分単位)。このオプションは、`DeploymentEnable` を `true` に設定すると適用されます。  
デフォルト: `1440` (1 日)

`DLRBackendOptions`  
この機能は、v1.2.0 以降のバージョンの SageMaker Edge Manager コンポーネントで利用できます。  
(オプション) このコンポーネントが使用する DLR ランタイムに設定する DLR ランタイムフラグ。次のフラグを設定できます。  
+ `TVM_TENSORRT_CACHE_DIR` – TensorRT モデルのキャッシュを有効にします。読み取り/書き込みアクセス許可を持つ既存のフォルダへの絶対パスを指定します。
+ `TVM_TENSORRT_CACHE_DISK_SIZE_MB` – TensorRT モデルのキャッシュフォルダの上限を割り当てます。ディレクトリサイズがこの制限を超えると、最も使用頻度の低いキャッシュされたエンジンが削除されます。デフォルト値は 512 MB です。
例えば、このパラメータを次の値に設定すると、TensorRT モデルのキャッシュを有効にし、キャッシュサイズを 800 MB に制限できます。  

```
TVM_TENSORRT_CACHE_DIR=/data/secured_folder/trt/cache; TVM_TENSORRT_CACHE_DISK_SIZE_MB=800
```

`SagemakerEdgeLogVerbose`  
(オプション) デバッグログ記録を有効にするかどうかを指定する文字列値。サポートされている値は`true` および `false` です。  
デフォルト: `false`

`UnixSocketName`  
(オプション) コアデバイスの SageMaker AI Edge Manager ソケットファイル記述子の場所。  
デフォルト: `/tmp/aws.greengrass.SageMakerEdgeManager.sock`

**Example 例: 設定マージの更新**  
次の設定例では、コアデバイスが *MyEdgeDeviceFleet* の一部であり、エージェントがデバイスと S3 バケットの両方にキャプチャデータを書き込むことを指定しています。この設定により、デバッグログ記録も有効になります。  

```
{
    "DeviceFleetName": "MyEdgeDeviceFleet",
    "BucketName": "amzn-s3-demo-bucket",
    "CaptureDataDestination": "Disk",
    "CaptureDataPeriodicUpload": "true",
    "SagemakerEdgeLogVerbose": "true"    
}
```

## ローカルログファイル
<a name="sagemaker-edge-manager-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.SageMakerEdgeManager.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.SageMakerEdgeManager.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.SageMakerEdgeManager.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.SageMakerEdgeManager.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="sagemaker-edge-manager-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  1.3.6  |  Greengrass nucleus 2.12.5 のリリース用にバージョンが更新されました。  | 
|  1.3.5  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  1.3.4  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  1.3.3  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  1.3.2  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  1.3.1  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  1.3.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/sagemaker-edge-manager-component.html)  | 
|  1.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/sagemaker-edge-manager-component.html)  | 
|  1.1.1  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  1.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/sagemaker-edge-manager-component.html)  | 
|  1.0.3  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  1.0.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/sagemaker-edge-manager-component.html)  | 
|  1.0.1  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  1.0.0  |  当初のバージョン  | 

# DLR イメージ分類
<a name="dlr-image-classification-component"></a>

DLR イメージ分類コンポーネント (`aws.greengrass.DLRImageClassification`) には、[深層学習ランタイム](https://github.com/neo-ai/neo-ai-dlr)と resnet-50 モデルを使ってイメージ分類の推論を行うためのサンプル推論コードが含まれています。このコンポーネントは、バリアント [DLR イメージ分類モデルストア](dlr-image-classification-model-store-component.md) と [DLR ランタイム](dlr-component.md) コンポーネントを依存関係として使用することで、DLR とサンプルモデルをダウンロードします。

カスタムトレーニングされた DLR モデルでこの推論コンポーネントを使用するには、依存モデルストアコンポーネントの[カスタムバージョンを作成します](ml-customization.md#override-public-model-store)。独自のカスタム推論コードを使用するには、このコンポーネントの recipe をテンプレートとして使用して、[[create a custom inference component]](ml-customization.md#create-inference-component) (カスタム推論コンポーネントを作成) できます。

**Topics**
+ [バージョン](#dlr-image-classification-component-versions)
+ [タイプ](#dlr-image-classification-component-type)
+ [オペレーティングシステム](#dlr-image-classification-component-os-support)
+ [要件](#dlr-image-classification-component-requirements)
+ [依存関係](#dlr-image-classification-component-dependencies)
+ [構成](#dlr-image-classification-component-configuration)
+ [ローカルログファイル](#dlr-image-classification-component-log-file)
+ [変更ログ](#dlr-image-classification-component-changelog)

## バージョン
<a name="dlr-image-classification-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.1.x
+ 2.0.x

## タイプ
<a name="dlr-image-classification-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="dlr-image-classification-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 要件
<a name="dlr-image-classification-component-requirements"></a>

このコンポーネントには次の要件があります。<a name="ml-component-requirements"></a>
+ Amazon Linux 2 または Ubuntu 18.04 を実行している Greengrass コアデバイスの場合は、[GNU C ライブラリ](https://www.gnu.org/software/libc/) (glibc) バージョン 2.27 以降がデバイスにインストールされている必要があります。
+ Raspberry Pi などの Armv7l デバイスでは、OpenCV-Python の依存関係がデバイスにインストールされています。次のコマンドを実行して依存関係をインストールします。

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Raspberry Pi OS Bullseye を実行する Raspberry Pi デバイスでは、次の要件を満たす必要があります。
  + デバイスに、NumPy 1.22.4 以降がインストールされていること。Raspberry Pi OS Bullseye には以前のバージョンの NumPy が含まれているため、次のコマンドを実行してデバイスの NumPy をアップグレードできます。

    ```
    pip3 install --upgrade numpy
    ```
  + デバイスで、レガシーカメラスタックが有効になっていること。Raspberry Pi OS Bullseye には、デフォルトで新しいカメラスタックが含まれており有効化されていますが、これには互換性がないるため、レガシーカメラスタックを有効にしておく必要があります。<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**レガシーカメラスタックを有効にするには**

    1. 次のコマンドを実行して、Raspberry Pi 設定ツールを開きます。

       ```
       sudo raspi-config
       ```

    1. **[Interface Options]** (インターフェイスオプション) を選択します。

    1. **[Legacy camera]** (レガシーカメラ) を選択して、レガシーカメラスタックを有効にします。

    1. Raspberry Pi を再起動します。

## 依存関係
<a name="dlr-image-classification-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#dlr-image-classification-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.1.13 and 2.1.14 ]

次の表に、このコンポーネントのバージョン 2.1.13 および 2.1.14 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | ソフト | 
| [DLR イメージ分類モデルストア](dlr-image-classification-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.12 ]

次の表に、このコンポーネントのバージョン 2.1.12 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | ソフト | 
| [DLR イメージ分類モデルストア](dlr-image-classification-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.11 ]

次の表に、このコンポーネントのバージョン 2.1.11 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | ソフト | 
| [DLR イメージ分類モデルストア](dlr-image-classification-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.10 ]

次の表に、このコンポーネントのバージョン 2.1.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | ソフト | 
| [DLR イメージ分類モデルストア](dlr-image-classification-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.9 ]

次の表に、このコンポーネントのバージョン 2.1.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | ソフト | 
| [DLR イメージ分類モデルストア](dlr-image-classification-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.8 ]

次の表に、このコンポーネントのバージョン 2.1.8 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | ソフト | 
| [DLR イメージ分類モデルストア](dlr-image-classification-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.7 ]

次の表に、このコンポーネントのバージョン 2.1.7 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | ソフト | 
| [DLR イメージ分類モデルストア](dlr-image-classification-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.6 ]

次の表に、このコンポーネントのバージョン 2.1.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | ソフト | 
| [DLR イメージ分類モデルストア](dlr-image-classification-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.4 - 2.1.5 ]

次の表に、このコンポーネントのバージョン 2.1.4 から 2.1.5 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | ソフト | 
| [DLR イメージ分類モデルストア](dlr-image-classification-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.3 ]

次の表に、このコンポーネントのバージョン 2.1.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | ソフト | 
| [DLR イメージ分類モデルストア](dlr-image-classification-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.2 ]

次の表に、このコンポーネントのバージョン 2.1.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | ソフト | 
| [DLR イメージ分類モデルストア](dlr-image-classification-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | ソフト | 
| [DLR イメージ分類モデルストア](dlr-image-classification-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.0.x ]

次の表に、このコンポーネントのバージョン 2.0.x の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | \$12.0.0 | ソフト | 
| DLR イメージ分類モデルストア | \$12.0.0 | ハード | 
| DLR | \$11.3.0 | ソフト | 

------

## 構成
<a name="dlr-image-classification-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

------
#### [ 2.1.x ]

`accessControl`  
<a name="ml-config-accesscontrol-desc"></a>(オプション) コンポーネントがデフォルトの通知トピックにメッセージをパブリッシュできるようにする[承認ポリシー](interprocess-communication.md#ipc-authorization-policies)を含むオブジェクト。  
デフォルト:   

```
{
   "aws.greengrass.ipc.mqttproxy": {
      "aws.greengrass.DLRImageClassification:mqttproxy:1": {
         "policyDescription": "Allows access to publish via topic ml/dlr/image-classification.",
         "operations": [
            "aws.greengrass#PublishToIoTCore"
         ],
         "resources": [
            "ml/dlr/image-classification"
         ]
      }
   }
}
```

`PublishResultsOnTopic`  
<a name="ml-config-publishresultsontopic-desc"></a>(オプション) 推論結果をパブリッシュするトピック。この値を変更する場合は、カスタムトピック名と一致するように `resources` パラメータの `accessControl` の値も変更する必要があります。  
デフォルト: `ml/dlr/image-classification`

`Accelerator`  <a name="ml-config-accelerator"></a>
使用するアクセラレーター。サポートされている値は`cpu` および `gpu` です。  
依存モデルコンポーネントのサンプルモデルは CPU アクセラレーションのみをサポートします。別のカスタムモデルで GPU アクセラレーションを使用するには、[カスタムモデルコンポーネントを作成](ml-customization.md#override-public-model-store)して、パブリックモデルコンポーネントを上書きします。  
デフォルト: `cpu`

`ImageDirectory`  
<a name="ml-config-imagedirectory-desc"></a>(オプション) 推論コンポーネントがイメージを読み取る場所と成る、デバイス上のフォルダへのパス。この値は、読み取り/書き込みアクセス権を持つデバイスの任意の場所に変更できます。  
<a name="ml-config-imagedirectory-img-default"></a>デフォルト: `/greengrass/v2/packages/artifacts-unarchived/component-name/image_classification/sample_images/`  
`UseCamera` を `true` の値に設定した場合、この設定パラメータは無視されます。

`ImageName`  
<a name="ml-config-imagename-desc"></a>(オプション) 推論コンポーネントが予測を行う際の入力として使用するイメージの名前。コンポーネントは、`ImageDirectory` で指定されたフォルダ内のイメージを検索します。デフォルトでは、コンポーネントはデフォルトのイメージディレクトリでサンプルイメージを使用します。 は、`jpeg`、、`jpg`、`png`および のイメージ形式 AWS IoT Greengrass をサポートしています`npy`。  
<a name="ml-config-imagename-img-default"></a>デフォルト: `cat.jpeg`  
`UseCamera` を `true` の値に設定した場合、この設定パラメータは無視されます。

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(オプション) 推論コードによって行われた各予測間の時間 (秒単位)。サンプル推論コードは無期限に実行され、指定された時間間隔で予測を繰り返します。例えば、カメラで撮影したイメージをリアルタイム予測に使用する場合などには、この間隔を短い間隔に変更できます。  
デフォルト: `3600`

`ModelResourceKey`  <a name="ml-config-modelresourcekey"></a>
<a name="ml-config-modelresourcekey-desc"></a>(オプション) 依存パブリックモデルコンポーネントで使用されるモデル。このパラメータを変更するのは、パブリックモデルコンポーネントをカスタムコンポーネントでオーバーライドする場合のみです。  
デフォルト:  

```
{
    "armv7l": "DLR-resnet50-armv7l-cpu-ImageClassification",
    "aarch64": "DLR-resnet50-aarch64-cpu-ImageClassification",
    "x86_64": "DLR-resnet50-x86_64-cpu-ImageClassification",
    "windows": "DLR-resnet50-win-cpu-ImageClassification"
}
```

`UseCamera`  <a name="ml-config-usecamera"></a>
(オプション) Greengrass コアデバイスに接続されたカメラの画像を使用するかどうかを定義する文字列値。サポートされている値は`true` および `false` です。  
この値を `true` に設定した場合、サンプル推論コードはデバイスのカメラにアクセスし、キャプチャしたイメージでローカルに推論を実行します。`ImageName` と `ImageDirectory` パラメータの値は無視されます。このコンポーネントを実行しているユーザーが、カメラがキャプチャしたイメージを保存する場所への、読み込み/書き込みアクセス権を持っていることを確認します。  
デフォルト: `false`  
このコンポーネントの recipe を表示すると、`UseCamera` 設定パラメータはデフォルト設定には表示されません。ただし、このパラメータの値は、コンポーネントをデプロイするときに、[[configuration merge update]](update-component-configurations.md) (設定マージの更新) で変更することができます。  
`UseCamera` を `true` に設定する場合は、ランタイムコンポーネントによって作成された仮想環境から推論コンポーネントがカメラにアクセスできるようにするためのシンボルリンクも作成する必要があります。サンプル推論コンポーネントを使用したカメラの使用方法の詳細については、「[コンポーネント設定の更新](ml-tutorial-image-classification-camera.md)」を参照してください。

------
#### [ 2.0.x ]

`MLRootPath`  <a name="ml-config-mlrootpath"></a>
<a name="ml-config-mlrootpath-desc"></a>(オプション) 推論コンポーネントがイメージを読み取り、推論結果を書き込む Linux コアデバイスのフォルダのパス。この値は、このコンポーネントを実行しているユーザーが読み取り/書き込みアクセス権を持つデバイスの任意の場所に変更できます。  
<a name="ml-config-mlrootpath-default-dlr"></a>デフォルト: `/greengrass/v2/work/variant.DLR/greengrass_ml`  
<a name="ml-config-mlrootpath-default-tfl"></a>デフォルト: `/greengrass/v2/work/variant.TensorFlowLite/greengrass_ml`

`Accelerator`  <a name="ml-config-accelerator"></a>
使用するアクセラレーター。サポートされている値は`cpu` および `gpu` です。  
依存モデルコンポーネントのサンプルモデルは CPU アクセラレーションのみをサポートします。別のカスタムモデルで GPU アクセラレーションを使用するには、[カスタムモデルコンポーネントを作成](ml-customization.md#override-public-model-store)して、パブリックモデルコンポーネントを上書きします。  
デフォルト: `cpu`

`ImageName`  
<a name="ml-config-imagename-desc-dlr-1.3.0"></a>(オプション) 推論コンポーネントが予測を行う際の入力として使用するイメージの名前。コンポーネントは、`ImageDirectory` で指定されたフォルダ内のイメージを検索します。デフォルトの場所は です`MLRootPath/images`。 は、`jpeg`、、`jpg`、`png`および のイメージ形式 AWS IoT Greengrass をサポートしています`npy`。  
<a name="ml-config-imagename-img-default"></a>デフォルト: `cat.jpeg`

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(オプション) 推論コードによって行われた各予測間の時間 (秒単位)。サンプル推論コードは無期限に実行され、指定された時間間隔で予測を繰り返します。例えば、カメラで撮影したイメージをリアルタイム予測に使用する場合などには、この間隔を短い間隔に変更できます。  
デフォルト: `3600`

`ModelResourceKey`  <a name="ml-config-modelresourcekey"></a>
<a name="ml-config-modelresourcekey-desc"></a>(オプション) 依存パブリックモデルコンポーネントで使用されるモデル。このパラメータを変更するのは、パブリックモデルコンポーネントをカスタムコンポーネントでオーバーライドする場合のみです。  
デフォルト:  

```
armv7l: "DLR-resnet50-armv7l-cpu-ImageClassification"
x86_64: "DLR-resnet50-x86_64-cpu-ImageClassification"
```

------

## ローカルログファイル
<a name="dlr-image-classification-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.DLRImageClassification.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.DLRImageClassification.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.DLRImageClassification.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.DLRImageClassification.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="dlr-image-classification-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.1.14  | Greengrass nucleus 2.12.5 のリリース用にバージョンが更新されました。 | 
|  2.1.13  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.1.12  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.1.11  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.1.10  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.1.9  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.1.8  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.1.7  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.1.6  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  2.1.5  |  すべてでリリースされたコンポーネント AWS リージョン。  | 
|  2.1.4  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。 このバージョンは欧州 (ロンドン) では利用できません (`eu-west-2`)。  | 
|  2.1.3  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.1.2  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.1.1  |  <a name="changelog-dlr-image-classification-2.1.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/dlr-image-classification-component.html)  | 
|  2.0.4  |  当初のバージョン  | 

# DLR オブジェクトの検出
<a name="dlr-object-detection-component"></a>

DLR オブジェクト検出コンポーネント (`aws.greengrass.DLRObjectDetection`) には、[深層学習ランタイム](https://github.com/neo-ai/neo-ai-dlr)とサンプルの事前学習済みモデルを使用してオブジェクト検出推論を実行するサンプル推論コードが含まれています。このコンポーネントは、バリアント [DLR オブジェクト検出モデルストア](dlr-object-detection-model-store-component.md) と [DLR ランタイム](dlr-component.md) コンポーネントを依存関係として使用することで、DLR とサンプルモデルをダウンロードします。

カスタムトレーニングされた DLR モデルでこの推論コンポーネントを使用するには、依存モデルストアコンポーネントの[カスタムバージョンを作成します](ml-customization.md#override-public-model-store)。独自のカスタム推論コードを使用するには、このコンポーネントの recipe をテンプレートとして使用して、[[create a custom inference component]](ml-customization.md#create-inference-component) (カスタム推論コンポーネントを作成) できます。

**Topics**
+ [バージョン](#dlr-object-detection-component-versions)
+ [タイプ](#dlr-object-detection-component-type)
+ [オペレーティングシステム](#dlr-object-detection-component-os-support)
+ [要件](#dlr-object-detection-component-requirements)
+ [依存関係](#dlr-object-detection-component-dependencies)
+ [構成](#dlr-object-detection-component-configuration)
+ [ローカルログファイル](#dlr-object-detection-component-log-file)
+ [変更ログ](#dlr-object-detection-component-changelog)

## バージョン
<a name="dlr-object-detection-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.1.x
+ 2.0.x

## タイプ
<a name="dlr-object-detection-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="dlr-object-detection-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 要件
<a name="dlr-object-detection-component-requirements"></a>

このコンポーネントには次の要件があります。<a name="ml-component-requirements"></a>
+ Amazon Linux 2 または Ubuntu 18.04 を実行している Greengrass コアデバイスの場合は、[GNU C ライブラリ](https://www.gnu.org/software/libc/) (glibc) バージョン 2.27 以降がデバイスにインストールされている必要があります。
+ Raspberry Pi などの Armv7l デバイスでは、OpenCV-Python の依存関係がデバイスにインストールされています。次のコマンドを実行して依存関係をインストールします。

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Raspberry Pi OS Bullseye を実行する Raspberry Pi デバイスでは、次の要件を満たす必要があります。
  + デバイスに、NumPy 1.22.4 以降がインストールされていること。Raspberry Pi OS Bullseye には以前のバージョンの NumPy が含まれているため、次のコマンドを実行してデバイスの NumPy をアップグレードできます。

    ```
    pip3 install --upgrade numpy
    ```
  + デバイスで、レガシーカメラスタックが有効になっていること。Raspberry Pi OS Bullseye には、デフォルトで新しいカメラスタックが含まれており有効化されていますが、これには互換性がないるため、レガシーカメラスタックを有効にしておく必要があります。<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**レガシーカメラスタックを有効にするには**

    1. 次のコマンドを実行して、Raspberry Pi 設定ツールを開きます。

       ```
       sudo raspi-config
       ```

    1. **[Interface Options]** (インターフェイスオプション) を選択します。

    1. **[Legacy camera]** (レガシーカメラ) を選択して、レガシーカメラスタックを有効にします。

    1. Raspberry Pi を再起動します。

## 依存関係
<a name="dlr-object-detection-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#dlr-object-detection-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.1.13 and 2.1.14 ]

次の表に、このコンポーネントのバージョン 2.1.13 および 2.1.14 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | ソフト | 
| [DLR オブジェクト検出モデルストア](dlr-object-detection-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.12 ]

次の表に、このコンポーネントのバージョン 2.1.12 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | ソフト | 
| [DLR オブジェクト検出モデルストア](dlr-object-detection-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.11 ]

次の表に、このコンポーネントのバージョン 2.1.11 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | ソフト | 
| [DLR オブジェクト検出モデルストア](dlr-object-detection-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.10 ]

次の表に、このコンポーネントのバージョン 2.1.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | ソフト | 
| [DLR オブジェクト検出モデルストア](dlr-object-detection-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.9 ]

次の表に、このコンポーネントのバージョン 2.1.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | ソフト | 
| [DLR オブジェクト検出モデルストア](dlr-object-detection-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.8 ]

次の表に、このコンポーネントのバージョン 2.1.8 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | ソフト | 
| [DLR オブジェクト検出モデルストア](dlr-object-detection-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.7 ]

次の表に、このコンポーネントのバージョン 2.1.7 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | ソフト | 
| [DLR オブジェクト検出モデルストア](dlr-object-detection-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.6 ]

次の表に、このコンポーネントのバージョン 2.1.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | ソフト | 
| [DLR オブジェクト検出モデルストア](dlr-object-detection-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.4 - 2.1.5 ]

次の表に、このコンポーネントのバージョン 2.1.4 から 2.1.5 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | ソフト | 
| [DLR オブジェクト検出モデルストア](dlr-object-detection-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.3 ]

次の表に、このコンポーネントのバージョン 2.1.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | ソフト | 
| [DLR オブジェクト検出モデルストア](dlr-object-detection-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.2 ]

次の表に、このコンポーネントのバージョン 2.1.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | ソフト | 
| [DLR オブジェクト検出モデルストア](dlr-object-detection-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | ソフト | 
| [DLR オブジェクト検出モデルストア](dlr-object-detection-model-store-component.md) | \$12.1.0 | ハード | 
| [DLR](dlr-component.md) | \$11.6.0 | ハード | 

------
#### [ 2.0.x ]

次の表に、このコンポーネントのバージョン 2.0.x の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | \$12.0.0 | ソフト | 
| DLR オブジェクト検出モデルストア | \$12.0.0 | ハード | 
| DLR | \$11.3.0 | ソフト | 

------

## 構成
<a name="dlr-object-detection-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

------
#### [ 2.1.x ]

`accessControl`  
<a name="ml-config-accesscontrol-desc"></a>(オプション) コンポーネントがデフォルトの通知トピックにメッセージをパブリッシュできるようにする[承認ポリシー](interprocess-communication.md#ipc-authorization-policies)を含むオブジェクト。  
デフォルト:   

```
{
   "aws.greengrass.ipc.mqttproxy": {
      "aws.greengrass.DLRObjectDetection:mqttproxy:1": {
         "policyDescription": "Allows access to publish via topic ml/dlr/object-detection.",
         "operations": [
            "aws.greengrass#PublishToIoTCore"
         ],
         "resources": [
            "ml/dlr/object-detection"
         ]
      }
   }
}
```

`PublishResultsOnTopic`  
<a name="ml-config-publishresultsontopic-desc"></a>(オプション) 推論結果をパブリッシュするトピック。この値を変更する場合は、カスタムトピック名と一致するように `resources` パラメータの `accessControl` の値も変更する必要があります。  
デフォルト: `ml/dlr/object-detection`

`Accelerator`  <a name="ml-config-accelerator"></a>
使用するアクセラレーター。サポートされている値は`cpu` および `gpu` です。  
依存モデルコンポーネントのサンプルモデルは CPU アクセラレーションのみをサポートします。別のカスタムモデルで GPU アクセラレーションを使用するには、[カスタムモデルコンポーネントを作成](ml-customization.md#override-public-model-store)して、パブリックモデルコンポーネントを上書きします。  
デフォルト: `cpu`

`ImageDirectory`  
<a name="ml-config-imagedirectory-desc"></a>(オプション) 推論コンポーネントがイメージを読み取る場所と成る、デバイス上のフォルダへのパス。この値は、読み取り/書き込みアクセス権を持つデバイスの任意の場所に変更できます。  
<a name="ml-config-imagedirectory-obj-default"></a>デフォルト: `/greengrass/v2/packages/artifacts-unarchived/component-name/object_detection/sample_images/`  
`UseCamera` を `true` の値に設定した場合、この設定パラメータは無視されます。

`ImageName`  
<a name="ml-config-imagename-desc"></a>(オプション) 推論コンポーネントが予測を行う際の入力として使用するイメージの名前。コンポーネントは、`ImageDirectory` で指定されたフォルダ内のイメージを検索します。デフォルトでは、コンポーネントはデフォルトのイメージディレクトリでサンプルイメージを使用します。 は、`jpeg`、、`jpg`、`png`および のイメージ形式 AWS IoT Greengrass をサポートしています`npy`。  
<a name="ml-config-imagename-obj-default"></a>デフォルト: `objects.jpg`  
`UseCamera` を `true` の値に設定した場合、この設定パラメータは無視されます。

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(オプション) 推論コードによって行われた各予測間の時間 (秒単位)。サンプル推論コードは無期限に実行され、指定された時間間隔で予測を繰り返します。例えば、カメラで撮影したイメージをリアルタイム予測に使用する場合などには、この間隔を短い間隔に変更できます。  
デフォルト: `3600`

`ModelResourceKey`  <a name="ml-config-modelresourcekey"></a>
<a name="ml-config-modelresourcekey-desc"></a>(オプション) 依存パブリックモデルコンポーネントで使用されるモデル。このパラメータを変更するのは、パブリックモデルコンポーネントをカスタムコンポーネントでオーバーライドする場合のみです。  
デフォルト:  

```
{
    "armv7l": "DLR-yolo3-armv7l-cpu-ObjectDetection",
    "aarch64": "DLR-yolo3-aarch64-gpu-ObjectDetection",
    "x86_64": "DLR-yolo3-x86_64-cpu-ObjectDetection",
    "windows": "DLR-resnet50-win-cpu-ObjectDetection"
}
```

`UseCamera`  <a name="ml-config-usecamera"></a>
(オプション) Greengrass コアデバイスに接続されたカメラの画像を使用するかどうかを定義する文字列値。サポートされている値は`true` および `false` です。  
この値を `true` に設定した場合、サンプル推論コードはデバイスのカメラにアクセスし、キャプチャしたイメージでローカルに推論を実行します。`ImageName` と `ImageDirectory` パラメータの値は無視されます。このコンポーネントを実行しているユーザーが、カメラがキャプチャしたイメージを保存する場所への、読み込み/書き込みアクセス権を持っていることを確認します。  
デフォルト: `false`  
このコンポーネントの recipe を表示すると、`UseCamera` 設定パラメータはデフォルト設定には表示されません。ただし、このパラメータの値は、コンポーネントをデプロイするときに、[[configuration merge update]](update-component-configurations.md) (設定マージの更新) で変更することができます。  
`UseCamera` を `true` に設定する場合は、ランタイムコンポーネントによって作成された仮想環境から推論コンポーネントがカメラにアクセスできるようにするためのシンボルリンクも作成する必要があります。サンプル推論コンポーネントを使用したカメラの使用方法の詳細については、「[コンポーネント設定の更新](ml-tutorial-image-classification-camera.md)」を参照してください。

------
#### [ 2.0.x ]

`MLRootPath`  <a name="ml-config-mlrootpath"></a>
<a name="ml-config-mlrootpath-desc"></a>(オプション) 推論コンポーネントがイメージを読み取り、推論結果を書き込む Linux コアデバイスのフォルダのパス。この値は、このコンポーネントを実行しているユーザーが読み取り/書き込みアクセス権を持つデバイスの任意の場所に変更できます。  
<a name="ml-config-mlrootpath-default-dlr"></a>デフォルト: `/greengrass/v2/work/variant.DLR/greengrass_ml`  
<a name="ml-config-mlrootpath-default-tfl"></a>デフォルト: `/greengrass/v2/work/variant.TensorFlowLite/greengrass_ml`

`Accelerator`  
変更しないでください。現在、アクセラレータでサポートされる値は `cpu` のみとなります。これは、依存モデルコンポーネントのモデルは CPU アクセラレータに対してのみコンパイルされるからです。

`ImageName`  
<a name="ml-config-imagename-desc-dlr-1.3.0"></a>(オプション) 推論コンポーネントが予測を行う際の入力として使用するイメージの名前。コンポーネントは、`ImageDirectory` で指定されたフォルダ内のイメージを検索します。デフォルトの場所は です`MLRootPath/images`。 は、`jpeg`、、`jpg`、`png`および のイメージ形式 AWS IoT Greengrass をサポートしています`npy`。  
<a name="ml-config-imagename-obj-default"></a>デフォルト: `objects.jpg`

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(オプション) 推論コードによって行われた各予測間の時間 (秒単位)。サンプル推論コードは無期限に実行され、指定された時間間隔で予測を繰り返します。例えば、カメラで撮影したイメージをリアルタイム予測に使用する場合などには、この間隔を短い間隔に変更できます。  
デフォルト: `3600`

`ModelResourceKey`  <a name="ml-config-modelresourcekey"></a>
<a name="ml-config-modelresourcekey-desc"></a>(オプション) 依存パブリックモデルコンポーネントで使用されるモデル。このパラメータを変更するのは、パブリックモデルコンポーネントをカスタムコンポーネントでオーバーライドする場合のみです。  
デフォルト:  

```
{
    armv7l: "DLR-yolo3-armv7l-cpu-ObjectDetection",
    x86_64: "DLR-yolo3-x86_64-cpu-ObjectDetection"
}
```

------

## ローカルログファイル
<a name="dlr-object-detection-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.DLRObjectDetection.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.DLRObjectDetection.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.DLRObjectDetection.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.DLRObjectDetection.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="dlr-object-detection-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.1.14  | Greengrass nucleus 2.12.5 のリリース用にバージョンが更新されました。 | 
|  2.1.13  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.1.12  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.1.11  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.1.10  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.1.9  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.1.8  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.1.7  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.1.6  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  2.1.5  |  すべてでリリースされたコンポーネント AWS リージョン。  | 
|  2.1.4  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。 このバージョンは欧州 (ロンドン) では利用できません (`eu-west-2`)。  | 
|  2.1.3  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.1.2  |  <a name="changelog-dlr-object-detection-2.1.2"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/dlr-object-detection-component.html)  | 
|  2.1.1  |  <a name="changelog-dlr-object-detection-2.1.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/dlr-object-detection-component.html)  | 
|  2.0.4  |  当初のバージョン  | 

# DLR イメージ分類モデルストア
<a name="dlr-image-classification-model-store-component"></a>

DLR イメージ分類モデルストアは、Greengrass アーティファクトとして事前学習済みの ResNet-50 モデルを含む機械学習モデルコンポーネントです。このコンポーネントで使用される事前学習済みモデルは、[GluonCV Model Zoo](https://cv.gluon.ai/model_zoo/index.html) から取得され、SageMaker AI Neo [深層学習ランタイム](https://github.com/neo-ai/neo-ai-dlr)を使用してコンパイルされます。

[DLR イメージ分類](dlr-image-classification-component.md)推論コンポーネントは、このコンポーネントをモデルソースの依存関係として使用します。カスタムトレーニングされた DLR モデルを使用するには、このモデルコンポーネントの [カスタムバージョンを作成](ml-customization.md#override-public-model-store)し、カスタムモデルをコンポーネントアーティファクトとして含めます。このコンポーネントの recipe をテンプレートとして使用して、カスタムモデルコンポーネントを作成できます。

**注記**  
DLR イメージ分類モデルストアコンポーネントの名前は、そのバージョンによって異なります。2.1.x 以降のバージョンのコンポーネント名は `variant.DLR.ImageClassification.ModelStore` です。バージョン 2.0.x のコンポーネント名は `variant.ImageClassification.ModelStore` です。

**Topics**
+ [バージョン](#dlr-image-classification-model-store-component-versions)
+ [タイプ](#dlr-image-classification-model-store-component-type)
+ [オペレーティングシステム](#dlr-image-classification-model-store-component-os-support)
+ [要件](#dlr-image-classification-model-store-component-requirements)
+ [依存関係](#dlr-image-classification-model-store-component-dependencies)
+ [構成](#dlr-image-classification-model-store-component-configuration)
+ [ローカルログファイル](#dlr-image-classification-model-store-component-log-file)
+ [変更ログ](#dlr-image-classification-model-store-component-changelog)

## バージョン
<a name="dlr-image-classification-model-store-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.1.x (`variant.DLR.ImageClassification.ModelStore`) 
+ 2.0.x (`variant.ImageClassification.ModelStore`) 

## タイプ
<a name="dlr-image-classification-model-store-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="dlr-image-classification-model-store-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 要件
<a name="dlr-image-classification-model-store-component-requirements"></a>

このコンポーネントには次の要件があります。<a name="ml-component-requirements"></a>
+ Amazon Linux 2 または Ubuntu 18.04 を実行している Greengrass コアデバイスの場合は、[GNU C ライブラリ](https://www.gnu.org/software/libc/) (glibc) バージョン 2.27 以降がデバイスにインストールされている必要があります。
+ Raspberry Pi などの Armv7l デバイスでは、OpenCV-Python の依存関係がデバイスにインストールされています。次のコマンドを実行して依存関係をインストールします。

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Raspberry Pi OS Bullseye を実行する Raspberry Pi デバイスでは、次の要件を満たす必要があります。
  + デバイスに、NumPy 1.22.4 以降がインストールされていること。Raspberry Pi OS Bullseye には以前のバージョンの NumPy が含まれているため、次のコマンドを実行してデバイスの NumPy をアップグレードできます。

    ```
    pip3 install --upgrade numpy
    ```
  + デバイスで、レガシーカメラスタックが有効になっていること。Raspberry Pi OS Bullseye には、デフォルトで新しいカメラスタックが含まれており有効化されていますが、これには互換性がないるため、レガシーカメラスタックを有効にしておく必要があります。<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**レガシーカメラスタックを有効にするには**

    1. 次のコマンドを実行して、Raspberry Pi 設定ツールを開きます。

       ```
       sudo raspi-config
       ```

    1. **[Interface Options]** (インターフェイスオプション) を選択します。

    1. **[Legacy camera]** (レガシーカメラ) を選択して、レガシーカメラスタックを有効にします。

    1. Raspberry Pi を再起動します。

## 依存関係
<a name="dlr-image-classification-model-store-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#dlr-image-classification-model-store-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.1.12 - 2.1.14 ]

次の表に、このコンポーネントのバージョン 2.1.12 および 2.1.13 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | ソフト | 

------
#### [ 2.1.11 ]

次の表に、このコンポーネントのバージョン 2.1.11 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | ソフト | 

------
#### [ 2.1.10 ]

次の表に、このコンポーネントのバージョン 2.1.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | ソフト | 

------
#### [ 2.1.9 ]

次の表に、このコンポーネントのバージョン 2.1.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | ソフト | 

------
#### [ 2.1.8 ]

次の表に、このコンポーネントのバージョン 2.1.8 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | ソフト | 

------
#### [ 2.1.7 ]

次の表に、このコンポーネントのバージョン 2.1.7 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | ソフト | 

------
#### [ 2.1.6 ]

次の表に、このコンポーネントのバージョン 2.1.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | ソフト | 

------
#### [ 2.1.5 ]

次の表に、このコンポーネントのバージョン 2.1.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | ソフト | 

------
#### [ 2.1.4 ]

次の表に、このコンポーネントのバージョン 2.1.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | ソフト | 

------
#### [ 2.1.3 ]

次の表に、このコンポーネントのバージョン 2.1.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | ソフト | 

------
#### [ 2.1.2 ]

次の表に、このコンポーネントのバージョン 2.1.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | ソフト | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | ソフト | 

------
#### [ 2.0.x ]

次の表に、このコンポーネントのバージョン 2.0.x の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | \$12.0.0 | ソフト | 

------

## 構成
<a name="dlr-image-classification-model-store-component-configuration"></a>

このコンポーネントに設定パラメータはありません。

## ローカルログファイル
<a name="dlr-image-classification-model-store-component-log-file"></a>

このコンポーネントはログを出力しません。

## 変更ログ
<a name="dlr-image-classification-model-store-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.1.13  | Greengrass nucleus 2.12.5 のリリース用にバージョンが更新されました。 | 
|  2.1.12  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.1.11  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.1.10  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.1.9  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.1.8  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.1.7  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.1.6  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.1.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/dlr-image-classification-model-store-component.html)  | 
|  2.1.4  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.1.3  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.1.2  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.1.1  |  <a name="changelog-dlr-image-classification-model-store-2.1.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/dlr-image-classification-model-store-component.html)  | 
|  2.0.4  |  当初のバージョン  | 

# DLR オブジェクト検出モデルストア
<a name="dlr-object-detection-model-store-component"></a>

DLR オブジェクト検出モデルストアは、Greengrass アーティファクトとして事前学習済みの YOLOv3 モデルを含む機械学習モデルコンポーネントです。このコンポーネントで使用されるサンプルモデルは、[GluonCV Model Zoo](https://cv.gluon.ai/model_zoo/index.html) から取得され、SageMaker AI Neo [深層学習ランタイム](https://github.com/neo-ai/neo-ai-dlr)を使用してコンパイルされます。

[DLR オブジェクト検出](dlr-object-detection-component.md)推論コンポーネントは、このコンポーネントをモデルソースの依存関係として使用します。カスタムトレーニングされた DLR モデルを使用するには、このモデルコンポーネントの [カスタムバージョンを作成](ml-customization.md#override-public-model-store)し、カスタムモデルをコンポーネントアーティファクトとして含めます。このコンポーネントの recipe をテンプレートとして使用して、カスタムモデルコンポーネントを作成できます。

**注記**  
DLR オブジェクト検出モデルストアコンポーネントの名前は、そのバージョンによって異なります。2.1.x 以降のバージョンのコンポーネント名は `variant.DLR.ObjectDetection.ModelStore` です。バージョン 2.0.x のコンポーネント名は `variant.ObjectDetection.ModelStore` です。

**Topics**
+ [バージョン](#dlr-object-detection-model-store-component-versions)
+ [タイプ](#dlr-object-detection-model-store-component-type)
+ [オペレーティングシステム](#dlr-object-detection-model-store-component-os-support)
+ [要件](#dlr-object-detection-model-store-component-requirements)
+ [依存関係](#dlr-object-detection-model-store-component-dependencies)
+ [構成](#dlr-object-detection-model-store-component-configuration)
+ [ローカルログファイル](#dlr-object-detection-model-store-component-log-file)
+ [変更ログ](#dlr-object-detection-model-store-component-changelog)

## バージョン
<a name="dlr-object-detection-model-store-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.1.x 
+ 2.0.x

## タイプ
<a name="dlr-object-detection-model-store-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="dlr-object-detection-model-store-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 要件
<a name="dlr-object-detection-model-store-component-requirements"></a>

このコンポーネントには次の要件があります。<a name="ml-component-requirements"></a>
+ Amazon Linux 2 または Ubuntu 18.04 を実行している Greengrass コアデバイスの場合は、[GNU C ライブラリ](https://www.gnu.org/software/libc/) (glibc) バージョン 2.27 以降がデバイスにインストールされている必要があります。
+ Raspberry Pi などの Armv7l デバイスでは、OpenCV-Python の依存関係がデバイスにインストールされています。次のコマンドを実行して依存関係をインストールします。

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Raspberry Pi OS Bullseye を実行する Raspberry Pi デバイスでは、次の要件を満たす必要があります。
  + デバイスに、NumPy 1.22.4 以降がインストールされていること。Raspberry Pi OS Bullseye には以前のバージョンの NumPy が含まれているため、次のコマンドを実行してデバイスの NumPy をアップグレードできます。

    ```
    pip3 install --upgrade numpy
    ```
  + デバイスで、レガシーカメラスタックが有効になっていること。Raspberry Pi OS Bullseye には、デフォルトで新しいカメラスタックが含まれており有効化されていますが、これには互換性がないるため、レガシーカメラスタックを有効にしておく必要があります。<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**レガシーカメラスタックを有効にするには**

    1. 次のコマンドを実行して、Raspberry Pi 設定ツールを開きます。

       ```
       sudo raspi-config
       ```

    1. **[Interface Options]** (インターフェイスオプション) を選択します。

    1. **[Legacy camera]** (レガシーカメラ) を選択して、レガシーカメラスタックを有効にします。

    1. Raspberry Pi を再起動します。

## 依存関係
<a name="dlr-object-detection-model-store-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#dlr-object-detection-model-store-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.1.13 and 2.1.14 ]

次の表に、このコンポーネントのバージョン 2.1.13 および 2.1.14 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | ソフト | 

------
#### [ 2.1.12 ]

次の表に、このコンポーネントのバージョン 2.1.12 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | ソフト | 

------
#### [ 2.1.11 ]

次の表に、このコンポーネントのバージョン 2.1.11 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | ソフト | 

------
#### [ 2.1.10 ]

次の表に、このコンポーネントのバージョン 2.1.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | ソフト | 

------
#### [ 2.1.9 ]

次の表に、このコンポーネントのバージョン 2.1.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | ソフト | 

------
#### [ 2.1.8 ]

次の表に、このコンポーネントのバージョン 2.1.8 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | ソフト | 

------
#### [ 2.1.7 ]

次の表に、このコンポーネントのバージョン 2.1.7 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | ソフト | 

------
#### [ 2.1.5 and 2.1.6 ]

次の表に、このコンポーネントのバージョン 2.1.5 および 2.1.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | ソフト | 

------
#### [ 2.1.4 ]

次の表に、このコンポーネントのバージョン 2.1.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | ソフト | 

------
#### [ 2.1.3 ]

次の表に、このコンポーネントのバージョン 2.1.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | ソフト | 

------
#### [ 2.1.2 ]

次の表に、このコンポーネントのバージョン 2.1.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | ソフト | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | ソフト | 

------
#### [ 2.0.x ]

次の表に、このコンポーネントのバージョン 2.0.x の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | \$12.0.0 | ソフト | 

------

## 構成
<a name="dlr-object-detection-model-store-component-configuration"></a>

このコンポーネントに設定パラメータはありません。

## ローカルログファイル
<a name="dlr-object-detection-model-store-component-log-file"></a>

このコンポーネントはログを出力しません。

## 変更ログ
<a name="dlr-object-detection-model-store-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.1.14  |  Greengrass nucleus 2.12.5 のリリース用にバージョンが更新されました。  | 
|  2.1.13  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.1.12  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.1.11  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.1.10  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.1.9  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.1.8  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.1.7  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.1.6  |  Armv8 (Aarch64) デバイス上の問題を修正する CPU モデルを追加しました。  | 
|  2.1.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/dlr-object-detection-model-store-component.html)  | 
|  2.1.4  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.1.3  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.1.2  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.1.1  |  <a name="changelog-dlr-object-detection-model-store-2.1.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/dlr-object-detection-model-store-component.html) | 
|  2.0.4  |  当初のバージョン  | 

# DLR ランタイム
<a name="dlr-component"></a>

DLR ランタイムコンポーネント (`variant.DLR`) には、[深層学習ランタイム](https://github.com/neo-ai/neo-ai-dlr) (DLR) とその依存関係をお使いのデバイスの仮想環境にインストールするスクリプトが含まれています。[DLR イメージ分類](dlr-image-classification-component.md) および [DLR オブジェクトの検出](dlr-object-detection-component.md) コンポーネントは、DLR をインストールするための依存関係としてこのコンポーネントを使用します。コンポーネントバージョン 1.6.x は DLR v1.6.0 をインストールし、コンポーネントバージョン 1.3.x は DLR v1.3.0 をインストールします。

別のランタイムを使用するには、このコンポーネントの recipe をテンプレートとして使用して、[カスタム機械学習コンポーネントを作成する](ml-customization.md)ことができます。

**Topics**
+ [バージョン](#dlr-component-versions)
+ [タイプ](#dlr-component-type)
+ [オペレーティングシステム](#dlr-component-os-support)
+ [要件](#dlr-component-requirements)
+ [依存関係](#dlr-component-dependencies)
+ [構成](#dlr-component-configuration)
+ [使用方法](#dlr-component-usage)
+ [ローカルログファイル](#dlr-component-log-file)
+ [変更ログ](#dlr-component-changelog)

## バージョン
<a name="dlr-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 1.6.x
+ 1.3.x

## タイプ
<a name="dlr-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="dlr-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 要件
<a name="dlr-component-requirements"></a>

このコンポーネントには次の要件があります。<a name="ml-component-requirements"></a>
+ Amazon Linux 2 または Ubuntu 18.04 を実行している Greengrass コアデバイスの場合は、[GNU C ライブラリ](https://www.gnu.org/software/libc/) (glibc) バージョン 2.27 以降がデバイスにインストールされている必要があります。
+ Raspberry Pi などの Armv7l デバイスでは、OpenCV-Python の依存関係がデバイスにインストールされています。次のコマンドを実行して依存関係をインストールします。

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Raspberry Pi OS Bullseye を実行する Raspberry Pi デバイスでは、次の要件を満たす必要があります。
  + デバイスに、NumPy 1.22.4 以降がインストールされていること。Raspberry Pi OS Bullseye には以前のバージョンの NumPy が含まれているため、次のコマンドを実行してデバイスの NumPy をアップグレードできます。

    ```
    pip3 install --upgrade numpy
    ```
  + デバイスで、レガシーカメラスタックが有効になっていること。Raspberry Pi OS Bullseye には、デフォルトで新しいカメラスタックが含まれており有効化されていますが、これには互換性がないるため、レガシーカメラスタックを有効にしておく必要があります。<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**レガシーカメラスタックを有効にするには**

    1. 次のコマンドを実行して、Raspberry Pi 設定ツールを開きます。

       ```
       sudo raspi-config
       ```

    1. **[Interface Options]** (インターフェイスオプション) を選択します。

    1. **[Legacy camera]** (レガシーカメラ) を選択して、レガシーカメラスタックを有効にします。

    1. Raspberry Pi を再起動します。

### エンドポイントおよびポート
<a name="dlr-component-endpoints"></a>

デフォルトでは、このコンポーネントは、インストーラスクリプトを使い、コアデバイスが使用するプラットフォームに応じて、`apt`、`yum`、`brew`、および `pip` コマンドを使用してパッケージをインストールします。このコンポーネントは、インストーラスクリプトを実行するために、さまざまなパッケージインデックスおよびリポジトリへのアウトバウンドリクエストを実行できる必要があります。このコンポーネントのアウトバウンドトラフィックがプロキシまたはファイアウォールを通過できるようにするには、コアデバイスがインストールに接続するパッケージインデックスとリポジトリのエンドポイントを特定する必要があります。

このコンポーネントのインストールスクリプトに必要なエンドポイントを特定するときは、次の点を考慮してください。
+ エンドポイントは、コアデバイスのプラットフォームによって異なります。例えば、Ubuntu を実行するコアデバイスでは、`yum` または `brew` ではなく `apt` を使用します。さらに、同じパッケージインデックスを使用するデバイスは、異なるソースリストを持つ可能性があるため、異なるリポジトリからパッケージを取得する場合があります。
+ 各デバイスにはパッケージの取得場所を定義する独自のソースリストがあるため、同じパッケージインデックスを使用する複数のデバイス間でエンドポイントが異なる場合があります。
+ エンドポイントは時間の経過とともに変化する可能性があります。各パッケージインデックスは、パッケージをダウンロードするリポジトリの URL を提供し、パッケージの所有者は、パッケージインデックスが提供する URL を変更できます。

このコンポーネントがインストールする依存関係、およびインストーラスクリプトを無効にする方法の詳細については、「[UseInstaller](#dlr-component-config-useinstaller-term) 設定パラメータ」を参照してください。

基本的な操作に必要なエンドポイントとポートの詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。

## 依存関係
<a name="dlr-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#dlr-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 1.6.11 - 1.6.16 ]

次の表に、このコンポーネントのバージョン 1.6.11 から 1.6.16 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0 | ソフト | 

------
#### [ 1.6.10 ]

次の表に、このコンポーネントのバージョン 1.6.10 における依存関係の一覧を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | ソフト | 

------
#### [ 1.6.9 ]

次の表に、このコンポーネントのバージョン 1.6.9 における依存関係の一覧を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | ソフト | 

------
#### [ 1.6.8 ]

次の表に、このコンポーネントのバージョン 1.6.8 における依存関係の一覧を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | ソフト | 

------
#### [ 1.6.6 and 1.6.7 ]

次の表に、このコンポーネントのバージョン 1.6.6 および 1.6.7 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | ソフト | 

------
#### [ 1.6.4 and 1.6.5 ]

次の表に、このコンポーネントのバージョン 1.6.4 および 1.6.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | ソフト | 

------
#### [ 1.6.3 ]

次の表に、このコンポーネントのバージョン 1.6.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | ソフト | 

------
#### [ 1.6.2 ]

次の表に、このコンポーネントのバージョン 1.6.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | ソフト | 

------
#### [ 1.6.1 ]

次の表に、このコンポーネントのバージョン 1.6.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | ソフト | 

------
#### [ 1.3.x ]

次の表に、このコンポーネントのバージョン 1.3.x の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | \$12.0.0 | ソフト | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 構成
<a name="dlr-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

`MLRootPath`  
<a name="ml-config-mlrootpath-desc"></a>(オプション) 推論コンポーネントがイメージを読み取り、推論結果を書き込む Linux コアデバイスのフォルダのパス。この値は、このコンポーネントを実行しているユーザーが読み取り/書き込みアクセス権を持つデバイスの任意の場所に変更できます。  
<a name="ml-config-mlrootpath-default-dlr"></a>デフォルト: `/greengrass/v2/work/variant.DLR/greengrass_ml`

`WindowsMLRootPath`  
この機能は、このコンポーネントの v1.6.6 以降で利用できます。  
<a name="ml-config-windowsmlrootpath-desc"></a>(オプション) 推論コンポーネントがイメージを読み取り、推論結果を書き込む Windows コアデバイスのフォルダのパス。この値は、このコンポーネントを実行しているユーザーが読み取り/書き込みアクセス権を持つデバイスの任意の場所に変更できます。  
<a name="ml-config-windowsmlrootpath-default-dlr"></a>デフォルト: `C:\greengrass\v2\\work\\variant.DLR\\greengrass_ml`

  `UseInstaller`   
<a name="ml-config-useinstaller-desc-dlr"></a>(オプション) DLR とその依存関係をインストールするために、このコンポーネントでインストーラスクリプトを使用するかどうかを定義する文字列値。サポートされている値は`true` および `false` です。  <a name="ml-config-useinstaller-libraries-dlr"></a>

DLR のインストールにカスタムスクリプトを使用する場合、またはビルド済みの Linux イメージにランタイムの依存関係を含める場合は、この値を `false` に設定します。 AWSが提供する DLR 推論コンポーネントでこのコンポーネントを使用するには、依存関係を含む次のライブラリをインストールし、ML コンポーネント`ggc_user`を実行する などのシステムユーザーが使用できるようにします。
+ [Python](https://www.python.org/downloads/) 3.7 以降 (ご使用のバージョンの Python 用の `pip` を含む)。
+ [深層学習ランタイム](https://github.com/neo-ai/neo-ai-dlr)のバージョン 1.6.0
+ [NumPy](https://numpy.org/install/)。
+ [OpenCV-Python](https://pypi.org/project/opencv-python/)。
+ [AWS IoT Device SDK Python 用 v2](https://github.com/aws/aws-iot-device-sdk-python-v2)。
+ [AWS Common Runtime (CRT) Python](https://github.com/awslabs/aws-crt-python)。
+ [Picamera](https://picamera.readthedocs.io/en/release-1.13/) (Raspberry Pi デバイスのみ)。
+ [`awscam` モジュール](https://docs.aws.amazon.com/deeplens/latest/dg/deeplens-library-awscam-module.html) ( AWS DeepLens デバイス用）。
+ libGL (Linux デバイス用)
<a name="ml-config-useinstaller-default"></a>デフォルト: `true`

## 使用方法
<a name="dlr-component-usage"></a>

このコンポーネントを `UseInstaller` 設定パラメータを `true` 設定した状態で使用し、DLR とその依存関係をデバイスにインストールします。コンポーネントは、DLR に必要な OpenCV および NumPy ライブラリを含む仮想環境をデバイスでセットアップします。

**注記**  <a name="ml-installer-component-usage-note"></a>
このコンポーネントのインストーラスクリプトは、デバイスの仮想環境を設定し、インストールされている機械学習フレームワークを使用するために必要な最新バージョンの追加システムライブラリもインストールします。これにより、デバイスで既存のシステムライブラリがアップグレードされる可能性があります。次の表で、サポートされている各オペレーティングシステムに、このコンポーネントがインストールするライブラリの一覧を確認してください。このインストールプロセスをカスタマイズする場合は、`UseInstaller` 設定パラメータを `false` に設定し、独自のインストーラスクリプトを開発します。


| プラットフォーム | デバイスシステムにインストールされているライブラリ | 仮想環境にインストールされているライブラリ | 
| --- | --- | --- | 
| Armv7l | build-essential, cmake, ca-certificates, git | setuptools, wheel | 
| Amazon Linux 2 | mesa-libGL | なし | 
| Ubuntu | wget | なし | 

推論コンポーネントをデプロイすると、このランタイムコンポーネントはまず、デバイスにすでに DLR とその依存関係がインストールされているかどうかを検証し、インストールされていない場合にはインストールします。

## ローカルログファイル
<a name="dlr-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/variant.DLR.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\variant.DLR.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/variant.DLR.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\variant.DLR.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="dlr-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  1.6.16  |  Greengrass nucleus バージョン 2.12.5 のリリース用にバージョンが更新されました。  | 
|  1.6.12  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/dlr-component.html)  | 
|  1.6.11  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  1.6.10  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  1.6.9  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  1.6.8  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  1.6.7  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/dlr-component.html)  | 
|  1.6.6  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/dlr-component.html)  | 
|  1.6.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/dlr-component.html)  | 
|  1.6.4  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  1.6.3  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  1.6.2  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  1.6.1  |  <a name="changelog-dlr-1.6.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/dlr-component.html)  | 
|  1.3.2  |  当初のバージョン DLR v1.3.0 をインストールします。  | 

# TensorFlow Lite イメージ分類
<a name="tensorflow-lite-image-classification-component"></a>

TensorFlow Lite イメージ分類コンポーネント (`aws.greengrass.TensorFlowLiteImageClassification`) には、[TensorFlow Lite](https://www.tensorflow.org/lite/guide/python) ランタイムと事前に学習した MobileNet 1.0 量子化モデルのサンプルを使用してイメージ分類推論を実行するためのサンプル推論コードが含まれています。このコンポーネントは、バリアント [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) および [TensorFlow Lite ランタイム](tensorflow-lite-component.md) コンポーネントを依存関係として使用し、TensorFlow Lite ランタイムとサンプルモデルをダウンロードします。

カスタムトレーニングされた TensorFlow Lite モデルでこの推論コンポーネントを使用するには、依存モデルストアコンポーネントの[[create a custom version]](ml-customization.md#override-public-model-store) (カスタムバージョンを作成) します。独自のカスタム推論コードを使用するには、このコンポーネントの recipe をテンプレートとして使用して、[[create a custom inference component]](ml-customization.md#create-inference-component) (カスタム推論コンポーネントを作成) できます。

**Topics**
+ [バージョン](#tensorflow-lite-image-classification-component-versions)
+ [タイプ](#tensorflow-lite-image-classification-component-type)
+ [オペレーティングシステム](#tensorflow-lite-image-classification-component-os-support)
+ [要件](#tensorflow-lite-image-classification-component-requirements)
+ [依存関係](#tensorflow-lite-image-classification-component-dependencies)
+ [構成](#tensorflow-lite-image-classification-component-configuration)
+ [ローカルログファイル](#tensorflow-lite-image-classification-component-log-file)
+ [変更ログ](#tensorflow-lite-image-classification-component-changelog)

## バージョン
<a name="tensorflow-lite-image-classification-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.1.x

## タイプ
<a name="tensorflow-lite-image-classification-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="tensorflow-lite-image-classification-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 要件
<a name="tensorflow-lite-image-classification-component-requirements"></a>

このコンポーネントには次の要件があります。<a name="ml-component-requirements"></a>
+ Amazon Linux 2 または Ubuntu 18.04 を実行している Greengrass コアデバイスの場合は、[GNU C ライブラリ](https://www.gnu.org/software/libc/) (glibc) バージョン 2.27 以降がデバイスにインストールされている必要があります。
+ Raspberry Pi などの Armv7l デバイスでは、OpenCV-Python の依存関係がデバイスにインストールされています。次のコマンドを実行して依存関係をインストールします。

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Raspberry Pi OS Bullseye を実行する Raspberry Pi デバイスでは、次の要件を満たす必要があります。
  + デバイスに、NumPy 1.22.4 以降がインストールされていること。Raspberry Pi OS Bullseye には以前のバージョンの NumPy が含まれているため、次のコマンドを実行してデバイスの NumPy をアップグレードできます。

    ```
    pip3 install --upgrade numpy
    ```
  + デバイスで、レガシーカメラスタックが有効になっていること。Raspberry Pi OS Bullseye には、デフォルトで新しいカメラスタックが含まれており有効化されていますが、これには互換性がないるため、レガシーカメラスタックを有効にしておく必要があります。<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**レガシーカメラスタックを有効にするには**

    1. 次のコマンドを実行して、Raspberry Pi 設定ツールを開きます。

       ```
       sudo raspi-config
       ```

    1. **[Interface Options]** (インターフェイスオプション) を選択します。

    1. **[Legacy camera]** (レガシーカメラ) を選択して、レガシーカメラスタックを有効にします。

    1. Raspberry Pi を再起動します。

## 依存関係
<a name="tensorflow-lite-image-classification-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#tensorflow-lite-image-classification-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.1.11 and 2.1.12 ]

次の表に、このコンポーネントのバージョン 2.1.11 および 2.1.12 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.10 ]

次の表に、このコンポーネントのバージョン 2.1.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.9 ]

次の表に、このコンポーネントのバージョン 2.1.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.8 ]

次の表に、このコンポーネントのバージョン 2.1.8 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.7 ]

次の表に、このコンポーネントのバージョン 2.1.7 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.6 ]

次の表に、このコンポーネントのバージョン 2.1.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.5 ]

次の表に、このコンポーネントのバージョン 2.1.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.4 ]

次の表に、このコンポーネントのバージョン 2.1.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.3 ]

次の表に、このコンポーネントのバージョン 2.1.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.2 ]

次の表に、このコンポーネントのバージョン 2.1.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.1.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------

## 構成
<a name="tensorflow-lite-image-classification-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

`accessControl`  
<a name="ml-config-accesscontrol-desc"></a>(オプション) コンポーネントがデフォルトの通知トピックにメッセージをパブリッシュできるようにする[承認ポリシー](interprocess-communication.md#ipc-authorization-policies)を含むオブジェクト。  
デフォルト:   

```
{
   "aws.greengrass.ipc.mqttproxy": {
      "aws.greengrass.TensorFlowLiteImageClassification:mqttproxy:1": {
         "policyDescription": "Allows access to publish via topic ml/tflite/image-classification.",
         "operations": [
            "aws.greengrass#PublishToIoTCore"
         ],
         "resources": [
            "ml/tflite/image-classification"
         ]
      }
   }
}
```

`PublishResultsOnTopic`  
<a name="ml-config-publishresultsontopic-desc"></a>(オプション) 推論結果をパブリッシュするトピック。この値を変更する場合は、カスタムトピック名と一致するように `resources` パラメータの `accessControl` の値も変更する必要があります。  
デフォルト: `ml/tflite/image-classification`

`Accelerator`  <a name="ml-config-accelerator"></a>
使用するアクセラレーター。サポートされている値は`cpu` および `gpu` です。  
依存モデルコンポーネントのサンプルモデルは CPU アクセラレーションのみをサポートします。別のカスタムモデルで GPU アクセラレーションを使用するには、[カスタムモデルコンポーネントを作成](ml-customization.md#override-public-model-store)して、パブリックモデルコンポーネントを上書きします。  
デフォルト: `cpu`

`ImageDirectory`  
<a name="ml-config-imagedirectory-desc"></a>(オプション) 推論コンポーネントがイメージを読み取る場所と成る、デバイス上のフォルダへのパス。この値は、読み取り/書き込みアクセス権を持つデバイスの任意の場所に変更できます。  
<a name="ml-config-imagedirectory-img-default"></a>デフォルト: `/greengrass/v2/packages/artifacts-unarchived/component-name/image_classification/sample_images/`  
`UseCamera` を `true` の値に設定した場合、この設定パラメータは無視されます。

`ImageName`  
<a name="ml-config-imagename-desc"></a>(オプション) 推論コンポーネントが予測を行う際の入力として使用するイメージの名前。コンポーネントは、`ImageDirectory` で指定されたフォルダ内のイメージを検索します。デフォルトでは、コンポーネントはデフォルトのイメージディレクトリでサンプルイメージを使用します。 は、`jpeg`、、`jpg`、`png`および のイメージ形式 AWS IoT Greengrass をサポートしています`npy`。  
<a name="ml-config-imagename-img-default"></a>デフォルト: `cat.jpeg`  
`UseCamera` を `true` の値に設定した場合、この設定パラメータは無視されます。

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(オプション) 推論コードによって行われた各予測間の時間 (秒単位)。サンプル推論コードは無期限に実行され、指定された時間間隔で予測を繰り返します。例えば、カメラで撮影したイメージをリアルタイム予測に使用する場合などには、この間隔を短い間隔に変更できます。  
デフォルト: `3600`

`ModelResourceKey`  <a name="ml-config-modelresourcekey"></a>
<a name="ml-config-modelresourcekey-desc"></a>(オプション) 依存パブリックモデルコンポーネントで使用されるモデル。このパラメータを変更するのは、パブリックモデルコンポーネントをカスタムコンポーネントでオーバーライドする場合のみです。  
デフォルト:  

```
{
    "model": "TensorFlowLite-Mobilenet"
}
```

`UseCamera`  <a name="ml-config-usecamera"></a>
(オプション) Greengrass コアデバイスに接続されたカメラの画像を使用するかどうかを定義する文字列値。サポートされている値は`true` および `false` です。  
この値を `true` に設定した場合、サンプル推論コードはデバイスのカメラにアクセスし、キャプチャしたイメージでローカルに推論を実行します。`ImageName` と `ImageDirectory` パラメータの値は無視されます。このコンポーネントを実行しているユーザーが、カメラがキャプチャしたイメージを保存する場所への、読み込み/書き込みアクセス権を持っていることを確認します。  
デフォルト: `false`  
このコンポーネントの recipe を表示すると、`UseCamera` 設定パラメータはデフォルト設定には表示されません。ただし、このパラメータの値は、コンポーネントをデプロイするときに、[[configuration merge update]](update-component-configurations.md) (設定マージの更新) で変更することができます。  
`UseCamera` を `true` に設定する場合は、ランタイムコンポーネントによって作成された仮想環境から推論コンポーネントがカメラにアクセスできるようにするためのシンボルリンクも作成する必要があります。サンプル推論コンポーネントを使用したカメラの使用方法の詳細については、「[コンポーネント設定の更新](ml-tutorial-image-classification-camera.md)」を参照してください。

## ローカルログファイル
<a name="tensorflow-lite-image-classification-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.TensorFlowLiteImageClassification.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteImageClassification.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.TensorFlowLiteImageClassification.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteImageClassification.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="tensorflow-lite-image-classification-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  バージョン  |  変更  | 
| --- | --- | 
|  2.1.12  |  Greengrass nucleus 2.12.5 のリリース用にバージョンが更新されました。  | 
|  2.1.11  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.1.10  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.1.9  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.1.8  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.1.7  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.1.6  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.1.5  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.1.4  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  2.1.3  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.1.2  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.1.1  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.1.0  |  当初のバージョン  | 

# TensorFlow Lite オブジェクト検出
<a name="tensorflow-lite-object-detection-component"></a>

TensorFlow Lite オブジェクト検出コンポーネント (`aws.greengrass.TensorFlowLiteObjectDetection`) には、[TensorFlow Lite](https://www.tensorflow.org/lite/guide/python) を使用してオブジェクト検出推論を実行するためのサンプル推論コードと、トレーニング済みの Single Shot Detection (SSD) MobileNet 1.0 モデルサンプルが含まれています。このコンポーネントは、バリアント [TensorFlow Lite オブジェクト検出モデルストア](tensorflow-lite-object-detection-model-store-component.md) および [TensorFlow Lite ランタイム](tensorflow-lite-component.md) コンポーネントを依存関係として使用し、TensorFlow Lite とサンプルモデルをダウンロードします。

カスタムトレーニングされた TensorFlow Lite モデルでこの推論コンポーネントを使用するには、依存モデルストアコンポーネントの[[create a custom version]](ml-customization.md#override-public-model-store) (カスタムバージョンを作成) できます。独自のカスタム推論コードを使用するには、このコンポーネントの recipe をテンプレートとして使用して、[[create a custom inference component]](ml-customization.md#create-inference-component) (カスタム推論コンポーネントを作成) します。

**Topics**
+ [バージョン](#tensorflow-lite-object-detection-component-versions)
+ [タイプ](#tensorflow-lite-object-detection-component-type)
+ [オペレーティングシステム](#tensorflow-lite-object-detection-component-os-support)
+ [要件](#tensorflow-lite-object-detection-component-requirements)
+ [依存関係](#tensorflow-lite-object-detection-component-dependencies)
+ [構成](#tensorflow-lite-object-detection-component-configuration)
+ [ローカルログファイル](#tensorflow-lite-object-detection-component-log-file)
+ [変更ログ](#tensorflow-lite-object-detection-component-changelog)

## バージョン
<a name="tensorflow-lite-object-detection-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.1.x

## タイプ
<a name="tensorflow-lite-object-detection-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="tensorflow-lite-object-detection-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 要件
<a name="tensorflow-lite-object-detection-component-requirements"></a>

このコンポーネントには次の要件があります。<a name="ml-component-requirements"></a>
+ Amazon Linux 2 または Ubuntu 18.04 を実行している Greengrass コアデバイスの場合は、[GNU C ライブラリ](https://www.gnu.org/software/libc/) (glibc) バージョン 2.27 以降がデバイスにインストールされている必要があります。
+ Raspberry Pi などの Armv7l デバイスでは、OpenCV-Python の依存関係がデバイスにインストールされています。次のコマンドを実行して依存関係をインストールします。

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Raspberry Pi OS Bullseye を実行する Raspberry Pi デバイスでは、次の要件を満たす必要があります。
  + デバイスに、NumPy 1.22.4 以降がインストールされていること。Raspberry Pi OS Bullseye には以前のバージョンの NumPy が含まれているため、次のコマンドを実行してデバイスの NumPy をアップグレードできます。

    ```
    pip3 install --upgrade numpy
    ```
  + デバイスで、レガシーカメラスタックが有効になっていること。Raspberry Pi OS Bullseye には、デフォルトで新しいカメラスタックが含まれており有効化されていますが、これには互換性がないるため、レガシーカメラスタックを有効にしておく必要があります。<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**レガシーカメラスタックを有効にするには**

    1. 次のコマンドを実行して、Raspberry Pi 設定ツールを開きます。

       ```
       sudo raspi-config
       ```

    1. **[Interface Options]** (インターフェイスオプション) を選択します。

    1. **[Legacy camera]** (レガシーカメラ) を選択して、レガシーカメラスタックを有効にします。

    1. Raspberry Pi を再起動します。

## 依存関係
<a name="tensorflow-lite-object-detection-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#tensorflow-lite-object-detection-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.1.11 and 2.1.12 ]

次の表に、このコンポーネントのバージョン 2.1.11 および 2.1.12 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.10 ]

次の表に、このコンポーネントのバージョン 2.1.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.9 ]

次の表に、このコンポーネントのバージョン 2.1.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.8 ]

次の表に、このコンポーネントのバージョン 2.1.8 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.7 ]

次の表に、このコンポーネントのバージョン 2.1.7 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.6 ]

次の表に、このコンポーネントのバージョン 2.1.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.5 ]

次の表に、このコンポーネントのバージョン 2.1.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.4 ]

次の表に、このコンポーネントのバージョン 2.1.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.3 ]

次の表に、このコンポーネントのバージョン 2.1.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.2 ]

次の表に、このコンポーネントのバージョン 2.1.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------
#### [ 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.1.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | ソフト | 
| [TensorFlow Lite イメージ分類モデルストア](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | ハード | 
| [TensorFlow Lite](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | ハード | 

------

## 構成
<a name="tensorflow-lite-object-detection-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

`accessControl`  
<a name="ml-config-accesscontrol-desc"></a>(オプション) コンポーネントがデフォルトの通知トピックにメッセージをパブリッシュできるようにする[承認ポリシー](interprocess-communication.md#ipc-authorization-policies)を含むオブジェクト。  
デフォルト:   

```
{
   "aws.greengrass.ipc.mqttproxy": {
      "aws.greengrass.TensorFlowLiteObjectDetection:mqttproxy:1": {
         "policyDescription": "Allows access to publish via topic ml/tflite/object-detection.",
         "operations": [
            "aws.greengrass#PublishToIoTCore"
         ],
         "resources": [
            "ml/tflite/object-detection"
         ]
      }
   }
}
```

`PublishResultsOnTopic`  
<a name="ml-config-publishresultsontopic-desc"></a>(オプション) 推論結果をパブリッシュするトピック。この値を変更する場合は、カスタムトピック名と一致するように `resources` パラメータの `accessControl` の値も変更する必要があります。  
デフォルト: `ml/tflite/object-detection`

`Accelerator`  <a name="ml-config-accelerator"></a>
使用するアクセラレーター。サポートされている値は`cpu` および `gpu` です。  
依存モデルコンポーネントのサンプルモデルは CPU アクセラレーションのみをサポートします。別のカスタムモデルで GPU アクセラレーションを使用するには、[カスタムモデルコンポーネントを作成](ml-customization.md#override-public-model-store)して、パブリックモデルコンポーネントを上書きします。  
デフォルト: `cpu`

`ImageDirectory`  
<a name="ml-config-imagedirectory-desc"></a>(オプション) 推論コンポーネントがイメージを読み取る場所と成る、デバイス上のフォルダへのパス。この値は、読み取り/書き込みアクセス権を持つデバイスの任意の場所に変更できます。  
<a name="ml-config-imagedirectory-obj-default"></a>デフォルト: `/greengrass/v2/packages/artifacts-unarchived/component-name/object_detection/sample_images/`  
`UseCamera` を `true` の値に設定した場合、この設定パラメータは無視されます。

`ImageName`  
<a name="ml-config-imagename-desc"></a>(オプション) 推論コンポーネントが予測を行う際の入力として使用するイメージの名前。コンポーネントは、`ImageDirectory` で指定されたフォルダ内のイメージを検索します。デフォルトでは、コンポーネントはデフォルトのイメージディレクトリでサンプルイメージを使用します。 は、`jpeg`、、`jpg`、`png`および のイメージ形式 AWS IoT Greengrass をサポートしています`npy`。  
<a name="ml-config-imagename-obj-default"></a>デフォルト: `objects.jpg`  
`UseCamera` を `true` の値に設定した場合、この設定パラメータは無視されます。

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(オプション) 推論コードによって行われた各予測間の時間 (秒単位)。サンプル推論コードは無期限に実行され、指定された時間間隔で予測を繰り返します。例えば、カメラで撮影したイメージをリアルタイム予測に使用する場合などには、この間隔を短い間隔に変更できます。  
デフォルト: `3600`

`ModelResourceKey`  <a name="ml-config-modelresourcekey"></a>
<a name="ml-config-modelresourcekey-desc"></a>(オプション) 依存パブリックモデルコンポーネントで使用されるモデル。このパラメータを変更するのは、パブリックモデルコンポーネントをカスタムコンポーネントでオーバーライドする場合のみです。  
デフォルト:  

```
{
    "model": "TensorFlowLite-SSD"
}
```

`UseCamera`  <a name="ml-config-usecamera"></a>
(オプション) Greengrass コアデバイスに接続されたカメラの画像を使用するかどうかを定義する文字列値。サポートされている値は`true` および `false` です。  
この値を `true` に設定した場合、サンプル推論コードはデバイスのカメラにアクセスし、キャプチャしたイメージでローカルに推論を実行します。`ImageName` と `ImageDirectory` パラメータの値は無視されます。このコンポーネントを実行しているユーザーが、カメラがキャプチャしたイメージを保存する場所への、読み込み/書き込みアクセス権を持っていることを確認します。  
デフォルト: `false`  
このコンポーネントの recipe を表示すると、`UseCamera` 設定パラメータはデフォルト設定には表示されません。ただし、このパラメータの値は、コンポーネントをデプロイするときに、[[configuration merge update]](update-component-configurations.md) (設定マージの更新) で変更することができます。  
`UseCamera` を `true` に設定する場合は、ランタイムコンポーネントによって作成された仮想環境から推論コンポーネントがカメラにアクセスできるようにするためのシンボルリンクも作成する必要があります。サンプル推論コンポーネントを使用したカメラの使用方法の詳細については、「[コンポーネント設定の更新](ml-tutorial-image-classification-camera.md)」を参照してください。

**注記**  <a name="ml-config-not-visible-note"></a>
このコンポーネントの recipe を表示すると、`UseCamera` 設定パラメータはデフォルト設定には表示されません。ただし、このパラメータの値は、コンポーネントをデプロイするときに、[[configuration merge update]](update-component-configurations.md) (設定マージの更新) で変更することができます。  
`UseCamera` を `true` に設定する場合は、ランタイムコンポーネントによって作成された仮想環境から推論コンポーネントがカメラにアクセスできるようにするためのシンボルリンクも作成する必要があります。サンプル推論コンポーネントを使用したカメラの使用方法の詳細については、「[コンポーネント設定の更新](ml-tutorial-image-classification-camera.md)」を参照してください。

## ローカルログファイル
<a name="tensorflow-lite-object-detection-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.TensorFlowLiteObjectDetection.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteObjectDetection.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.TensorFlowLiteObjectDetection.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteObjectDetection.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="tensorflow-lite-object-detection-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  バージョン  |  変更  | 
| --- | --- | 
|  2.1.12  |  Greengrass nucleus 2.12.5 のリリース用にバージョンが更新されました。  | 
|  2.1.11  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.1.10  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.1.9  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.1.8  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.1.7  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.1.6  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.1.5  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.1.4  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  2.1.3  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.1.2  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.1.1  |  <a name="changelog-tensorflow-lite-object-detection-2.1.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/tensorflow-lite-object-detection-component.html)  | 
|  2.1.0  |  当初のバージョン  | 

# TensorFlow Lite イメージ分類モデルストア
<a name="tensorflow-lite-image-classification-model-store-component"></a>

TensorFlow Lite イメージ分類モデルストア (`variant.TensorFlowLite.ImageClassification.ModelStore`) は、Greengrass アーティファクトとして事前トレーニングされた MobileNet v1 モデルを含む機械学習モデルコンポーネントです。このコンポーネントで使用されるサンプルモデルは、[TensorFlow Hub ](https://tfhub.dev/) からフェッチされ、[TensorFlow Lite](https://www.tensorflow.org/lite/guide/python) を使用して実装されます。

[TensorFlow Lite イメージ分類](tensorflow-lite-image-classification-component.md) 推論コンポーネントは、このコンポーネントをモデルソースの依存関係として使用します。カスタムトレーニングされた TensorFlow Lite モデルを使用するには、このモデルコンポーネントの [[create a custom version]](ml-customization.md#override-public-model-store) (カスタムバージョンを作成) し、カスタムモデルをコンポーネントアーティファクトとして含めます。このコンポーネントの recipe をテンプレートとして使用して、カスタムモデルコンポーネントを作成できます。

**Topics**
+ [バージョン](#tensorflow-lite-image-classification-model-store-component-versions)
+ [タイプ](#tensorflow-lite-image-classification-model-store-component-type)
+ [オペレーティングシステム](#tensorflow-lite-image-classification-model-store-component-os-support)
+ [要件](#tensorflow-lite-image-classification-model-store-component-requirements)
+ [依存関係](#tensorflow-lite-image-classification-model-store-component-dependencies)
+ [構成](#tensorflow-lite-image-classification-model-store-component-configuration)
+ [ローカルログファイル](#tensorflow-lite-image-classification-model-store-component-log-file)
+ [変更ログ](#tensorflow-lite-image-classification-model-store-component-changelog)

## バージョン
<a name="tensorflow-lite-image-classification-model-store-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.1.x

## タイプ
<a name="tensorflow-lite-image-classification-model-store-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="tensorflow-lite-image-classification-model-store-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 要件
<a name="tensorflow-lite-image-classification-model-store-component-requirements"></a>

このコンポーネントには次の要件があります。<a name="ml-component-requirements"></a>
+ Amazon Linux 2 または Ubuntu 18.04 を実行している Greengrass コアデバイスの場合は、[GNU C ライブラリ](https://www.gnu.org/software/libc/) (glibc) バージョン 2.27 以降がデバイスにインストールされている必要があります。
+ Raspberry Pi などの Armv7l デバイスでは、OpenCV-Python の依存関係がデバイスにインストールされています。次のコマンドを実行して依存関係をインストールします。

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Raspberry Pi OS Bullseye を実行する Raspberry Pi デバイスでは、次の要件を満たす必要があります。
  + デバイスに、NumPy 1.22.4 以降がインストールされていること。Raspberry Pi OS Bullseye には以前のバージョンの NumPy が含まれているため、次のコマンドを実行してデバイスの NumPy をアップグレードできます。

    ```
    pip3 install --upgrade numpy
    ```
  + デバイスで、レガシーカメラスタックが有効になっていること。Raspberry Pi OS Bullseye には、デフォルトで新しいカメラスタックが含まれており有効化されていますが、これには互換性がないるため、レガシーカメラスタックを有効にしておく必要があります。<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**レガシーカメラスタックを有効にするには**

    1. 次のコマンドを実行して、Raspberry Pi 設定ツールを開きます。

       ```
       sudo raspi-config
       ```

    1. **[Interface Options]** (インターフェイスオプション) を選択します。

    1. **[Legacy camera]** (レガシーカメラ) を選択して、レガシーカメラスタックを有効にします。

    1. Raspberry Pi を再起動します。

## 依存関係
<a name="tensorflow-lite-image-classification-model-store-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#tensorflow-lite-image-classification-model-store-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.1.11 and 2.1.12  ]

次の表に、このコンポーネントのバージョン 2.1.11 および 2.1.12 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | ソフト | 

------
#### [ 2.1.10 ]

次の表に、このコンポーネントのバージョン 2.1.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | ソフト | 

------
#### [ 2.1.9 ]

次の表に、このコンポーネントのバージョン 2.1.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | ソフト | 

------
#### [ 2.1.8 ]

次の表に、このコンポーネントのバージョン 2.1.8 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | ソフト | 

------
#### [ 2.1.7 ]

次の表に、このコンポーネントのバージョン 2.1.7 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | ソフト | 

------
#### [ 2.1.6 ]

次の表に、このコンポーネントのバージョン 2.1.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | ソフト | 

------
#### [ 2.1.5 ]

次の表に、このコンポーネントのバージョン 2.1.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | ソフト | 

------
#### [ 2.1.4 ]

次の表に、このコンポーネントのバージョン 2.1.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | ソフト | 

------
#### [ 2.1.3 ]

次の表に、このコンポーネントのバージョン 2.1.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | ソフト | 

------
#### [ 2.1.2 ]

次の表に、このコンポーネントのバージョン 2.1.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | ソフト | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | ソフト | 

------
#### [ 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.1.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | ソフト | 

------

## 構成
<a name="tensorflow-lite-image-classification-model-store-component-configuration"></a>

このコンポーネントに設定パラメータはありません。

## ローカルログファイル
<a name="tensorflow-lite-image-classification-model-store-component-log-file"></a>

このコンポーネントはログを出力しません。

## 変更ログ
<a name="tensorflow-lite-image-classification-model-store-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  バージョン  |  変更  | 
| --- | --- | 
|  2.1.12  |  Greengrass nucleus 2.12.5 のリリース用にバージョンが更新されました。  | 
|  2.1.11  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.1.10  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.1.9  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.1.8  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.1.7  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.1.6  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.1.5  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.1.4  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  2.1.3  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.1.2  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.1.1  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.1.0  |  当初のバージョン  | 

# TensorFlow Lite オブジェクト検出モデルストア
<a name="tensorflow-lite-object-detection-model-store-component"></a>

TensorFlow Lite オブジェクト検出モデルストア (`variant.TensorFlowLite.ObjectDetection.ModelStore`) は、Greengrass アーティファクトとして事前トレーニングされた Single Shot Detection (SSD) MobileNet モデルを含む機械学習モデルコンポーネントです。このコンポーネントで使用されるサンプルモデルは、[TensorFlow Hub ](https://tfhub.dev/) からフェッチされ、[TensorFlow Lite](https://www.tensorflow.org/lite/guide/python) を使用して実装されます。

[[TensorFlow Lite object detection]](tensorflow-lite-object-detection-component.md) (TensorFlow Lite オブジェクト検出) 推論コンポーネントは、このコンポーネントをモデルソースの依存関係として使用します。カスタムトレーニングされた TensorFlow Lite モデルを使用するには、このモデルコンポーネントの [[create a custom version]](ml-customization.md#override-public-model-store) (カスタムバージョンを作成) し、カスタムモデルをコンポーネントアーティファクトとして含めます。このコンポーネントの recipe をテンプレートとして使用して、カスタムモデルコンポーネントを作成できます。

**Topics**
+ [バージョン](#tensorflow-lite-object-detection-model-store-component-versions)
+ [タイプ](#tensorflow-lite-object-detection-model-store-component-type)
+ [オペレーティングシステム](#tensorflow-lite-object-detection-model-store-component-os-support)
+ [要件](#tensorflow-lite-object-detection-model-store-component-requirements)
+ [依存関係](#tensorflow-lite-object-detection-model-store-component-dependencies)
+ [構成](#tensorflow-lite-object-detection-model-store-component-configuration)
+ [ローカルログファイル](#tensorflow-lite-object-detection-model-store-component-log-file)
+ [変更ログ](#tensorflow-lite-object-detection-model-store-component-changelog)

## バージョン
<a name="tensorflow-lite-object-detection-model-store-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.1.x

## タイプ
<a name="tensorflow-lite-object-detection-model-store-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="tensorflow-lite-object-detection-model-store-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 要件
<a name="tensorflow-lite-object-detection-model-store-component-requirements"></a>

このコンポーネントには次の要件があります。<a name="ml-component-requirements"></a>
+ Amazon Linux 2 または Ubuntu 18.04 を実行している Greengrass コアデバイスの場合は、[GNU C ライブラリ](https://www.gnu.org/software/libc/) (glibc) バージョン 2.27 以降がデバイスにインストールされている必要があります。
+ Raspberry Pi などの Armv7l デバイスでは、OpenCV-Python の依存関係がデバイスにインストールされています。次のコマンドを実行して依存関係をインストールします。

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Raspberry Pi OS Bullseye を実行する Raspberry Pi デバイスでは、次の要件を満たす必要があります。
  + デバイスに、NumPy 1.22.4 以降がインストールされていること。Raspberry Pi OS Bullseye には以前のバージョンの NumPy が含まれているため、次のコマンドを実行してデバイスの NumPy をアップグレードできます。

    ```
    pip3 install --upgrade numpy
    ```
  + デバイスで、レガシーカメラスタックが有効になっていること。Raspberry Pi OS Bullseye には、デフォルトで新しいカメラスタックが含まれており有効化されていますが、これには互換性がないるため、レガシーカメラスタックを有効にしておく必要があります。<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**レガシーカメラスタックを有効にするには**

    1. 次のコマンドを実行して、Raspberry Pi 設定ツールを開きます。

       ```
       sudo raspi-config
       ```

    1. **[Interface Options]** (インターフェイスオプション) を選択します。

    1. **[Legacy camera]** (レガシーカメラ) を選択して、レガシーカメラスタックを有効にします。

    1. Raspberry Pi を再起動します。

## 依存関係
<a name="tensorflow-lite-object-detection-model-store-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#tensorflow-lite-object-detection-model-store-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.1.11 and 2.1.12 ]

次の表に、このコンポーネントのバージョン 2.1.11 および 2.1.12 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | ソフト | 

------
#### [ 2.1.10 ]

次の表に、このコンポーネントのバージョン 2.1.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | ソフト | 

------
#### [ 2.1.9 ]

次の表に、このコンポーネントのバージョン 2.1.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | ソフト | 

------
#### [ 2.1.8 ]

次の表に、このコンポーネントのバージョン 2.1.8 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | ソフト | 

------
#### [ 2.1.7 ]

次の表に、このコンポーネントのバージョン 2.1.7 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | ソフト | 

------
#### [ 2.1.6 ]

次の表に、このコンポーネントのバージョン 2.1.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | ソフト | 

------
#### [ 2.1.5 ]

次の表に、このコンポーネントのバージョン 2.1.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | ソフト | 

------
#### [ 2.1.4 ]

次の表に、このコンポーネントのバージョン 2.1.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | ソフト | 

------
#### [ 2.1.3 ]

次の表に、このコンポーネントのバージョン 2.1.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | ソフト | 

------
#### [ 2.1.2 ]

次の表に、このコンポーネントのバージョン 2.1.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | ソフト | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | ソフト | 

------
#### [ 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.1.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | ソフト | 

------

## 構成
<a name="tensorflow-lite-object-detection-model-store-component-configuration"></a>

このコンポーネントに設定パラメータはありません。

## ローカルログファイル
<a name="tensorflow-lite-object-detection-model-store-component-log-file"></a>

このコンポーネントはログを出力しません。

## 変更ログ
<a name="tensorflow-lite-object-detection-model-store-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  バージョン  |  変更  | 
| --- | --- | 
|  2.1.12  |  Greengrass nucleus 2.12.5 のリリース用にバージョンが更新されました。  | 
|  2.1.11  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.1.10  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.1.9  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.1.8  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.1.7  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.1.6  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.1.5  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.1.4  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  2.1.3  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.1.2  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.1.1  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.1.0  |  当初のバージョン  | 

# TensorFlow Lite ランタイム
<a name="tensorflow-lite-component"></a>

TensorFlow Lite ランタイムコンポーネント (`variant.TensorFlowLite`) には、[TensorFlow Lite](https://www.tensorflow.org/lite/guide/python) バージョン 2.5.0 とその依存関係をデバイスの仮想環境にインストールするスクリプトが含まれています。[TensorFlow Lite イメージ分類](tensorflow-lite-image-classification-component.md)および [TensorFlow Lite オブジェクト検出](tensorflow-lite-object-detection-component.md)コンポーネントは、このランタイムコンポーネントを TensorFlow Lite のインストール時の依存関係として使用します。

**注記**  
TensorFlow Lite ランタイムコンポーネント v2.5.6 以降では、TensorFlow Lite ランタイムの既存のインストールとその依存関係が再インストールされます。この再インストールは、コアデバイスが TensorFlow Lite の互換性のあるバージョンとその依存関係を確実に実行できるようにするのに役立ちます。

別のランタイムを使用するには、このコンポーネントの recipe をテンプレートとして使用して、[カスタム機械学習コンポーネントを作成する](ml-customization.md)ことができます。

**Topics**
+ [バージョン](#tensorflow-lite-component-versions)
+ [タイプ](#tensorflow-lite-component-type)
+ [オペレーティングシステム](#tensorflow-lite-component-os-support)
+ [要件](#tensorflow-lite-component-requirements)
+ [依存関係](#tensorflow-lite-component-dependencies)
+ [構成](#tensorflow-lite-component-configuration)
+ [使用方法](#tensorflow-lite-component-usage)
+ [ローカルログファイル](#tensorflow-lite-component-log-file)
+ [変更ログ](#tensorflow-lite-component-changelog)

## バージョン
<a name="tensorflow-lite-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.5.x

## タイプ
<a name="tensorflow-lite-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="tensorflow-lite-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 要件
<a name="tensorflow-lite-component-requirements"></a>

このコンポーネントには次の要件があります。<a name="ml-component-requirements"></a>
+ Amazon Linux 2 または Ubuntu 18.04 を実行している Greengrass コアデバイスの場合は、[GNU C ライブラリ](https://www.gnu.org/software/libc/) (glibc) バージョン 2.27 以降がデバイスにインストールされている必要があります。
+ Raspberry Pi などの Armv7l デバイスでは、OpenCV-Python の依存関係がデバイスにインストールされています。次のコマンドを実行して依存関係をインストールします。

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Raspberry Pi OS Bullseye を実行する Raspberry Pi デバイスでは、次の要件を満たす必要があります。
  + デバイスに、NumPy 1.22.4 以降がインストールされていること。Raspberry Pi OS Bullseye には以前のバージョンの NumPy が含まれているため、次のコマンドを実行してデバイスの NumPy をアップグレードできます。

    ```
    pip3 install --upgrade numpy
    ```
  + デバイスで、レガシーカメラスタックが有効になっていること。Raspberry Pi OS Bullseye には、デフォルトで新しいカメラスタックが含まれており有効化されていますが、これには互換性がないるため、レガシーカメラスタックを有効にしておく必要があります。<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**レガシーカメラスタックを有効にするには**

    1. 次のコマンドを実行して、Raspberry Pi 設定ツールを開きます。

       ```
       sudo raspi-config
       ```

    1. **[Interface Options]** (インターフェイスオプション) を選択します。

    1. **[Legacy camera]** (レガシーカメラ) を選択して、レガシーカメラスタックを有効にします。

    1. Raspberry Pi を再起動します。

### エンドポイントおよびポート
<a name="tensorflow-lite-component-endpoints"></a>

デフォルトでは、このコンポーネントは、インストーラスクリプトを使い、コアデバイスが使用するプラットフォームに応じて、`apt`、`yum`、`brew`、および `pip` コマンドを使用してパッケージをインストールします。このコンポーネントは、インストーラスクリプトを実行するために、さまざまなパッケージインデックスおよびリポジトリへのアウトバウンドリクエストを実行できる必要があります。このコンポーネントのアウトバウンドトラフィックがプロキシまたはファイアウォールを通過できるようにするには、コアデバイスがインストールに接続するパッケージインデックスとリポジトリのエンドポイントを特定する必要があります。

このコンポーネントのインストールスクリプトに必要なエンドポイントを特定するときは、次の点を考慮してください。
+ エンドポイントは、コアデバイスのプラットフォームによって異なります。例えば、Ubuntu を実行するコアデバイスでは、`yum` または `brew` ではなく `apt` を使用します。さらに、同じパッケージインデックスを使用するデバイスは、異なるソースリストを持つ可能性があるため、異なるリポジトリからパッケージを取得する場合があります。
+ 各デバイスにはパッケージの取得場所を定義する独自のソースリストがあるため、同じパッケージインデックスを使用する複数のデバイス間でエンドポイントが異なる場合があります。
+ エンドポイントは時間の経過とともに変化する可能性があります。各パッケージインデックスは、パッケージをダウンロードするリポジトリの URL を提供し、パッケージの所有者は、パッケージインデックスが提供する URL を変更できます。

このコンポーネントがインストールする依存関係、およびインストーラスクリプトを無効にする方法の詳細については、「[UseInstaller](#tensorflow-lite-component-config-useinstaller-term) 設定パラメータ」を参照してください。

基本的な操作に必要なエンドポイントとポートの詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。

## 依存関係
<a name="tensorflow-lite-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#tensorflow-lite-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.5.14 and 2.5.15 ]

次の表に、このコンポーネントのバージョン 2.5.14 および 2.5.15 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | ソフト | 

------
#### [ 2.5.13 ]

次の表に、このコンポーネントのバージョン 2.5.13 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | ソフト | 

------
#### [ 2.5.12 ]

次の表に、このコンポーネントのバージョン 2.5.12 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | ソフト | 

------
#### [ 2.5.11 ]

次の表に、このコンポーネントのバージョン 2.5.11 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | ソフト | 

------
#### [ 2.5.10 ]

次の表に、このコンポーネントのバージョン 2.5.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | ソフト | 

------
#### [ 2.5.9 ]

次の表に、このコンポーネントのバージョン 2.5.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | ソフト | 

------
#### [ 2.5.8 ]

次の表に、このコンポーネントのバージョン 2.5.8 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | ソフト | 

------
#### [ 2.5.5 - 2.5.7 ]

次の表に、このコンポーネントのバージョン 2.5.5 から 2.5.7 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | ソフト | 

------
#### [ 2.5.3 and 2.5.4 ]

次の表に、このコンポーネントのバージョン 2.5.3 および 2.5.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | ソフト | 

------
#### [ 2.5.2 ]

次の表に、このコンポーネントのバージョン 2.5.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | ソフト | 

------
#### [ 2.5.1 ]

次の表に、このコンポーネントのバージョン 2.5.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | ソフト | 

------
#### [ 2.5.0 ]

次の表に、このコンポーネントのバージョン 2.5.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | ソフト | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 構成
<a name="tensorflow-lite-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

`MLRootPath`  
<a name="ml-config-mlrootpath-desc"></a>(オプション) 推論コンポーネントがイメージを読み取り、推論結果を書き込む Linux コアデバイスのフォルダのパス。この値は、このコンポーネントを実行しているユーザーが読み取り/書き込みアクセス権を持つデバイスの任意の場所に変更できます。  
<a name="ml-config-mlrootpath-default-tfl"></a>デフォルト: `/greengrass/v2/work/variant.TensorFlowLite/greengrass_ml`

`WindowsMLRootPath`  
この機能は、このコンポーネントの v1.6.6 以降で利用できます。  
<a name="ml-config-windowsmlrootpath-desc"></a>(オプション) 推論コンポーネントがイメージを読み取り、推論結果を書き込む Windows コアデバイスのフォルダのパス。この値は、このコンポーネントを実行しているユーザーが読み取り/書き込みアクセス権を持つデバイスの任意の場所に変更できます。  
<a name="ml-config-windowsmlrootpath-default-dlr"></a>デフォルト: `C:\greengrass\v2\\work\\variant.DLR\\greengrass_ml`

  `UseInstaller`   
<a name="ml-config-useinstaller-desc-tfl"></a>(オプション) TensorFlow Lite とその依存関係をインストールするために、このコンポーネントでインストーラスクリプトを使用するかどうかを定義する文字列値。サポートされている値は`true` および `false` です。  <a name="ml-config-useinstaller-libraries-tfl"></a>

TensorFlow Lite のインストールにカスタムスクリプトを使用する場合、またはビルド済みの Linux イメージにランタイムの依存関係を含める場合は、この値を `false` に設定します。 AWSが提供する TensorFlow Lite 推論コンポーネントでこのコンポーネントを使用するには、依存関係を含む次のライブラリをインストールし、ML コンポーネント`ggc_user`を実行する などのシステムユーザーが使用できるようにします。
+ [Python](https://www.python.org/downloads/) 3.8 以降 (ご使用のバージョンの Python 用の `pip` を含む)。
+ [TensorFlow Lite](https://www.tensorflow.org/lite/guide/python) v2.5.0
+ [NumPy](https://numpy.org/install/)
+ [OpenCV-Python](https://pypi.org/project/opencv-python/)
+ [AWS IoT Device SDK Python 用 v2](https://github.com/aws/aws-iot-device-sdk-python-v2)
+ [AWS 共通ランタイム (CRT) Python](https://github.com/awslabs/aws-crt-python)
+ [Picamera](https://picamera.readthedocs.io/en/release-1.13/) (Raspberry Pi デバイス用)
+ [`awscam` モジュール](https://docs.aws.amazon.com/deeplens/latest/dg/deeplens-library-awscam-module.html) ( AWS DeepLens デバイス用)
+ libGL (Linux デバイス用)
<a name="ml-config-useinstaller-default"></a>デフォルト: `true`

## 使用方法
<a name="tensorflow-lite-component-usage"></a>

`UseInstaller` 設定パラメータを `true` に設定してこのコンポーネントを使用して、TensorFlow Lite とその依存コンポーネントをデバイスにインストールします。コンポーネントは、TensorFlow Lite に必要な OpenCV および NumPy ライブラリを含む仮想環境をデバイスでセットアップします。

**注記**  <a name="ml-installer-component-usage-note"></a>
このコンポーネントのインストーラスクリプトは、デバイスの仮想環境を設定し、インストールされている機械学習フレームワークを使用するために必要な最新バージョンの追加システムライブラリもインストールします。これにより、デバイスで既存のシステムライブラリがアップグレードされる可能性があります。次の表で、サポートされている各オペレーティングシステムに、このコンポーネントがインストールするライブラリの一覧を確認してください。このインストールプロセスをカスタマイズする場合は、`UseInstaller` 設定パラメータを `false` に設定し、独自のインストーラスクリプトを開発します。


| プラットフォーム | デバイスシステムにインストールされているライブラリ | 仮想環境にインストールされているライブラリ | 
| --- | --- | --- | 
| Armv7l | build-essential, cmake, ca-certificates, git | setuptools, wheel | 
| Amazon Linux 2 | mesa-libGL | なし | 
| Ubuntu | wget | なし | 

推論コンポーネントをデプロイすると、このランタイムコンポーネントはまず、デバイスにすでに TensorFlow Lite とその依存関係がインストールされているかどうかを検証します。そうでない場合は、ランタイムコンポーネントによってインストールされます。

## ローカルログファイル
<a name="tensorflow-lite-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/variant.TensorFlowLite.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\variant.TensorFlowLite.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/variant.TensorFlowLite.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\variant.TensorFlowLite.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="tensorflow-lite-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  バージョン  |  変更  | 
| --- | --- | 
|  2.5.15  |  Greengrass nucleus 2.12.5 のリリース用にバージョンが更新されました。  | 
|  2.5.14  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.5.13  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.5.12  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.5.11  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.5.10  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.5.9  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.5.8  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.5.7  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/tensorflow-lite-component.html)  | 
|  2.5.6  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/tensorflow-lite-component.html)  | 
|  2.5.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/tensorflow-lite-component.html)  | 
|  2.5.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/tensorflow-lite-component.html)  | 
|  2.5.3  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.5.2  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.5.1  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.5.0  |  当初のバージョン  | 

# Modbus-RTU プロトコルアダプタ
<a name="modbus-rtu-protocol-adapter-component"></a>

Modbus-RTU プロトコル アダプタ コンポーネント `aws.greengrass.Modbus` は、ローカル Modbus RTU デバイスからの情報をポーリングします。

このコンポーネントでローカル Modbus RTU デバイスから情報を要求するには、このコンポーネントがサブスクライブするトピックにメッセージをパブリッシュします。メッセージで、デバイスに送信する Modbus RTU 要求を指定します。次に、このコンポーネントは、 Modbus RTU 要求の結果を含むレスポンスをパブリッシュします。

**注記**  
このコンポーネントは、 AWS IoT Greengrass V1 の Modbus RTU プロトコルアダプターコネクタと同様の機能を提供します。詳細については、「AWS IoT Greengrass V1 デベロッパーガイド」の「[Modbus RTU プロトコールアダプタコネクタ](https://docs.aws.amazon.com/greengrass/latest/developerguide/modbus-protocol-adapter-connector.html)」を参照してください。

**Topics**
+ [バージョン](#modbus-rtu-protocol-adapter-component-versions)
+ [タイプ](#modbus-rtu-protocol-adapter-component-type)
+ [オペレーティングシステム](#modbus-rtu-protocol-adapter-component-os-support)
+ [要件](#modbus-rtu-protocol-adapter-component-requirements)
+ [依存関係](#modbus-rtu-protocol-adapter-component-dependencies)
+ [構成](#modbus-rtu-protocol-adapter-component-configuration)
+ [入力データ](#modbus-rtu-protocol-adapter-component-input-data)
+ [出力データ](#modbus-rtu-protocol-adapter-component-output-data)
+ [Modbus RTU のリクエストとレスポンス](#modbus-rtu-protocol-adapter-component-requests-responses)
+ [ローカルログファイル](#modbus-rtu-protocol-adapter-component-log-file)
+ [ライセンス](#modbus-rtu-protocol-adapter-component-licenses)
+ [変更ログ](#modbus-rtu-protocol-adapter-component-changelog)

## バージョン
<a name="modbus-rtu-protocol-adapter-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.1.x
+ 2.0.x

## タイプ
<a name="modbus-rtu-protocol-adapter-component-type"></a>

<a name="public-component-type-lambda"></a>この<a name="public-component-type-lambda-phrase"></a>コンポーネントは Lambda コンポーネントです (`aws.greengrass.lambda`)。[Greengrass nucleus](greengrass-nucleus-component.md) は、[Lambda ランチャーコンポーネント](lambda-launcher-component.md)を使用してこのコンポーネントの Lambda 関数を実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="modbus-rtu-protocol-adapter-component-os-support"></a>

このコンポーネントは、Linux コアデバイスにのみインストールできます。

## 要件
<a name="modbus-rtu-protocol-adapter-component-requirements"></a>

このコンポーネントには次の要件があります。
+ <a name="core-device-lambda-function-requirements"></a>コアデバイスは、Lambda 関数を実行するための要件を満たしている必要があります。コアデバイスが、コンテナ化された Lambda 関数を実行させる場合、そのデバイスは要件を満たす必要があります。詳細については、「[Lambda 関数の要件](setting-up.md#greengrass-v2-lambda-requirements)」を参照してください。
+ <a name="public-component-python3-requirement"></a>[Python](https://www.python.org/) バージョン 3.7 がコアデバイスにインストールされ、PATH 環境変数に追加されています。
+  AWS IoT Greengrass コアデバイスと Modbus デバイス間の物理的な接続。コアデバイスは、USB ポートなど、シリアルポートを介して Modbus RTU ネットワークに物理的に接続する必要があります。
+ <a name="connector-component-legacy-subscription-router-dependency"></a>このコンポーネントから出力データを受信するには、このコンポーネントをデプロイするときに、次の設定更新プログラムを[レガシーサブスクリプションルーターのコンポーネント](legacy-subscription-router-component.md) (`aws.greengrass.LegacySubscriptionRouter`) のためにマージする必要があります。この設定は、このコンポーネントがレスポンスを公開するトピックを指定します。

------
#### [ Legacy subscription router v2.1.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-modbus": {
        "id": "aws-greengrass-modbus",
        "source": "component:aws.greengrass.Modbus",
        "subject": "modbus/adapter/response",
        "target": "cloud"
      }
    }
  }
  ```

------
#### [ Legacy subscription router v2.0.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-modbus": {
        "id": "aws-greengrass-modbus",
        "source": "arn:aws:lambda:region:aws:function:aws-greengrass-modbus:version",
        "subject": "modbus/adapter/response",
        "target": "cloud"
      }
    }
  }
  ```<a name="connector-component-legacy-subscription-router-dependency-replace"></a>
  + *region* AWS リージョン を、使用する に置き換えます。
  + *バージョン*を、このコンポーネントが実行する Lambda 関数のバージョンに置き換えます。Lambda 関数のバージョンを確認するには、デプロイするこのコンポーネントのバージョンの recipe を確認する必要があります。[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)で、このコンポーネントの詳細ページを開き、**[Lambda function]** (Lambda 関数) の key-value ペアを見つけます。このキー値のペアには、Lambda 関数の名前とバージョンが含まれます。

**重要**  <a name="connector-component-legacy-subscription-router-dependency-note"></a>
このコンポーネントをデプロイするたびに、レガシーサブスクリプションルーターの Lambda 関数のバージョンを更新する必要があります。これにより、デプロイするコンポーネントバージョンに正しい Lambda 関数のバージョンが使用されることが保証されます。

------

  <a name="connector-component-create-deployments"></a>詳細については、「[デプロイの作成](create-deployments.md)」を参照してください。
+ Modbus-RTU プロトコルアダプタは、VPC での実行がサポートされています。

## 依存関係
<a name="modbus-rtu-protocol-adapter-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#modbus-rtu-protocol-adapter-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.1.11 ]

次の表に、このコンポーネントのバージョン 2.1.11 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.16.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.10 ]

次の表に、このコンポーネントのバージョン 2.1.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.15.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.9 ]

次の表に、このコンポーネントのバージョン 2.1.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.14.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.8 ]

次の表に、このコンポーネントのバージョン 2.1.8 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.7 ]

次の表に、このコンポーネントのバージョン 2.1.7 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.6 ]

次の表に、このコンポーネントのバージョン 2.1.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.4 and 2.1.5 ]

次の表に、このコンポーネントのバージョン 2.1.4 および 2.1.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.3 ]

次の表に、このコンポーネントのバージョン 2.1.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.2 ]

次の表に、このコンポーネントのバージョン 2.1.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.8 and 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.0.8 および 2.1.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.7 ]

次の表に、このコンポーネントのバージョン 2.0.7 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.6 ]

次の表に、このコンポーネントのバージョン 2.0.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.5 ]

次の表に、このコンポーネントのバージョン 2.0.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.4 ]

次の表に、このコンポーネントのバージョン 2.0.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.3 ]

次の表に、このコンポーネントのバージョン 2.0.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.3 <2.1.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | >=1.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | >=1.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=1.0.0  | ハード | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 構成
<a name="modbus-rtu-protocol-adapter-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

**注記**  <a name="connector-component-lambda-parameters"></a>
このコンポーネントのデフォルト設定には、Lambda 関数のパラメータが含まれます。デバイスにこのコンポーネントを設定するには、次のパラメータのみを編集することをお勧めします。

------
#### [ v2.1.x ]

`lambdaParams`  
このコンポーネントの Lambda 関数のパラメータを含むオブジェクト。このオブジェクトには、次の情報が含まれます。    
`EnvironmentVariables`  
Lambda 関数のパラメータを含むオブジェクト。このオブジェクトには、次の情報が含まれます。    
`ModbusLocalPort`  <a name="modbus-rtu-protocol-adapter-configuration-modbuslocalport"></a>
`/dev/ttyS2` など、コアデバイスの物理 Modbus シリアルポートへの絶対パス。  
コンテナ内でこのコンポーネントを実行するには、コンポーネントがアクセスできるシステムデバイス (`containerParams.devices` 内) として、このパスを定義する必要があります。このコンポーネントは、デフォルトでコンテナ内で実行されます。  
このコンポーネントには、デバイスへの読み取り/書き込みアクセス権限が必要です。  
`ModbusBaudRate`  
(オプション) ローカル Modbus TCP デバイスとのシリアル通信におけるボーレートを指定する文字列値。  
デフォルト: `9600`  
`ModbusByteSize`  
(オプション) ローカル Modbus TCP デバイスとのシリアル通信におけるバイトサイズを指定する文字列値。`5`、`6`、`7`、`8` ビットのいずれかを選択します。  
デフォルト: `8`  
`ModbusParity`  
(オプション) ローカル Modbus TCP デバイスとのシリアル通信におけるデータの整合性を検証するために使用するパリティモード。  
+ `E` - 偶数のパリティでデータの整合性を検証します。
+ `O` - 奇数のパリティでデータの整合性を検証します。
+ `N` - データの整合性を検証しません。
デフォルト: `N`  
`ModbusStopBits`  
(オプション) ローカル Modbus TCP デバイスとのシリアル通信におけるバイトの終わりを示すビット数を指定する文字列値。  
デフォルト: `1`

`containerMode`  <a name="modbus-rtu-protocol-adapter-configuration-containermode"></a>
(オプション) このコンポーネントのコンテナ化モード。次のオプションから選択します。  
+ `GreengrassContainer` – コンポーネントは、 AWS IoT Greengrass コンテナ内の分離されたランタイム環境で実行されます。

  このオプションを指定した場合、コンテナに Modbus デバイスへのアクセスを許可するため、システムデバイス (`containerParams.devices` 内) を指定する必要があります。
+ `NoContainer` - コンポーネントは、分離されたランタイム環境では実行されません。
デフォルト: `GreengrassContainer`

`containerParams`  <a name="modbus-rtu-protocol-adapter-configuration-containerparams"></a>
<a name="connector-component-container-params-description"></a>(オプション) このコンポーネントのコンテナパラメータを含むオブジェクト。`containerMode` の `GreengrassContainer` を指定した場合、コンポーネントはこれらのパラメータを使用します。  
このオブジェクトには、次の情報が含まれます。    
`memorySize`  
<a name="connector-component-container-params-memory-size-description"></a>(オプション) コンポーネントに割り当てるメモリ量 (KB 単位)。  
デフォルトは 512 MB (525,312 KB) です。  
`devices`  
(オプション) コンテナ内でコンポーネントがアクセスできるシステムデバイスを指定するオブジェクトです。  
コンテナ内でこのコンポーネントを実行するには、`ModbusLocalPort` 環境変数で設定するシステムデバイスを指定する必要があります。
このオブジェクトには、次の情報が含まれます。    
`0` - これは文字列としての配列インデックスです。  
次の情報が含まれるオブジェクト。    
`path`  
コアデバイスのシステムデバイスへのパス。これは、`ModbusLocalPort` に設定する値と同じであることが必要です。  
`permission`  
(オプション) コンテナからシステムデバイスにアクセスする許可。この値は `rw` である必要があり、コンポーネントにシステムデバイスへの読み取り/書き込みアクセス権限があることを指定します。  
デフォルト: `rw`  
`addGroupOwner`  
(オプション) コンポーネントを実行するシステムグループを、システムデバイスの所有者として追加する有無。  
デフォルト: `true`

`pubsubTopics`  <a name="connector-component-pubsub-topics-parameter"></a>
(オプション) コンポーネントがメッセージを受信するためにサブスクライブするトピックを含むオブジェクト。各トピックと、コンポーネントが から MQTT トピックをサブスクライブするか、ローカルのパブリッシュ/サブスクライブトピックをサブスクライブ AWS IoT Core するかを指定できます。  
このオブジェクトには、次の情報が含まれます。    
`0` - これは文字列としての配列インデックスです。  
次の情報が含まれるオブジェクト。    
`type`  
(オプション) このコンポーネントがメッセージをサブスクライブするために使用するパブリッシュ/サブスクライブメッセージングのタイプ。次のオプションから選択します。  
+ `PUB_SUB` - ローカルのパブリッシュ/サブスクライブメッセージをサブスクライブします。このオプションを選択した場合、トピックに MQTT ワイルドカードを含めることはできません。このオプションを指定したときに、カスタムコンポーネントからメッセージを送信する方法の詳細については、「[ローカルメッセージをパブリッシュ/サブスクライブする](ipc-publish-subscribe.md)」を参照してください。
+ `IOT_CORE` – AWS IoT Core MQTT メッセージをサブスクライブします。このオプションを選択した場合、トピックに MQTT ワイルドカードを含めることができます。このオプションを指定したときに、カスタムコンポーネントからメッセージを送信する方法の詳細については、「[AWS IoT Core MQTT メッセージを発行/サブスクライブする](ipc-iot-core-mqtt.md)」を参照してください。
デフォルト: `PUB_SUB`  
`topic`  
(オプション) コンポーネントがメッセージを受信するためにサブスクライブするトピック。`type` の `IotCore` を指定した場合、このトピックで MQTT ワイルドカード (`+` および `#`) を使用できます。

**Example 例: 設定マージの更新 (コンテナモード)**  <a name="modbus-rtu-protocol-adapter-configuration-example-container-mode"></a>

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "ModbusLocalPort": "/dev/ttyS2"
    }
  },
  "containerMode": "GreengrassContainer",
  "containerParams": {
    "devices": {
      "0": {
        "path": "/dev/ttyS2",
        "permission": "rw",
        "addGroupOwner": true
      }
    }
  }
}
```

**Example 例: 設定マージの更新 (コンテナモードなし)**  <a name="modbus-rtu-protocol-adapter-configuration-example-no-container-mode"></a>

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "ModbusLocalPort": "/dev/ttyS2"
    }
  },
  "containerMode": "NoContainer"
}
```

------
#### [ v2.0.x ]

`lambdaParams`  
このコンポーネントの Lambda 関数のパラメータを含むオブジェクト。このオブジェクトには、次の情報が含まれます。    
`EnvironmentVariables`  
Lambda 関数のパラメータを含むオブジェクト。このオブジェクトには、次の情報が含まれます。    
`ModbusLocalPort`  <a name="modbus-rtu-protocol-adapter-configuration-modbuslocalport"></a>
`/dev/ttyS2` など、コアデバイスの物理 Modbus シリアルポートへの絶対パス。  
コンテナ内でこのコンポーネントを実行するには、コンポーネントがアクセスできるシステムデバイス (`containerParams.devices` 内) として、このパスを定義する必要があります。このコンポーネントは、デフォルトでコンテナ内で実行されます。  
このコンポーネントには、デバイスへの読み取り/書き込みアクセス権限が必要です。

`containerMode`  <a name="modbus-rtu-protocol-adapter-configuration-containermode"></a>
(オプション) このコンポーネントのコンテナ化モード。次のオプションから選択します。  
+ `GreengrassContainer` – コンポーネントは、 AWS IoT Greengrass コンテナ内の分離されたランタイム環境で実行されます。

  このオプションを指定した場合、コンテナに Modbus デバイスへのアクセスを許可するため、システムデバイス (`containerParams.devices` 内) を指定する必要があります。
+ `NoContainer` - コンポーネントは、分離されたランタイム環境では実行されません。
デフォルト: `GreengrassContainer`

`containerParams`  <a name="modbus-rtu-protocol-adapter-configuration-containerparams"></a>
<a name="connector-component-container-params-description"></a>(オプション) このコンポーネントのコンテナパラメータを含むオブジェクト。`containerMode` の `GreengrassContainer` を指定した場合、コンポーネントはこれらのパラメータを使用します。  
このオブジェクトには、次の情報が含まれます。    
`memorySize`  
<a name="connector-component-container-params-memory-size-description"></a>(オプション) コンポーネントに割り当てるメモリ量 (KB 単位)。  
デフォルトは 512 MB (525,312 KB) です。  
`devices`  
(オプション) コンテナ内でコンポーネントがアクセスできるシステムデバイスを指定するオブジェクトです。  
コンテナ内でこのコンポーネントを実行するには、`ModbusLocalPort` 環境変数で設定するシステムデバイスを指定する必要があります。
このオブジェクトには、次の情報が含まれます。    
`0` - これは文字列としての配列インデックスです。  
次の情報が含まれるオブジェクト。    
`path`  
コアデバイスのシステムデバイスへのパス。これは、`ModbusLocalPort` に設定する値と同じであることが必要です。  
`permission`  
(オプション) コンテナからシステムデバイスにアクセスする許可。この値は `rw` である必要があり、コンポーネントにシステムデバイスへの読み取り/書き込みアクセス権限があることを指定します。  
デフォルト: `rw`  
`addGroupOwner`  
(オプション) コンポーネントを実行するシステムグループを、システムデバイスの所有者として追加する有無。  
デフォルト: `true`

`pubsubTopics`  <a name="connector-component-pubsub-topics-parameter"></a>
(オプション) コンポーネントがメッセージを受信するためにサブスクライブするトピックを含むオブジェクト。各トピックと、コンポーネントが から MQTT トピックをサブスクライブするか、ローカルのパブリッシュ/サブスクライブトピックをサブスクライブ AWS IoT Core するかを指定できます。  
このオブジェクトには、次の情報が含まれます。    
`0` - これは文字列としての配列インデックスです。  
次の情報が含まれるオブジェクト。    
`type`  
(オプション) このコンポーネントがメッセージをサブスクライブするために使用するパブリッシュ/サブスクライブメッセージングのタイプ。次のオプションから選択します。  
+ `PUB_SUB` - ローカルのパブリッシュ/サブスクライブメッセージをサブスクライブします。このオプションを選択した場合、トピックに MQTT ワイルドカードを含めることはできません。このオプションを指定したときに、カスタムコンポーネントからメッセージを送信する方法の詳細については、「[ローカルメッセージをパブリッシュ/サブスクライブする](ipc-publish-subscribe.md)」を参照してください。
+ `IOT_CORE` – AWS IoT Core MQTT メッセージをサブスクライブします。このオプションを選択した場合、トピックに MQTT ワイルドカードを含めることができます。このオプションを指定したときに、カスタムコンポーネントからメッセージを送信する方法の詳細については、「[AWS IoT Core MQTT メッセージを発行/サブスクライブする](ipc-iot-core-mqtt.md)」を参照してください。
デフォルト: `PUB_SUB`  
`topic`  
(オプション) コンポーネントがメッセージを受信するためにサブスクライブするトピック。`type` の `IotCore` を指定した場合、このトピックで MQTT ワイルドカード (`+` および `#`) を使用できます。

**Example 例: 設定マージの更新 (コンテナモード)**  <a name="modbus-rtu-protocol-adapter-configuration-example-container-mode"></a>

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "ModbusLocalPort": "/dev/ttyS2"
    }
  },
  "containerMode": "GreengrassContainer",
  "containerParams": {
    "devices": {
      "0": {
        "path": "/dev/ttyS2",
        "permission": "rw",
        "addGroupOwner": true
      }
    }
  }
}
```

**Example 例: 設定マージの更新 (コンテナモードなし)**  <a name="modbus-rtu-protocol-adapter-configuration-example-no-container-mode"></a>

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "ModbusLocalPort": "/dev/ttyS2"
    }
  },
  "containerMode": "NoContainer"
}
```

------

## 入力データ
<a name="modbus-rtu-protocol-adapter-component-input-data"></a>

このコンポーネントは、次のトピックの Modbus RTU 要求パラメータを受入れて、Modbus RTU 要求をデバイスに送信します。<a name="connector-component-local-publish"></a>デフォルトで、このコンポーネントはローカルのパブリッシュ/サブスクライブメッセージにサブスクライブします。カスタムコンポーネントからこのコンポーネントにメッセージをパブリッシュする方法の詳細については、「[ローカルメッセージをパブリッシュ/サブスクライブする](ipc-publish-subscribe.md)」を参照してください。

**デフォルトトピック (ローカルパブリッシュ/サブスクライブ):** `modbus/adapter/request`

<a name="connector-component-input-properties"></a>メッセージは、次のプロパティを受付けます。入力メッセージは JSON 形式である必要があります。

`request`  
送信する Modbus RTU リクエストのパラメータ。  
リクエストメッセージの形は、示す Modbus RTU 要求のタイプによって異なります。次のプロパティはすべての要求に必要です。  
タイプ: 次の情報が含まれる `object`。    
`operation`  
実行するオペレーションの名前。例えば、Modbus RTU デバイスのコイルを読み取るため、`ReadCoilsRequest` を指定します。サポートされているオペレーションの詳細については、「[Modbus RTU のリクエストとレスポンス](#modbus-rtu-protocol-adapter-component-requests-responses)」を参照してください。  
型: `string`  
`device`  
リクエストのターゲットデバイス。  
この値は、`0` と `247` の間の整数である必要があります。  
型: `integer`
リクエストに含まれるその他のパラメータはオペレーションによって異なります。このコンポーネントは、ユーザーに代わって[巡回冗長検査 (CRC)](https://en.wikipedia.org/wiki/Cyclic_redundancy_check) に対応して、データリクエストを検証します。  
リクエストに `address` プロパティが含まれる場合、その値を整数として指定する必要があります。例えば、`"address": 1`。

`id`  <a name="connector-component-input-property-id"></a>
リクエストの任意の ID。このプロパティを使用して、入力リクエストを出力レスポンスにマッピングします。このプロパティを指定するとき、コンポーネントはこの値に対してレスポンスオブジェクトの `id` プロパティを設定します。  
型: `string`

**Example 入力例: コイルの読み取りリクエスト**  

```
{
  "request": {
    "operation": "ReadCoilsRequest",
    "device": 1,
    "address": 1,
    "count": 1
  },
  "id": "MyRequest"
}
```

## 出力データ
<a name="modbus-rtu-protocol-adapter-component-output-data"></a>

 <a name="connector-component-output-data"></a>このコンポーネントは、デフォルトで次の MQTT トピックに出力データとしてレスポンスを公開します。このトピックは、[[legacy subscription router component]](legacy-subscription-router-component.md) (レガシーサブスクリプションルーターコンポーネント) の設定で `subject` として指定する必要があります。カスタムコンポーネントでこのトピックに関するメッセージへサブスクライブする方法の詳細については、「[AWS IoT Core MQTT メッセージを発行/サブスクライブする](ipc-iot-core-mqtt.md)」を参照してください。

**デフォルトトピック (AWS IoT Core MQTT):** `modbus/adapter/response`

レスポンスメッセージの形状は、リクエストオペレーションとレスポンスステータスによって異なります。例については「[リクエストとレスポンスの例](#modbus-rtu-protocol-adapter-component-examples)」を参照してください。

レスポンスごとに、以下のプロパティが含まれます。

`response`  
Modbus RTU デバイスからの応答。  
タイプ: 次の情報が含まれる `object`。    
`status`  
リクエストのステータス。ステータスは、次のいずれかの値になります。  
+ `Success` - リクエストは有効で、コンポーネントはリクエストを Modbus RTU ネットワークに送信し、Modbus RTU ネットワークがレスポンスを返しました。
+ `Exception` - リクエストは有効で、コンポーネントはリクエストを Modbus RTU ネットワークに送信し、Modbus RTU ネットワークが例外を返しました。詳細については、「[レスポンスステータス: 例外](#modbus-rtu-protocol-adapter-component-response-exception)」を参照してください。
+ `No Response` – リクエストは無効で、コンポーネントが要求を Modbus RTU ネットワークに送信される前にエラーを検出しました。詳細については、「[レスポンスステータス: No Response](#modbus-rtu-protocol-adapter-component-response-noresponse)」を参照してください。  
`operation`  
コンポーネントが要求した操作。  
`device`  
コンポーネントが要求を送信したデバイス。  
`payload`  
Modbus RTU デバイスからの応答。`status` が `No Response` の場合、このオブジェクトはエラー (例えば、`[Input/Output] No Response received from the remote unit`) の説明を含む `error` プロパティのみが含まれています。

`id`  
どのレスポンスがどのリクエストに対応しているか識別するために使用できるリクエストの ID。

**注記**  
書き込みオペレーションのレスポンスはリクエストのエコーのみです。書き込みレスポンスに有意な情報を含みませんが、要求が正常に処理されたか、失敗したか確認するため、レスポンスのステータスを確認することをお勧めします。

**Example 出力例: 成功**  

```
{
  "response" : {
    "status" : "success",
    "device": 1,
    "operation": "ReadCoilsRequest",
    "payload": {
      "function_code": 1,
      "bits": [1]
    }
  },
  "id" : "MyRequest"
}
```

**Example 出力例: 失敗**  

```
{
  "response" : {
    "status" : "fail",
    "error_message": "Internal Error",
    "error": "Exception",
    "device": 1,
    "operation": "ReadCoilsRequest",
    "payload": {
      "function_code": 129,
      "exception_code": 2
    }
  },
  "id" : "MyRequest"
}
```

その他の例については、「[リクエストとレスポンスの例](#modbus-rtu-protocol-adapter-component-examples)」を参照してください。

## Modbus RTU のリクエストとレスポンス
<a name="modbus-rtu-protocol-adapter-component-requests-responses"></a>

このコネクタは、Modbus RTU のリクエストパラメータを[入力データ](#modbus-rtu-protocol-adapter-component-input-data)として受け取り、レスポンスを[出力データ](#modbus-rtu-protocol-adapter-component-output-data)として発行します。

以下の一般的なオペレーションがサポートされています。


| リクエストのオペレーション名 | レスポンスの関数コード | 
| --- | --- | 
| ReadCoilsRequest | 01 | 
| ReadDiscreteInputsRequest | 02 | 
| ReadHoldingRegistersRequest | 03 | 
| ReadInputRegistersRequest | 04 | 
| WriteSingleCoilRequest | 05 | 
| WriteSingleRegisterRequest | 06 | 
| WriteMultipleCoilsRequest | 15 | 
| WriteMultipleRegistersRequest | 16 | 
| MaskWriteRegisterRequest | 22 | 
| ReadWriteMultipleRegistersRequest | 23 | 

### リクエストとレスポンスの例
<a name="modbus-rtu-protocol-adapter-component-examples"></a>

以下に示しているのは、サポートされているオペレーションのリクエストとレスポンスの例です。

コイルの読み取り  
**リクエストの例:**  

```
{
  "request": {
    "operation": "ReadCoilsRequest",
    "device": 1,
    "address": 1,
    "count": 1
  },
  "id": "TestRequest"
}
```
**レスポンスの例:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "ReadCoilsRequest",
    "payload": {
      "function_code": 1,
      "bits": [1]
    }
  },
  "id" : "TestRequest"
}
```

個別入力の読み取り  
**リクエストの例:**  

```
{
  "request": {
    "operation": "ReadDiscreteInputsRequest",
    "device": 1,
    "address": 1,
    "count": 1
  },
  "id": "TestRequest"
}
```
**レスポンスの例:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "ReadDiscreteInputsRequest",
    "payload": {
      "function_code": 2,
      "bits": [1]
    }
  },
  "id" : "TestRequest"
}
```

保持レジスタの読み取り  
**リクエストの例:**  

```
{
  "request": {
    "operation": "ReadHoldingRegistersRequest",
    "device": 1,
    "address": 1,
    "count": 1
  },
  "id": "TestRequest"
}
```
**レスポンスの例:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "ReadHoldingRegistersRequest",
    "payload": {
      "function_code": 3,
      "registers": [20,30]
    }
  },
  "id" : "TestRequest"
}
```

入力レジスタの読み取り  
**リクエストの例:**  

```
{
  "request": {
    "operation": "ReadInputRegistersRequest",
    "device": 1,
    "address": 1,
    "count": 1
  },
  "id": "TestRequest"
}
```

単一コイルの書き込み  
**リクエストの例:**  

```
{
  "request": {
    "operation": "WriteSingleCoilRequest",
    "device": 1,
    "address": 1,
    "value": 1
  },
  "id": "TestRequest"
}
```
**レスポンスの例:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "WriteSingleCoilRequest",
    "payload": {
      "function_code": 5,
      "address": 1,
      "value": true
    }
  },
  "id" : "TestRequest"
}
```

単一レジスタの書き込み  
**リクエストの例:**  

```
{
  "request": {
    "operation": "WriteSingleRegisterRequest",
    "device": 1,
    "address": 1,
    "value": 1
  },
  "id": "TestRequest"
}
```

複数コイルの書き込み  
**リクエストの例:**  

```
{
  "request": {
    "operation": "WriteMultipleCoilsRequest",
    "device": 1,
    "address": 1,
    "values": [1,0,0,1]
  },
  "id": "TestRequest"
}
```
**レスポンスの例:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "WriteMultipleCoilsRequest",
    "payload": {
      "function_code": 15,
      "address": 1,
      "count": 4
    }
  },
  "id" : "TestRequest"
}
```

複数レジスタの書き込み  
**リクエストの例:**  

```
{
  "request": {
    "operation": "WriteMultipleRegistersRequest",
    "device": 1,
    "address": 1,
    "values": [20,30,10]
  },
  "id": "TestRequest"
}
```
**レスポンスの例:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "WriteMultipleRegistersRequest",
    "payload": {
      "function_code": 23,
      "address": 1,
      "count": 3
    }
  },
  "id" : "TestRequest"
}
```

書き込みレジスタのマスク  
**リクエストの例:**  

```
{
  "request": {
    "operation": "MaskWriteRegisterRequest",
    "device": 1,
    "address": 1,
    "and_mask": 175,
    "or_mask": 1
  },
  "id": "TestRequest"
}
```
**レスポンスの例:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "MaskWriteRegisterRequest",
    "payload": {
      "function_code": 22,
      "and_mask": 0,
      "or_mask": 8
    }
  },
  "id" : "TestRequest"
}
```

複数レジスタの読み書き  
**リクエストの例:**  

```
{
  "request": {
    "operation": "ReadWriteMultipleRegistersRequest",
    "device": 1,
    "read_address": 1,
    "read_count": 2,
    "write_address": 3,
    "write_registers": [20,30,40]
  },
  "id": "TestRequest"
}
```
**レスポンスの例:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "ReadWriteMultipleRegistersRequest",
    "payload": {
      "function_code": 23,
      "registers": [10,20,10,20]
    }
  },
  "id" : "TestRequest"
}
```
応答には、コンポーネントが読み取るレジスタが含まれます。

### レスポンスステータス: 例外
<a name="modbus-rtu-protocol-adapter-component-response-exception"></a>

リクエスト書式が有効で、リクエストが正常に完了していない場合、例外が発生している可能性があります。この場合、レスポンスには以下の情報が含まれています。
+ `status` は `Exception` に設定されています。
+ `function_code` がリクエストの関数コード \$1 128 に等しい。
+ `exception_code` に例外コードが含まれている。詳細については、Modbus 例外コードを参照してください。

**例**:

```
{
  "response": {
    "status": "fail",
    "error_message": "Internal Error",
    "error": "Exception",
    "device": 1,
    "operation": "ReadCoilsRequest",
    "payload": {
      "function_code": 129,
      "exception_code": 2
    }
  },
  "id": "TestRequest"
}
```

### レスポンスステータス: No Response
<a name="modbus-rtu-protocol-adapter-component-response-noresponse"></a>

このコネクタは Modbus リクエストの検証チェックを実行します。例えば、無効な書式や不足しているフィールドがないかどうかを確認します。検証に失敗すると、コネクタはリクエストを送信しません。代わりに、以下の情報を含むレスポンスを返します。
+ `status` は `No Response` に設定されています。
+ `error` にはエラーの理由が含まれています。
+ `error_message` にはエラーメッセージが含まれています。

**例:**

```
{
  "response": {
    "status": "fail",
    "error_message": "Invalid address field. Expected <type 'int'>, got <type 'str'>",
    "error": "No Response",
    "device": 1,
    "operation": "ReadCoilsRequest",
    "payload": {
      "error": "Invalid address field. Expected Expected <type 'int'>, got <type 'str'>"
    }
  },
  "id": "TestRequest"
}
```

リクエストのターゲットデバイスが存在しない場合、または Modbus RTU ネットワークが機能していない場合、No Response 形式を使用する `ModbusIOException` が返されます。

```
{
  "response": {
    "status": "fail",
    "error_message": "[Input/Output] No Response received from the remote unit",
    "error": "No Response",
    "device": 1,
    "operation": "ReadCoilsRequest",
    "payload": {
      "error": "[Input/Output] No Response received from the remote unit"
    }
  },
  "id": "TestRequest"
}
```

## ローカルログファイル
<a name="modbus-rtu-protocol-adapter-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

```
/greengrass/v2/logs/aws.greengrass.Modbus.log
```

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。を AWS IoT Greengrass ルートフォルダへのパス`/greengrass/v2`に置き換えます。

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.Modbus.log
  ```

## ライセンス
<a name="modbus-rtu-protocol-adapter-component-licenses"></a>

このコンポーネントには、次のサードパーティーソフトウェア/ライセンス品が含まれています。
+ [pymodbus](https://github.com/riptideio/pymodbus/blob/master/README.rst)/BSD ライセンス
+ [pyserial](https://github.com/pyserial/pyserial)/BSD ライセンス

<a name="component-core-software-license"></a>このコンポーネントは、[Greengrass Core ソフトウェアライセンス契約](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)に従ってリリースされています。

## 変更ログ
<a name="modbus-rtu-protocol-adapter-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.1.11  | Greengrass nucleus バージョン 2.15.0 リリース用にバージョンが更新されました。 | 
|  2.1.10  | Greengrass nucleus バージョン 2.14.0 リリース用にバージョンが更新されました。 | 
|  2.1.9  | Greengrass nucleus バージョン 2.13.0 のリリース用にバージョンが更新されました。 | 
|  2.1.8  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.1.7  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.1.6  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.1.5  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/modbus-rtu-protocol-adapter-component.html) | 
|  2.1.4  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.1.3  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.1.2  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.1.1  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/modbus-rtu-protocol-adapter-component.html)  | 
|  2.0.8  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  2.0.7  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.0.6  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.0.5  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.0.4  |  Greengrass nucleus バージョン 2.1.0 のリリース用にバージョンが更新されました。  | 
|  2.0.3  |  当初のバージョン  | 

# MQTT ブリッジ
<a name="mqtt-bridge-component"></a>

MQTT ブリッジコンポーネント (`aws.greengrass.clientdevices.mqtt.Bridge`) は、クライアントデバイス、ローカル Greengrass パブリッシュ/サブスクライブ、および 間で MQTT メッセージを中継します AWS IoT Core。このコンポーネントを使用し、カスタムコンポーネントのクライアントデバイスからの MQTT メッセージを処理して、クライアントデバイスを AWS クラウドで同期できます。

**注記**  <a name="client-device-component-context"></a>
クライアントデバイスは、Greengrass コアデバイスに接続し、処理するために MQTT メッセージとデータを送信するローカル IoT デバイスです。詳細については、「[ローカル IoT デバイスとやり取りする](interact-with-local-iot-devices.md)」を参照してください。

このコンポーネントを使用して、次のメッセージブローカー間でメッセージをリレーできます:
+ ローカル MQTT - ローカル MQTT ブローカーは、クライアントデバイスとコアデバイスの間のメッセージを処理します。
+ ローカルパブリッシュ/サブスクライブ - ローカル Greengrass メッセージブローカーは、コアデバイスのコンポーネント間のメッセージを処理します。Greengrass コンポーネントでこれらのメッセージとやり取りする方法の詳細については、「[ローカルメッセージをパブリッシュ/サブスクライブする](ipc-publish-subscribe.md)」を参照してください。
+ AWS IoT Core – AWS IoT Core MQTT ブローカーは、IoT デバイスと AWS クラウド 送信先間のメッセージを処理します。Greengrass コンポーネントでこれらのメッセージとやり取りする方法の詳細については、「[AWS IoT Core MQTT メッセージを発行/サブスクライブする](ipc-iot-core-mqtt.md)」を参照してください。
**注記**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
MQTT ブリッジは、クライアントデバイスが QoS 0 を使用してローカル MQTT ブローカーをパブリッシュおよびサブスクライブしている場合でも AWS IoT Core、QoS 1 を使用してパブリッシュおよびサブスクライブします。その結果、ローカル MQTT ブローカーのクライアントデバイスから に MQTT メッセージを中継するときに、追加のレイテンシーが発生することがあります AWS IoT Core。コアデバイスにおける MQTT 設定の詳細については、「[MQTT タイムアウトとキャッシュ設定を設定する](configure-greengrass-core-v2.md#configure-mqtt)」を参照してください。

**Topics**
+ [バージョン](#mqtt-bridge-component-versions)
+ [タイプ](#mqtt-bridge-component-type)
+ [オペレーティングシステム](#mqtt-bridge-component-os-support)
+ [要件](#mqtt-bridge-component-requirements)
+ [依存関係](#mqtt-bridge-component-dependencies)
+ [構成](#mqtt-bridge-component-configuration)
+ [ローカルログファイル](#mqtt-bridge-component-log-file)
+ [変更ログ](#mqtt-bridge-component-changelog)

## バージョン
<a name="mqtt-bridge-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## タイプ
<a name="mqtt-bridge-component-type"></a>

<a name="public-component-type-plugin-para1"></a>このコンポーネントはプラグインコンポーネント (`aws.greengrass.plugin`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、nucleus と同じ Java バーチャルマシン (JVM) でこのコンポーネントを実行します。コアデバイスでこのコンポーネントのバージョンを変更するとき、nucleus が再起動します。

<a name="public-component-type-plugin-para2"></a>このコンポーネントは、Greengrass nucleus と同じログファイルを使用します。詳細については、「[AWS IoT Greengrass ログのモニタリング](monitor-logs.md)」を参照してください。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="mqtt-bridge-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 要件
<a name="mqtt-bridge-component-requirements"></a>

このコンポーネントには次の要件があります。
+ デフォルトポートの 8883 以外のポートを使用するようにコアデバイスの MQTT ブローカーコンポーネントを設定する場合、MQTT ブリッジ v2.1.0 以降を使用する必要があります。ブローカーが動作するポートに接続するように設定します。
+ MQTT ブリッジコンポーネントは、VPC で実行できるようにサポートされています。

## 依存関係
<a name="mqtt-bridge-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#mqtt-bridge-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.3.2 ]

次の表に、このコンポーネントのバージョン 2.3.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [クライアントデバイス認証](client-device-auth-component.md) | >=2.2.0 <2.6.0 | ハード | 

------
#### [ 2.3.0 and 2.3.1 ]

次の表に、このコンポーネントのバージョン 2.3.0 および 2.3.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [クライアントデバイス認証](client-device-auth-component.md) | >=2.2.0 <2.5.0 | ハード | 

------
#### [ 2.2.5 and 2.2.6 ]

次の表に、このコンポーネントのバージョン 2.2.5 および 2.2.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [クライアントデバイス認証](client-device-auth-component.md) | >=2.2.0 <2.5.0 | ハード | 

------
#### [ 2.2.3 and 2.2.4 ]

次の表に、このコンポーネントのバージョン 2.2.3 および 2.2.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [クライアントデバイス認証](client-device-auth-component.md) | >=2.2.0 <2.4.0 | ハード | 

------
#### [ 2.2.0 – 2.2.2 ]

次の表に、このコンポーネントのバージョン 2.2.0 から 2.2.2 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [クライアントデバイス認証](client-device-auth-component.md) | >=2.2.0 <2.3.0 | ハード | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [クライアントデバイス認証](client-device-auth-component.md) | >=2.0.0 <2.2.0 | ハード | 

------
#### [ 2.0.0 to 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.0.0 から 2.1.0 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [クライアントデバイス認証](client-device-auth-component.md) | >=2.0.0 <2.1.0 | ハード | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 構成
<a name="mqtt-bridge-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

------
#### [ 2.3.0 – 2.3.2 ]

`mqttTopicMapping`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-description"></a>ブリッジするトピックのマッピング。このコンポーネントは、ソーストピックのメッセージへサブスクライブし、受信したメッセージを宛先トピックにパブリッシュします。各トピックマッピングは、トピック、ソースタイプ、宛先タイプを定義します。  
このオブジェクトには、次の情報が含まれます。    
`topicMappingNameKey`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>このトピックマッピングの名前。*topicMappingNameKey* をこのトピックマッピングを識別しやすくする名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`topic`  
ソースブローカーとターゲットブローカーの間をつなぐトピックまたはトピックフィルター。  
`+` および `#` の MQTT トピックワイルドカードを使用すると、トピックフィルターに一致するすべてのトピックでメッセージをリレーできます。詳細については、「*AWS IoT Core デベロッパーガイド*」の「[MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html)」を参照してください。  
`Pubsub` ソースブローカーとともに MQTT トピックのワイルドカードを使用するには、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)の v2.6.0 以降を使用する必要があります。  
`targetTopicPrefix`  
このコンポーネントがメッセージをリレーするときにターゲットトピックに追加するプレフィックス。  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
ソースメッセージブローカー。次のオプションから選択します。  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt` - クライアントデバイスが通信するローカル MQTT ブローカー。
+ `Pubsub` - ローカル Greengrass パブリッシュ/サブスクライブメッセージブローカー。
+ `IotCore` – AWS IoT Core MQTT メッセージブローカー。
**注記**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
MQTT ブリッジは、クライアントデバイスが QoS 0 を使用してローカル MQTT ブローカーをパブリッシュおよびサブスクライブしている場合でも AWS IoT Core、QoS 1 を使用してパブリッシュおよびサブスクライブします。その結果、ローカル MQTT ブローカーのクライアントデバイスから に MQTT メッセージを中継するときに、追加のレイテンシーが発生することがあります AWS IoT Core。コアデバイスにおける MQTT 設定の詳細については、「[MQTT タイムアウトとキャッシュ設定を設定する](configure-greengrass-core-v2.md#configure-mqtt)」を参照してください。
`source` と `target` は異なる必要があります。  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
ターゲット メッセージ ブローカー。次のオプションから選択します。  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt` - クライアントデバイスが通信するローカル MQTT ブローカー。
+ `Pubsub` - ローカル Greengrass パブリッシュ/サブスクライブメッセージブローカー。
+ `IotCore` – AWS IoT Core MQTT メッセージブローカー。
**注記**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
MQTT ブリッジは、クライアントデバイスが QoS 0 を使用してローカル MQTT ブローカーをパブリッシュおよびサブスクライブしている場合でも AWS IoT Core、QoS 1 を使用してパブリッシュおよびサブスクライブします。その結果、ローカル MQTT ブローカーのクライアントデバイスから に MQTT メッセージを中継するときに、追加のレイテンシーが発生することがあります AWS IoT Core。コアデバイスにおける MQTT 設定の詳細については、「[MQTT タイムアウトとキャッシュ設定を設定する](configure-greengrass-core-v2.md#configure-mqtt)」を参照してください。
`source` と `target` は異なる必要があります。

mqtt5RouteOptions  
(オプション) メッセージをソーストピックから宛先トピックにブリッジするためのトピックマッピングを設定するオプションを提供します。  
このオブジェクトには、次の情報が含まれます。    
*mqtt5RouteOptionsNameKey*  
トピックマッピングのルートオプションの名前。*mqtt5RouteOptionsNameKey* を、`mqttTopicMapping` フィールドで定義されている対応する *topicMappingNameKey* に置き換えてください。  
このオブジェクトには、次の情報が含まれます。    
noLocal  
(オプション) 有効にすると、ブリッジはブリッジ自体がパブリッシュしたトピックに関するメッセージを転送しません。これを使うと、以下のようにループを防ぐことができます。  

```
{
    "mqtt5RouteOptions": {
        "toIoTCore": {
            "noLocal": true
        }
    },
    "mqttTopicMapping": {
        "toIoTCore": {
            "topic": "device",
            "source": "LocalMqtt",
            "target": "IotCore"
        },
        "toLocal": {
            "topic": "device",
            "source": "IotCore",
            "target": "LocalMqtt"
        }
    }
}
```
`noLocal` は `source` が `LocalMqtt` であるルートでのみサポートされます。  
デフォルト: false  
retainAsPublished  
(オプション) 有効にすると、ブリッジによって転送されるメッセージには、そのルートのブローカーにパブリッシュされたメッセージと同じ `retain` フラグが付きます。  
`retainAsPublished` は `source` が `LocalMqtt` であるルートでのみサポートされます。  
デフォルト: false

mqtt  
(オプション) ローカルブローカーと通信するための MQTT プロトコル設定。    
version  
(オプション) ブリッジがローカルブローカーとの通信に使用する MQTT プロトコルのバージョン。nucleus 設定で選択した MQTT バージョンと同じである必要があります。  
次から選択します。  
+ `mqtt3`
+ `mqtt5`
`mqttTopicMapping` オブジェクトの `source` または `target` フィールドが `LocalMqtt` に設定されている場合は、MQTT ブローカーをデプロイする必要があります。`mqtt5` オプションを選択した場合は、[MQTT 5 ブローカー (EMQX)](mqtt-broker-emqx-component.md) を使用する必要があります。  
デフォルト: `mqtt3`  
ackTimeoutSeconds  
(オプション) PUBACK、SUBACK、または UNSUBACK パケットが処理に失敗するまで待機する時間間隔。  
デフォルト: 60  
connAckTimeoutMs  
(オプション) 接続をシャットダウンする前に CONNACK パケットを待機する時間間隔。  
デフォルト: 20000 (20 秒)。  
pingTimeoutMs  
(オプション) ブリッジがローカルブローカーから PINGACK メッセージを受信するまで待機する時間 (ミリ秒)。待機時間がタイムアウトを超えると、ブリッジは MQTT 接続を閉じて再度開きます。この値は、`keepAliveTimeoutSeconds` より小さくなければなりません。  
デフォルト: 30000 (30 秒)  
keepAliveTimeoutSeconds  
(オプション) MQTT 接続を維持するためにブリッジが送信する各 PING メッセージを送信する間隔 (秒)。この値は `pingTimeoutMs` より大きくなければなりません。  
デフォルト: 60  
maxReconnectDelayMs  
(オプション) MQTT が再接続するまでの最大時間 (秒) を指定します。  
デフォルト: 30000 (30 秒)  
minReconnectDelayMs  
(オプション) MQTT が再接続するまでの最小時間 (秒) を指定します。  
receiveMaximum  
(オプション) ブリッジが送信できる未承認の QoS1 パケットの最大数。  
デフォルト: 100  
maximumPacketSize  
クライアントが MQTT パケットで受け入れる最大バイト数。  
デフォルト: null (制限なし)  
sessionExpiryInterval  
(オプション) ブリッジとローカルブローカー間のセッション継続を要求できる時間 (秒)。  
デフォルト: 4294967295 (セッション有効期限なし)

`brokerUri`  <a name="mqtt-bridge-component-configuration-broker-uri"></a>
(オプション) ローカル MQTT ブローカーの URI。デフォルトポート 8883 とは異なるポートを使用するように MQTT ブローカーを設定する場合、このパラメータを指定する必要があります。以下の形式を利用して、*ポート*を MQTT ブローカーが動作するポートに置き換えます: `ssl://localhost:port`。  
デフォルト: `ssl://localhost:8883`

startupTimeoutSeconds  
(オプション) コンポーネントが起動する最大時間 (秒)。このタイムアウトを超えている場合、コンポーネントの状態が `BROKEN` に変わります。  
デフォルト: `120`

**Example 例: 設定マージの更新**  <a name="mqtt-bridge-component-configuration-example-with-prefix"></a>
次の設定更新の例では、次の項目を指定します。  
+ `clients/+/hello/world` トピックフィルターに一致するトピック AWS IoT Core で、クライアントデバイスから にメッセージを中継します。
+ `clients/+/detections` トピックフィルターに一致するトピックで、メッセージをクライアントデバイスからローカルのパブリッシュ/サブスクライブにリレーし、ターゲットトピックに `events/input/` のプレフィックスを追加します。結果のターゲットトピックは、`events/input/clients/+/detections` トピックフィルターに一致します。
+ `clients/+/status` トピックフィルターに一致するトピック AWS IoT Core でクライアントデバイスから にメッセージをリレーし、ターゲットトピックに `$aws/rules/StatusUpdateRule/` プレフィックスを追加します。この例では、これらのメッセージを直接 `StatusUpdateRule` という名前の [AWS IoT ルール](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) にリレーして、[Basic Ingest](https://docs.aws.amazon.com/iot/latest/developerguide/iot-basic-ingest.html) を使用したコスト削減を行います。

```
{
  "mqttTopicMapping": {
    "ClientDeviceHelloWorld": {
      "topic": "clients/+/hello/world",
      "source": "LocalMqtt",
      "target": "IotCore"
    },
    "ClientDeviceEvents": {
      "topic": "clients/+/detections",
      "targetTopicPrefix": "events/input/",
      "source": "LocalMqtt",
      "target": "Pubsub"
    },
    "ClientDeviceCloudStatusUpdate": {
      "topic": "clients/+/status",
      "targetTopicPrefix": "$aws/rules/StatusUpdateRule/",
      "source": "LocalMqtt",
      "target": "IotCore"
    }
  }
}
```

**Example 例: MQTT 5 の設定**  
次の設定の例では、次の項目を更新します。  
+ ブリッジがローカルブローカーで MQTT 5 プロトコルを使用できるようにします。
+ `ClientDeviceHelloWorld` トピックマッピングのパブリッシュされた設定として MQTT 保持を設定します。

```
{
  "mqttTopicMapping": {
    "ClientDeviceHelloWorld": {
      "topic": "clients/+/hello/world",
      "source": "LocalMqtt",
      "target": "IotCore"
    }
  },
  "mqtt5RouteOptions": {
    "ClientDeviceHelloWorld": {
      "retainAsPublished": true
    }
  },
  "mqtt": {
    "version": "mqtt5"
  }
}
```

------
#### [ 2.2.6 ]

`mqttTopicMapping`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-description"></a>ブリッジするトピックのマッピング。このコンポーネントは、ソーストピックのメッセージへサブスクライブし、受信したメッセージを宛先トピックにパブリッシュします。各トピックマッピングは、トピック、ソースタイプ、宛先タイプを定義します。  
このオブジェクトには、次の情報が含まれます。    
`topicMappingNameKey`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>このトピックマッピングの名前。*topicMappingNameKey* をこのトピックマッピングを識別しやすくする名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`topic`  
ソースブローカーとターゲットブローカーの間をつなぐトピックまたはトピックフィルター。  
`+` および `#` の MQTT トピックワイルドカードを使用すると、トピックフィルターに一致するすべてのトピックでメッセージをリレーできます。詳細については、「*AWS IoT Core デベロッパーガイド*」の「[MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html)」を参照してください。  
`Pubsub` ソースブローカーとともに MQTT トピックのワイルドカードを使用するには、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)の v2.6.0 以降を使用する必要があります。  
`targetTopicPrefix`  
このコンポーネントがメッセージをリレーするときにターゲットトピックに追加するプレフィックス。  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
ソースメッセージブローカー。次のオプションから選択します。  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt` - クライアントデバイスが通信するローカル MQTT ブローカー。
+ `Pubsub` - ローカル Greengrass パブリッシュ/サブスクライブメッセージブローカー。
+ `IotCore` – AWS IoT Core MQTT メッセージブローカー。
**注記**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
MQTT ブリッジは、クライアントデバイスが QoS 0 を使用してローカル MQTT ブローカーをパブリッシュおよびサブスクライブしている場合でも AWS IoT Core、QoS 1 を使用してパブリッシュおよびサブスクライブします。その結果、ローカル MQTT ブローカーのクライアントデバイスから に MQTT メッセージを中継するときに、追加のレイテンシーが発生することがあります AWS IoT Core。コアデバイスにおける MQTT 設定の詳細については、「[MQTT タイムアウトとキャッシュ設定を設定する](configure-greengrass-core-v2.md#configure-mqtt)」を参照してください。
`source` と `target` は異なる必要があります。  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
ターゲット メッセージ ブローカー。次のオプションから選択します。  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt` - クライアントデバイスが通信するローカル MQTT ブローカー。
+ `Pubsub` - ローカル Greengrass パブリッシュ/サブスクライブメッセージブローカー。
+ `IotCore` – AWS IoT Core MQTT メッセージブローカー。
**注記**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
MQTT ブリッジは、クライアントデバイスが QoS 0 を使用してローカル MQTT ブローカーをパブリッシュおよびサブスクライブしている場合でも AWS IoT Core、QoS 1 を使用してパブリッシュおよびサブスクライブします。その結果、ローカル MQTT ブローカーのクライアントデバイスから に MQTT メッセージを中継するときに、追加のレイテンシーが発生することがあります AWS IoT Core。コアデバイスにおける MQTT 設定の詳細については、「[MQTT タイムアウトとキャッシュ設定を設定する](configure-greengrass-core-v2.md#configure-mqtt)」を参照してください。
`source` と `target` は異なる必要があります。

`brokerUri`  <a name="mqtt-bridge-component-configuration-broker-uri"></a>
(オプション) ローカル MQTT ブローカーの URI。デフォルトポート 8883 とは異なるポートを使用するように MQTT ブローカーを設定する場合、このパラメータを指定する必要があります。以下の形式を利用して、*ポート*を MQTT ブローカーが動作するポートに置き換えます: `ssl://localhost:port`。  
デフォルト: `ssl://localhost:8883`

startupTimeoutSeconds  
(オプション) コンポーネントが起動する最大時間 (秒)。このタイムアウトを超えている場合、コンポーネントの状態が `BROKEN` に変わります。  
デフォルト: `120`

**Example 例: 設定マージの更新**  <a name="mqtt-bridge-component-configuration-example-with-prefix"></a>
次の設定更新の例では、次の項目を指定します。  
+ `clients/+/hello/world` トピックフィルターに一致するトピック AWS IoT Core で、クライアントデバイスから にメッセージを中継します。
+ `clients/+/detections` トピックフィルターに一致するトピックで、メッセージをクライアントデバイスからローカルのパブリッシュ/サブスクライブにリレーし、ターゲットトピックに `events/input/` のプレフィックスを追加します。結果のターゲットトピックは、`events/input/clients/+/detections` トピックフィルターに一致します。
+ `clients/+/status` トピックフィルターに一致するトピック AWS IoT Core でクライアントデバイスから にメッセージをリレーし、ターゲットトピックに `$aws/rules/StatusUpdateRule/` プレフィックスを追加します。この例では、これらのメッセージを直接 `StatusUpdateRule` という名前の [AWS IoT ルール](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) にリレーして、[Basic Ingest](https://docs.aws.amazon.com/iot/latest/developerguide/iot-basic-ingest.html) を使用したコスト削減を行います。

```
{
  "mqttTopicMapping": {
    "ClientDeviceHelloWorld": {
      "topic": "clients/+/hello/world",
      "source": "LocalMqtt",
      "target": "IotCore"
    },
    "ClientDeviceEvents": {
      "topic": "clients/+/detections",
      "targetTopicPrefix": "events/input/",
      "source": "LocalMqtt",
      "target": "Pubsub"
    },
    "ClientDeviceCloudStatusUpdate": {
      "topic": "clients/+/status",
      "targetTopicPrefix": "$aws/rules/StatusUpdateRule/",
      "source": "LocalMqtt",
      "target": "IotCore"
    }
  }
}
```

------
#### [ 2.2.0 - 2.2.5 ]

`mqttTopicMapping`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-description"></a>ブリッジするトピックのマッピング。このコンポーネントは、ソーストピックのメッセージへサブスクライブし、受信したメッセージを宛先トピックにパブリッシュします。各トピックマッピングは、トピック、ソースタイプ、宛先タイプを定義します。  
このオブジェクトには、次の情報が含まれます。    
`topicMappingNameKey`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>このトピックマッピングの名前。*topicMappingNameKey* をこのトピックマッピングを識別しやすくする名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`topic`  
ソースブローカーとターゲットブローカーの間をつなぐトピックまたはトピックフィルター。  
`+` および `#` の MQTT トピックワイルドカードを使用すると、トピックフィルターに一致するすべてのトピックでメッセージをリレーできます。詳細については、「*AWS IoT Core デベロッパーガイド*」の「[MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html)」を参照してください。  
`Pubsub` ソースブローカーとともに MQTT トピックのワイルドカードを使用するには、[Greengrass nucleus コンポーネント](greengrass-nucleus-component.md)の v2.6.0 以降を使用する必要があります。  
`targetTopicPrefix`  
このコンポーネントがメッセージをリレーするときにターゲットトピックに追加するプレフィックス。  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
ソースメッセージブローカー。次のオプションから選択します。  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt` - クライアントデバイスが通信するローカル MQTT ブローカー。
+ `Pubsub` - ローカル Greengrass パブリッシュ/サブスクライブメッセージブローカー。
+ `IotCore` – AWS IoT Core MQTT メッセージブローカー。
**注記**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
MQTT ブリッジは、クライアントデバイスが QoS 0 を使用してローカル MQTT ブローカーをパブリッシュおよびサブスクライブしている場合でも AWS IoT Core、QoS 1 を使用してパブリッシュおよびサブスクライブします。その結果、ローカル MQTT ブローカーのクライアントデバイスから に MQTT メッセージを中継するときに、追加のレイテンシーが発生することがあります AWS IoT Core。コアデバイスにおける MQTT 設定の詳細については、「[MQTT タイムアウトとキャッシュ設定を設定する](configure-greengrass-core-v2.md#configure-mqtt)」を参照してください。
`source` と `target` は異なる必要があります。  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
ターゲット メッセージ ブローカー。次のオプションから選択します。  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt` - クライアントデバイスが通信するローカル MQTT ブローカー。
+ `Pubsub` - ローカル Greengrass パブリッシュ/サブスクライブメッセージブローカー。
+ `IotCore` – AWS IoT Core MQTT メッセージブローカー。
**注記**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
MQTT ブリッジは、クライアントデバイスが QoS 0 を使用してローカル MQTT ブローカーをパブリッシュおよびサブスクライブしている場合でも AWS IoT Core、QoS 1 を使用してパブリッシュおよびサブスクライブします。その結果、ローカル MQTT ブローカーのクライアントデバイスから に MQTT メッセージを中継するときに、追加のレイテンシーが発生することがあります AWS IoT Core。コアデバイスにおける MQTT 設定の詳細については、「[MQTT タイムアウトとキャッシュ設定を設定する](configure-greengrass-core-v2.md#configure-mqtt)」を参照してください。
`source` と `target` は異なる必要があります。

`brokerUri`  <a name="mqtt-bridge-component-configuration-broker-uri"></a>
(オプション) ローカル MQTT ブローカーの URI。デフォルトポート 8883 とは異なるポートを使用するように MQTT ブローカーを設定する場合、このパラメータを指定する必要があります。以下の形式を利用して、*ポート*を MQTT ブローカーが動作するポートに置き換えます: `ssl://localhost:port`。  
デフォルト: `ssl://localhost:8883`

**Example 例: 設定マージの更新**  <a name="mqtt-bridge-component-configuration-example-with-prefix"></a>
次の設定更新の例では、次の項目を指定します。  
+ `clients/+/hello/world` トピックフィルターに一致するトピック AWS IoT Core で、クライアントデバイスから にメッセージを中継します。
+ `clients/+/detections` トピックフィルターに一致するトピックで、メッセージをクライアントデバイスからローカルのパブリッシュ/サブスクライブにリレーし、ターゲットトピックに `events/input/` のプレフィックスを追加します。結果のターゲットトピックは、`events/input/clients/+/detections` トピックフィルターに一致します。
+ `clients/+/status` トピックフィルターに一致するトピック AWS IoT Core でクライアントデバイスから にメッセージをリレーし、ターゲットトピックに `$aws/rules/StatusUpdateRule/` プレフィックスを追加します。この例では、これらのメッセージを直接 `StatusUpdateRule` という名前の [AWS IoT ルール](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) にリレーして、[Basic Ingest](https://docs.aws.amazon.com/iot/latest/developerguide/iot-basic-ingest.html) を使用したコスト削減を行います。

```
{
  "mqttTopicMapping": {
    "ClientDeviceHelloWorld": {
      "topic": "clients/+/hello/world",
      "source": "LocalMqtt",
      "target": "IotCore"
    },
    "ClientDeviceEvents": {
      "topic": "clients/+/detections",
      "targetTopicPrefix": "events/input/",
      "source": "LocalMqtt",
      "target": "Pubsub"
    },
    "ClientDeviceCloudStatusUpdate": {
      "topic": "clients/+/status",
      "targetTopicPrefix": "$aws/rules/StatusUpdateRule/",
      "source": "LocalMqtt",
      "target": "IotCore"
    }
  }
}
```

------
#### [ 2.1.x ]

`mqttTopicMapping`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping"></a>
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-description"></a>ブリッジするトピックのマッピング。このコンポーネントは、ソーストピックのメッセージへサブスクライブし、受信したメッセージを宛先トピックにパブリッシュします。各トピックマッピングは、トピック、ソースタイプ、宛先タイプを定義します。  
このオブジェクトには、次の情報が含まれます。    
`topicMappingNameKey`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>このトピックマッピングの名前。*topicMappingNameKey* をこのトピックマッピングを識別しやすくする名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`topic`  
ソースブローカーとターゲットブローカーの間をつなぐトピックまたはトピックフィルター。  
`LocalMqtt` または `IotCore` ソースブローカーを指定する場合、`+` と `#` MQTT トピックワイルドカードを使用して、トピックフィルターに一致するすべてのトピックでメッセージをリレーします。詳細については、「*AWS IoT Core デベロッパーガイド*」の「[MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html)」を参照してください。  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
ソース メッセージ ブローカー。次のオプションから選択します。  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt` - クライアントデバイスが通信するローカル MQTT ブローカー。
+ `Pubsub` - ローカル Greengrass パブリッシュ/サブスクライブメッセージブローカー。
+ `IotCore` – AWS IoT Core MQTT メッセージブローカー。
**注記**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
MQTT ブリッジは、クライアントデバイスが QoS 0 を使用してローカル MQTT ブローカーをパブリッシュおよびサブスクライブしている場合でも AWS IoT Core、QoS 1 を使用してパブリッシュおよびサブスクライブします。その結果、ローカル MQTT ブローカーのクライアントデバイスから に MQTT メッセージを中継するときに、追加のレイテンシーが発生することがあります AWS IoT Core。コアデバイスにおける MQTT 設定の詳細については、「[MQTT タイムアウトとキャッシュ設定を設定する](configure-greengrass-core-v2.md#configure-mqtt)」を参照してください。
`source` と `target` は異なる必要があります。  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
ターゲット メッセージ ブローカー。次のオプションから選択します。  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt` - クライアントデバイスが通信するローカル MQTT ブローカー。
+ `Pubsub` - ローカル Greengrass パブリッシュ/サブスクライブメッセージブローカー。
+ `IotCore` – AWS IoT Core MQTT メッセージブローカー。
**注記**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
MQTT ブリッジは、クライアントデバイスが QoS 0 を使用してローカル MQTT ブローカーをパブリッシュおよびサブスクライブしている場合でも AWS IoT Core、QoS 1 を使用してパブリッシュおよびサブスクライブします。その結果、ローカル MQTT ブローカーのクライアントデバイスから に MQTT メッセージを中継するときに、追加のレイテンシーが発生することがあります AWS IoT Core。コアデバイスにおける MQTT 設定の詳細については、「[MQTT タイムアウトとキャッシュ設定を設定する](configure-greengrass-core-v2.md#configure-mqtt)」を参照してください。
`source` と `target` は異なる必要があります。

`brokerUri`  <a name="mqtt-bridge-component-configuration-broker-uri"></a>
(オプション) ローカル MQTT ブローカーの URI。デフォルトポート 8883 とは異なるポートを使用するように MQTT ブローカーを設定する場合、このパラメータを指定する必要があります。以下の形式を利用して、*ポート*を MQTT ブローカーが動作するポートに置き換えます: `ssl://localhost:port`。  
デフォルト: `ssl://localhost:8883`

**Example 例: 設定マージの更新**  <a name="mqtt-bridge-component-configuration-example-no-prefix"></a>
次の設定更新の例では、 `clients/MyClientDevice1/hello/world`および `clients/MyClientDevice2/hello/world`トピック AWS IoT Core でクライアントデバイスから にメッセージを中継するように を指定します。  

```
{
  "mqttTopicMapping": {
    "ClientDevice1HelloWorld": {
      "topic": "clients/MyClientDevice1/hello/world",
      "source": "LocalMqtt",
      "target": "IotCore"
    },
    "ClientDevice2HelloWorld": {
      "topic": "clients/MyClientDevice2/hello/world",
      "source": "LocalMqtt",
      "target": "IotCore"
    }
  }
}
```

------
#### [ 2.0.x ]

`mqttTopicMapping`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping"></a>
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-description"></a>ブリッジするトピックのマッピング。このコンポーネントは、ソーストピックのメッセージへサブスクライブし、受信したメッセージを宛先トピックにパブリッシュします。各トピックマッピングは、トピック、ソースタイプ、宛先タイプを定義します。  
このオブジェクトには、次の情報が含まれます。    
`topicMappingNameKey`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>このトピックマッピングの名前。*topicMappingNameKey* をこのトピックマッピングを識別しやすくする名前に置き換えます。  
このオブジェクトには、次の情報が含まれます。    
`topic`  
ソースブローカーとターゲットブローカーの間をつなぐトピックまたはトピックフィルター。  
`LocalMqtt` または `IotCore` ソースブローカーを指定する場合、`+` と `#` MQTT トピックワイルドカードを使用して、トピックフィルターに一致するすべてのトピックでメッセージをリレーします。詳細については、「*AWS IoT Core デベロッパーガイド*」の「[MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html)」を参照してください。  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
ソース メッセージ ブローカー。次のオプションから選択します。  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt` - クライアントデバイスが通信するローカル MQTT ブローカー。
+ `Pubsub` - ローカル Greengrass パブリッシュ/サブスクライブメッセージブローカー。
+ `IotCore` – AWS IoT Core MQTT メッセージブローカー。
**注記**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
MQTT ブリッジは、クライアントデバイスが QoS 0 を使用してローカル MQTT ブローカーをパブリッシュおよびサブスクライブしている場合でも AWS IoT Core、QoS 1 を使用してパブリッシュおよびサブスクライブします。その結果、ローカル MQTT ブローカーのクライアントデバイスから に MQTT メッセージを中継するときに、追加のレイテンシーが発生することがあります AWS IoT Core。コアデバイスにおける MQTT 設定の詳細については、「[MQTT タイムアウトとキャッシュ設定を設定する](configure-greengrass-core-v2.md#configure-mqtt)」を参照してください。
`source` と `target` は異なる必要があります。  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
ターゲット メッセージ ブローカー。次のオプションから選択します。  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt` - クライアントデバイスが通信するローカル MQTT ブローカー。
+ `Pubsub` - ローカル Greengrass パブリッシュ/サブスクライブメッセージブローカー。
+ `IotCore` – AWS IoT Core MQTT メッセージブローカー。
**注記**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
MQTT ブリッジは、クライアントデバイスが QoS 0 を使用してローカル MQTT ブローカーをパブリッシュおよびサブスクライブしている場合でも AWS IoT Core、QoS 1 を使用してパブリッシュおよびサブスクライブします。その結果、ローカル MQTT ブローカーのクライアントデバイスから に MQTT メッセージを中継するときに、追加のレイテンシーが発生することがあります AWS IoT Core。コアデバイスにおける MQTT 設定の詳細については、「[MQTT タイムアウトとキャッシュ設定を設定する](configure-greengrass-core-v2.md#configure-mqtt)」を参照してください。
`source` と `target` は異なる必要があります。

**Example 例: 設定マージの更新**  <a name="mqtt-bridge-component-configuration-example-no-prefix"></a>
次の設定更新の例では、 `clients/MyClientDevice1/hello/world`および `clients/MyClientDevice2/hello/world`トピック AWS IoT Core でクライアントデバイスから にメッセージを中継するように を指定します。  

```
{
  "mqttTopicMapping": {
    "ClientDevice1HelloWorld": {
      "topic": "clients/MyClientDevice1/hello/world",
      "source": "LocalMqtt",
      "target": "IotCore"
    },
    "ClientDevice2HelloWorld": {
      "topic": "clients/MyClientDevice2/hello/world",
      "source": "LocalMqtt",
      "target": "IotCore"
    }
  }
}
```

------

## ローカルログファイル
<a name="mqtt-bridge-component-log-file"></a>

このコンポーネントは、[Greengrass nucleus](greengrass-nucleus-component.md) コンポーネントと同じログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="mqtt-bridge-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.3.2  |  [クライアントデバイス認証](client-device-auth-component.md)バージョン 2.5.0 リリース用に、バージョンが更新されました。  | 
| 2.3.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
| 2.3.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.2.6  |  <a name="changelog-mqtt-bridge-2.2.6"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.2.5  |  [クライアントデバイス認証](client-device-auth-component.md)バージョン 2.4.0 リリース用に、バージョンが更新されました。  | 
|  2.2.4  |  Greengrass [クライアントデバイス認証](client-device-auth-component.md)バージョン 2.3.0 リリース用に、バージョンが更新されました。  | 
|  2.2.3  |  このバージョンには、バグ修正と機能向上が含まれています。  | 
|  2.2.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.2.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.2.0  |  <a name="changelog-mqtt-bridge-2.2.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.1.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.0.1  |  このバージョンには、バグ修正と改善が含まれています。  | 
|  2.0.0  |  当初のバージョン  | 

# MQTT 3.1.1 ブローカー (モケット)
<a name="mqtt-broker-moquette-component"></a>

モケット MQTT ブローカーコンポーネント (`aws.greengrass.clientdevices.mqtt.Moquette`) は、クライアントデバイスと Greengrass コアデバイス間の MQTT メッセージを処理します。このコンポーネントは、[モケット MQTT ブローカー](https://github.com/moquette-io/moquette)の修正バージョンを提供します。この MQTT ブローカーをデプロイして、軽量 MQTT ブローカーを実行します。MQTT ブローカーの選択方法の詳細については、「[MQTT ブローカーを選択する](choose-local-mqtt-broker.md)」を参照してください。

このブローカーは、MQTT 3.1.1 プロトコルを実装します。これには、QoS 0、QoS 1、QoS 2 が保持するメッセージ、最終意志メッセージ、永続セッションに対するサポートが含まれます。

**注記**  <a name="client-device-component-context"></a>
クライアントデバイスは、Greengrass コアデバイスに接続し、処理するために MQTT メッセージとデータを送信するローカル IoT デバイスです。詳細については、「[ローカル IoT デバイスとやり取りする](interact-with-local-iot-devices.md)」を参照してください。

**Topics**
+ [バージョン](#mqtt-broker-moquette-component-versions)
+ [タイプ](#mqtt-broker-moquette-component-type)
+ [オペレーティングシステム](#mqtt-broker-moquette-component-os-support)
+ [要件](#mqtt-broker-moquette-component-requirements)
+ [依存関係](#mqtt-broker-moquette-component-dependencies)
+ [構成](#mqtt-broker-moquette-component-configuration)
+ [ローカルログファイル](#mqtt-broker-moquette-component-log-file)
+ [変更ログ](#mqtt-broker-moquette-component-changelog)

## バージョン
<a name="mqtt-broker-moquette-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## タイプ
<a name="mqtt-broker-moquette-component-type"></a>

<a name="public-component-type-plugin-para1"></a>このコンポーネントはプラグインコンポーネント (`aws.greengrass.plugin`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、nucleus と同じ Java バーチャルマシン (JVM) でこのコンポーネントを実行します。コアデバイスでこのコンポーネントのバージョンを変更するとき、nucleus が再起動します。

<a name="public-component-type-plugin-para2"></a>このコンポーネントは、Greengrass nucleus と同じログファイルを使用します。詳細については、「[AWS IoT Greengrass ログのモニタリング](monitor-logs.md)」を参照してください。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="mqtt-broker-moquette-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 要件
<a name="mqtt-broker-moquette-component-requirements"></a>

このコンポーネントには次の要件があります。
+ コアデバイスは、MQTT ブローカーが動作するポートで接続を受け入れられる必要があります。このコンポーネントは、デフォルトでポート 8883 で MQTT ブローカーを実行します。このコンポーネントを設定するとき、別のポートを指定できます。

  <a name="mqtt-broker-configuration-mqtt-bridge-requirement"></a>別のポートを指定し、[MQTT ブリッジコンポーネント](mqtt-bridge-component.md)を使用して MQTT メッセージを他のブローカーにリレーする場合、MQTT ブリッジ v2.1.0 以降を使用する必要があります。MQTT ブローカーが動作するポートを使用するように設定します。

  <a name="mqtt-broker-configuration-ip-detector-requirement"></a>別のポートを指定し、[IP ディテクターコンポーネント](ip-detector-component.md)を使用して MQTT ブローカーエンドポイントを管理する場合、IP ディテクタ v2.1.0 以降を使用する必要があります。MQTT ブローカーが動作するポートを報告するように設定します。
+ Moquette MQTT ブローカーコンポーネントは、VPC での実行がサポートされています。

## 依存関係
<a name="mqtt-broker-moquette-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#mqtt-broker-moquette-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.3.7 ]

次の表に、このコンポーネントのバージョン 2.3.7 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [クライアントデバイス認証](client-device-auth-component.md) | >=2.2.0 <2.6.0 | ハード | 

------
#### [ 2.3.2 – 2.3.6 ]

次の表に、このコンポーネントのバージョン 2.3.2 から 2.3.6 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [クライアントデバイス認証](client-device-auth-component.md) | >=2.2.0 <2.5.0 | ハード | 

------
#### [ 2.3.0 and 2.3.1 ]

次の表に、このコンポーネントのバージョン 2.3.0 および 2.3.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [クライアントデバイス認証](client-device-auth-component.md) | >=2.2.0 <2.4.0 | ハード | 

------
#### [ 2.2.0 ]

次の表に、このコンポーネントのバージョン 2.2.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [クライアントデバイス認証](client-device-auth-component.md) | >=2.2.0 <2.3.0 | ハード | 

------
#### [ 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.1.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [クライアントデバイス認証](client-device-auth-component.md) | >=2.0.0 <2.2.0 | ハード | 

------
#### [ 2.0.0 - 2.0.2 ]

次の表に、このコンポーネントのバージョン 2.0.0 から 2.0.2 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [クライアントデバイス認証](client-device-auth-component.md) | >=2.0.0 <2.1.0 | ハード | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 構成
<a name="mqtt-broker-moquette-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

`moquette`  
(オプション) 使用する[モケット MQTT ブローカー](https://github.com/moquette-io/moquette)設定。このコンポーネントでモケット設定オプションのサブセットを設定できます。詳細については、[モケット設定ファイル](https://github.com/moquette-io/moquette/blob/main/distribution/src/main/resources/moquette.conf)のインラインコメントを参照してください。  
このオブジェクトには、次の情報が含まれます。    
`ssl_port`  
(オプション) MQTT ブローカーが動作するポート。  
<a name="mqtt-broker-configuration-mqtt-bridge-requirement"></a>別のポートを指定し、[MQTT ブリッジコンポーネント](mqtt-bridge-component.md)を使用して MQTT メッセージを他のブローカーにリレーする場合、MQTT ブリッジ v2.1.0 以降を使用する必要があります。MQTT ブローカーが動作するポートを使用するように設定します。  
<a name="mqtt-broker-configuration-ip-detector-requirement"></a>別のポートを指定し、[IP ディテクターコンポーネント](ip-detector-component.md)を使用して MQTT ブローカーエンドポイントを管理する場合、IP ディテクタ v2.1.0 以降を使用する必要があります。MQTT ブローカーが動作するポートを報告するように設定します。
デフォルト: `8883`  
`host`  
(オプション) MQTT ブローカーがバインドするインターフェイス。例えば、MQTT ブローカーが特定のローカルネットワークにのみバインドするように、このパラメータを変更できます。  
デフォルト: `0.0.0.0` (すべてのネットワークインターフェイスにバインドする)

startupTimeoutSeconds  
(オプション) コンポーネントが起動する最大時間 (秒)。このタイムアウトを超えている場合、コンポーネントの状態が `BROKEN` に変わります。  
デフォルト: `120`

**Example 例: 設定マージの更新**  
次の設定例では、MQTT ブローカーをポート 443 で操作するように指定しています。  

```
{
  "moquette": {
    "ssl_port": "443"
  }
}
```

## ローカルログファイル
<a name="mqtt-broker-moquette-component-log-file"></a>

このコンポーネントは、[Greengrass nucleus](greengrass-nucleus-component.md) コンポーネントと同じログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="mqtt-broker-moquette-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.3.7  |  [クライアントデバイス認証](client-device-auth-component.md)バージョン 2.5.0 リリース用に、バージョンが更新されました。  | 
|  2.3.6  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-broker-moquette-component.html)  | 
|  2.3.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-broker-moquette-component.html)  | 
|  2.3.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-broker-moquette-component.html)  | 
|  2.3.3  |  <a name="changelog-mqtt-broker-moquette-2.3.3"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-broker-moquette-component.html)  | 
|  2.3.2  |  [クライアントデバイス認証](client-device-auth-component.md)バージョン 2.4.0 リリース用に、バージョンが更新されました。  | 
|  2.3.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-broker-moquette-component.html)  | 
|  2.3.0  |  証明書チェーンのサポートを追加しました。  | 
|  2.2.0  |  [クライアントデバイス認証](client-device-auth-component.md)バージョン 2.2.0 リリース用にバージョンが更新されました。  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-broker-moquette-component.html)  | 
|  2.0.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-broker-moquette-component.html)  | 
|  2.0.1  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.0.0  |  当初のバージョン  | 

# MQTT 5 ブローカー (EMQX)
<a name="mqtt-broker-emqx-component"></a>

EMQX MQTT ブローカーコンポーネント (`aws.greengrass.clientdevices.mqtt.EMQX`) は、クライアントデバイスと Greengrass コアデバイス間の MQTT メッセージを処理します。このコンポーネントは、[EMQX MQTT 5.0 ブローカー](https://www.emqx.com/en/mqtt/mqtt5)の修正バージョンを提供します。この MQTT ブローカーをデプロイして、クライアントデバイスとコアデバイスの間の通信に MQTT 5 機能を使用します。MQTT ブローカーの選択方法の詳細については、「[MQTT ブローカーを選択する](choose-local-mqtt-broker.md)」を参照してください。

このブローカーは、MQTT 5.0 プロトコルを実装します。セッションとメッセージの有効期限、ユーザープロパティ、共有サブスクリプション、トピックエイリアスなどのサポートが含まれます。MQTT 5 は MQTT 3.1.1 と下位互換性があるので、[モケット MQTT 3.1.1 ブローカー](mqtt-broker-moquette-component.md)を実行する場合、EMQX MQTT 5 ブローカーに置き換えることができ、クライアントデバイスは通常どおり接続して動作し続けることができます。

<a name="note-local-mqtt-broker-mqtt-5-features"></a>

**注記**  <a name="client-device-component-context"></a>
クライアントデバイスは、Greengrass コアデバイスに接続し、処理するために MQTT メッセージとデータを送信するローカル IoT デバイスです。詳細については、「[ローカル IoT デバイスとやり取りする](interact-with-local-iot-devices.md)」を参照してください。

**Topics**
+ [バージョン](#mqtt-broker-emqx-component-versions)
+ [タイプ](#mqtt-broker-emqx-component-type)
+ [オペレーティングシステム](#mqtt-broker-emqx-component-os-support)
+ [要件](#mqtt-broker-emqx-component-requirements)
+ [依存関係](#mqtt-broker-emqx-component-dependencies)
+ [設定](#mqtt-broker-emqx-component-configuration)
+ [ローカルログファイル](#mqtt-broker-emqx-component-log-file)
+ [ライセンス](#mqtt-broker-emqx-component-licenses)
+ [変更ログ](#mqtt-broker-emqx-component-changelog)

## バージョン
<a name="mqtt-broker-emqx-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.0.x
+ 1.2.x
+ 1.1.x
+ 1.0.x

## タイプ
<a name="mqtt-broker-emqx-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="mqtt-broker-emqx-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Server 

## 要件
<a name="mqtt-broker-emqx-component-requirements"></a>

このコンポーネントには次の要件があります。
+ コアデバイスは、MQTT ブローカーが動作するポートで接続を受け入れられる必要があります。このコンポーネントは、デフォルトでポート 8883 で MQTT ブローカーを実行します。このコンポーネントを設定するとき、別のポートを指定できます。

  <a name="mqtt-broker-configuration-mqtt-bridge-requirement"></a>別のポートを指定し、[MQTT ブリッジコンポーネント](mqtt-bridge-component.md)を使用して MQTT メッセージを他のブローカーにリレーする場合、MQTT ブリッジ v2.1.0 以降を使用する必要があります。MQTT ブローカーが動作するポートを使用するように設定します。

  <a name="mqtt-broker-configuration-ip-detector-requirement"></a>別のポートを指定し、[IP ディテクターコンポーネント](ip-detector-component.md)を使用して MQTT ブローカーエンドポイントを管理する場合、IP ディテクタ v2.1.0 以降を使用する必要があります。MQTT ブローカーが動作するポートを報告するように設定します。
+ Linux コアデバイスでは、次のように Docker がコアデバイスにインストールおよび設定されています。
  + <a name="docker-engine-requirement"></a>[Docker Engine](https://docs.docker.com/engine/) 1.9.1 以降が Greengrass コアにインストールされていいること。バージョン 20.10 は、 AWS IoT Greengrass Core ソフトウェアで動作することが検証された最新バージョンです。Docker コンテナを実行するコンポーネントをデプロイする前に、コアデバイスに直接、Docker をインストールしておく必要があります。
  + <a name="docker-daemon-requirement"></a>このコンポーネントをデプロイする前に、Docker デーモンがコアデバイス上で起動し、実行されています。
  + このコンポーネントを実行するシステムユーザーには、ルート権限または管理者権限が必要です。または、このコンポーネントを `docker` グループ内のシステムユーザーとして実行し、このコンポーネントの `requiresPrivileges` オプションを `false` に設定して特権なしで EQMX MQTT ブローカーを実行できます。
+ EMQX MQTT ブローカーコンポーネントは、VPC での実行がサポートされています。
+ EMQX MQTT ブローカーコンポーネントは `armv7` プラットフォームではサポートされていません。

## 依存関係
<a name="mqtt-broker-emqx-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#mqtt-broker-emqx-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.0.2 – 2.0.3 ]

次の表に、このコンポーネントのバージョン 2.0.2 および 2.0.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [クライアントデバイス認証](client-device-auth-component.md) | >=2.2.0 <2.6.0 | ソフト | 

------
#### [ 2.0.1 ]

次の表に、このコンポーネントのバージョン 2.0.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [クライアントデバイス認証](client-device-auth-component.md) | >=2.2.0 <2.6.0 | ハード | 

------
#### [ 2.0.0 ]

次の表に、このコンポーネントのバージョン 2.0.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [クライアントデバイス認証](client-device-auth-component.md) | >=2.2.0 <2.5.0 | ハード | 

------
#### [ 1.2.2 – 1.2.3 ]

次の表に、このコンポーネントのバージョン 1.2.2 から 1.2.3 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [クライアントデバイス認証](client-device-auth-component.md) | >=2.2.0 <2.5.0 | ハード | 

------
#### [ 1.2.0 and 1.2.1 ]

次の表に、このコンポーネントのバージョン 1.2.0 および 1.2.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [クライアントデバイス認証](client-device-auth-component.md) | >=2.2.0 <2.4.0 | ハード | 

------
#### [ 1.0.0 and 1.1.0 ]

次の表に、このコンポーネントのバージョン 1.0.0 および 1.1.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [クライアントデバイス認証](client-device-auth-component.md) | >=2.2.0 <2.3.0 | ハード | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 設定
<a name="mqtt-broker-emqx-component-configuration"></a>

------
#### [ 2.0.0 - 2.0.3 ]

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

**重要**  
MQTT 5 ブローカー (EMQX) コンポーネントのバージョン 2 を使用している場合は、設定ファイルを更新する必要があります。バージョン 1 の設定ファイルはバージョン 2 では機能しません。

emqxConfig  
 (オプション) 使用する [EMQX MQTT ブローカー](https://www.emqx.io/docs/en/v5.1/configuration/configuration.html)設定。このコンポーネントで EMQX 設定オプションを設定できます。  
EMQX ブローカーを使用する場合、Greengrass ではデフォルト設定が使用されます。このフィールドを使用して変更しない限り、この設定が使用されます。  
以下の設定を変更すると、EMQX Broker コンポーネントが再起動します。他の設定変更は、コンポーネントを再起動せずに適用されます。  
+ `emqxConfig/cluster`
+ `emqxConfig/node`
+ `emqxConfig/rpc`
`aws.greengrass.clientdevices.mqtt.EMQX` は、セキュリティに配慮したオプションを設定することを許可します。これらには、TLS 設定、認証、認可プロバイダーが含まれます。相互 TLS 認証と Greengrass クライアントデバイス認証プロバイダーを使用するデフォルト設定を推奨します。

**Example 例: デフォルト設定**  
次の例は、MQTT 5 (EMQX) ブローカーのデフォルト設定を示しています。これらの設定は、`emqxConfig` 設定を使用してオーバーライドできます。  

```
{
  "authorization": {
    "no_match": "deny",
    "sources": []
  },
  "node": {
    "cookie": "<placeholder>"
  }, 
  "listeners": {
     "ssl": {
       "default": {
         "ssl_options": {
           "keyfile": "{work:path}\\data\\key.pem",
           "certfile": "{work:path}\\data\\cert.pem",
           "cacertfile": null,
           "verify": "verify_peer",
           "versions": ["tlsv1.3", "tlsv1.2"],
           "fail_if_no_peer_cert": true
         }
       }
     },
     "tcp": {
       "default": {
         "enabled": false
       }
     },
     "ws": {
       "default": {
         "enabled": false
       }
     },
     "wss": {
       "default": {
         "enabled": false
       }
     }
  },
  "plugins": {
    "states": [{"name_vsn": "gg-1.0.0", "enable": true}],
    "install_dir": "plugins"
  }
}
```

authMode  
(オプション) ブローカーの認可プロバイダーを設定します。次のいずれかの値を指定できます。  
+ `enabled`– (デフォルト) Greengrass 認証および認可プロバイダーを使用します。
+ `bypass_on_failure`– Greengrass 認証プロバイダーを使用し、Greengrass が認証または認可を拒否する場合は、EMQX プロバイダーチェーン内の残りの認証プロバイダーを使用します。
+ `bypass` – Greengrass プロバイダーが無効になっています。認証と認可は EMQX プロバイダーチェーンによって処理されます。

`requiresPrivilege`  
(オプション) Linux コアデバイスでは、ルート権限または管理者権限なしで EMQX MQTT ブローカーを実行するように指定できます。このオプションを `false` に設定した場合、このコンポーネントを実行するシステムユーザーは、`docker` グループのメンバーである必要があります。  
デフォルト: `true`

`startupTimeoutSeconds`  
(オプション) EMQX MQTT ブローカーが起動する最大時間 (秒)。このタイムアウトを超えている場合、コンポーネントの状態が `BROKEN` に変わります。  
デフォルト: `90`

`ipcTimeoutSeconds`  
(オプション) Greengrass nucleus がプロセス間通信 (IPC) リクエストに応答するまでコンポーネントが待機する最大時間 (秒)。このコンポーネントがクライアントデバイスが認証されているかどうかを確認するときにタイムアウトエラーを報告する場合は、この数値を増やします。  
デフォルト: `5`

`crtLogLevel`  
(オプション) AWS 共通ランタイム (CRT) ライブラリのログレベル。  
デフォルトは EMQX MQTT ブローカーのログレベル (`emqx` の `log.level`)。

`restartIdentifier`  
(オプション) EMQX MQTT ブローカーを再起動するには、このオプションを設定します。この設定値が変更されると、このコンポーネントは MQTT ブローカーを再起動します。このオプションを使用して、クライアントデバイスを強制的に切断できます。

`dockerOptions`  
(オプション) Docker コマンドラインにパラメータを追加するには、Linux オペレーティングシステムでのみこのオプションを設定します。例えば、追加のポートをマッピングするには、`-p` Docker パラメータを使用します。  

```
"-p 1883:1883"
```

**Example 例: v1.x 設定ファイルを v2.x に更新する**  
次の例は、v1.x 設定ファイルをバージョン 2.x に更新するために必要な変更を示しています。  
バージョン 1.x の設定ファイル:  

```
{
    "emqx": {
        "listener.ssl.external": "443",
        "listener.ssl.external.max_connections": "1024000",
        "listener.ssl.external.max_conn_rate": "500",
        "listener.ssl.external.rate_limit": "50KB,5s",
        "listener.ssl.external.handshake_timeout": "15s",
        "log.level": "warning"
    },
    "mergeConfigurationFiles": {
        "etc/plugins/aws_greengrass_emqx_auth.conf": "auth_mode=enabled\n use_greengrass_managed_certificates=true\n"
    }
}
```
v2 と同等の設定ファイル:  

```
{
    "emqxConfig": {
        "listeners": {
            "ssl": {
                "default": {
                   "bind": "8883",
                   "max_connections": "1024000",
                   "max_conn_rate": "500",
                   "ssl_options": {
                        "handshake_timeout": "15s"
                   }
                }
            }
        },
        "log": {
            "console": {
              "enable": true,
              "level": "warning"
            }
        }
    },
    "authMode": "enabled"
}
```
`listener.ssl.external.rate_limit` 設定エントリに相当するものはありません。`use_greengrass_managed_certificates` 設定オプションは削除されました。

**Example 例: ブローカーに新しいポートを設定する**  
次の例では、MQTT ブローカーが動作するポートをデフォルトの 8883 からポート 1234 に変更します。Linux を使用している場合は、`dockerOptions` フィールドを含めてください。  

```
{
  "emqxConfig": {
    "listeners": {
      "ssl": {
        "default": {
          "bind": 1234
        }
      }
    }
  },
  "dockerOptions": "-p 1234:1234"
}
```

**Example 例: MQTT ブローカーのログレベルの調整**  
次の例では、MQTT ブローカーのログレベルを `debug` に変更しています。次のログレベルから選択できます。  
+ `debug`
+ `info`
+ `notice`
+ `warning`
+ `error`
+ `critical`
+ `alert`
+ `emergency`
デフォルトのログレベルは `warning` です。  

```
{
  "emqxConfig": {
    "log": {
      "console": {
         "level": "debug"
      }
    }
  }
}
```

**Example 例: EMQX ダッシュボードを有効にする**  
次の例では EMQX ダッシュボードを有効にして、ブローカーの監視と管理を行えるようにします。Linux を使用している場合は、`dockerOptions` フィールドを含めてください。  

```
{
  "emqxConfig": {
    "dashboard": {
      "listeners": {
        "http": {
          "bind": 18083
        }
      }
    }
  },
  "dockerOptions": "-p 18083:18083"
}
```

------
#### [ 1.0.0 - 1.2.2 ]

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

`emqx`  
(オプション) 使用する [EMQX MQTT ブローカー](https://www.emqx.io/docs/en/v4.4/configuration/configuration.html)設定。このコンポーネントで EMQX 設定オプションのサブセットを設定できます。  
このオブジェクトには、次の情報が含まれます。    
`listener.ssl.external`  
(オプション) MQTT ブローカーが動作するポート。  
<a name="mqtt-broker-configuration-mqtt-bridge-requirement"></a>別のポートを指定し、[MQTT ブリッジコンポーネント](mqtt-bridge-component.md)を使用して MQTT メッセージを他のブローカーにリレーする場合、MQTT ブリッジ v2.1.0 以降を使用する必要があります。MQTT ブローカーが動作するポートを使用するように設定します。  
<a name="mqtt-broker-configuration-ip-detector-requirement"></a>別のポートを指定し、[IP ディテクターコンポーネント](ip-detector-component.md)を使用して MQTT ブローカーエンドポイントを管理する場合、IP ディテクタ v2.1.0 以降を使用する必要があります。MQTT ブローカーが動作するポートを報告するように設定します。
デフォルト: `8883`  
`listener.ssl.external.max_connections`  
(オプション) MQTT ブローカーがサポートする同時接続の最大数。  
デフォルト: `1024000`  
`listener.ssl.external.max_conn_rate`  
(オプション) MQTT ブローカーが受信できる 1 秒あたりの新規接続の最大数。  
デフォルト: `500`  
`listener.ssl.external.rate_limit`  
(オプション) MQTT ブローカーへのすべての接続の帯域幅制限。帯域幅とその帯域幅の期間をカンマ (`,`) で区切って `bandwidth,duration` の形式で指定します。例えば、`50KB,5s` と指定して、MQTT ブローカーを 5 秒ごとに 50 キロバイト (KB) のデータに制限できます。  
`listener.ssl.external.handshake_timeout`  
(オプション) MQTT ブローカーが新しい接続の認証が終了するまで待機する時間。  
デフォルト: `15s`  
`mqtt.max_packet_size`  
(オプション) MQTT メッセージの最大サイズ。  
デフォルト: `268435455` (256 MB マイナス 1)  
`log.level`  
(オプション) MQTT ブローカーのログレベル。次のオプションから選択します。  
+ `debug`
+ `info`
+ `notice`
+ `warning`
+ `error`
+ `critical`
+ `alert`
+ `emergency`
デフォルトのログレベルは `warning` です。

`requiresPrivilege`  
(オプション) Linux コアデバイスでは、ルート権限または管理者権限なしで EMQX MQTT ブローカーを実行するように指定できます。このオプションを `false` に設定した場合、このコンポーネントを実行するシステムユーザーは、`docker` グループのメンバーである必要があります。  
デフォルト: `true`

`startupTimeoutSeconds`  
(オプション) EMQX MQTT ブローカーが起動する最大時間 (秒)。このタイムアウトを超えている場合、コンポーネントの状態が `BROKEN` に変わります。  
デフォルト: `90`

`ipcTimeoutSeconds`  
(オプション) Greengrass nucleus がプロセス間通信 (IPC) リクエストに応答するまでコンポーネントが待機する最大時間 (秒)。このコンポーネントがクライアントデバイスが認証されているかどうかを確認するときにタイムアウトエラーを報告する場合は、この数値を増やします。  
デフォルト: `5`

`crtLogLevel`  
(オプション) AWS 共通ランタイム (CRT) ライブラリのログレベル。  
デフォルトは EMQX MQTT ブローカーのログレベル (`emqx` の `log.level`)。

`restartIdentifier`  
(オプション) EMQX MQTT ブローカーを再起動するには、このオプションを設定します。この設定値が変更されると、このコンポーネントは MQTT ブローカーを再起動します。このオプションを使用して、クライアントデバイスを強制的に切断できます。

`dockerOptions`  
(オプション) Docker コマンドラインにパラメータを追加するには、Linux オペレーティングシステムでのみこのオプションを設定します。例えば、追加のポートをマッピングするには、`-p` Docker パラメータを使用します。  

```
"-p 1883:1883"
```

`mergeConfigurationFiles`  
(オプション) 指定した EMQX 設定ファイルのデフォルトに追加したり、デフォルトをオーバーライドしたりするには、このオプションを設定します。設定ファイルとその形式については、「*EMQX 4.0 ドキュメント*」の「[Configuration](https://www.emqx.io/docs/en/v4.4/configuration/configuration.html)」を参照してください。指定した値は、設定ファイルに付加されます。  
次の例では、`etc/emqx.conf` ファイルを更新します。  

```
"mergeConfigurationFiles": {
    "etc/emqx.conf": "broker.sys_interval=30s\nbroker.sys_heartbeat=10s"
},
```
EMQX によってサポートされている設定ファイルに加えて、Greengrass は、`etc/plugins/aws_greengrass_emqx_auth.conf` と呼ばれる EMQX 用の Greengrass 認証プラグインを設定するファイルをサポートしています。サポートされているオプションは `auth_mode` と `use_greengrass_managed_certificates` の 2 つです。別の認証プロバイダーを使用するには、`auth_mode` オプションを次のいずれかに設定します。  
+ `enabled`– (デフォルト) Greengrass 認証および認可プロバイダーを使用します。
+ `bypass_on_failure`– Greengrass 認証プロバイダーを使用し、Greengrass が認証または認可を拒否する場合は、EMQX プロバイダーチェーン内の残りの認証プロバイダーを使用します。
+ `bypass` – Greengrass プロバイダーが無効になっています。その後、認証と認可は EMQX プロバイダーチェーンによって処理されます。
`use_greengrass_managed_certificates` が `true` の場合、このオプションは Greengrass がブローカー TLS 証明書を管理することを示します。`false` の場合は、別のソースを通じて証明書を提供していることを示しています。  
次の例では、`etc/plugins/aws_greengrass_emqx_auth.conf` 設定ファイルのデフォルトを更新します。  

```
"mergeConfigurationFiles": {
    "etc/plugins/aws_greengrass_emqx_auth.conf": "auth_mode=enabled\n use_greengrass_managed_certificates=true\n"
  },
```
`aws.greengrass.clientdevices.mqtt.EMQX` は、セキュリティに配慮したオプションを設定することを許可します。これらには、TLS 設定、認証、認可プロバイダーが含まれます。推奨設定は、相互 TLS 認証と Greengrass Client Device Auth プロバイダーを使用するデフォルト設定です。

`replaceConfigurationFiles`  
(オプション) 指定した EMQX 設定ファイルを置き換えるには、このオプションを設定します。指定した値は、既存の設定ファイル全体を置き換えます。このセクションでは `etc/emqx.conf` ファイルを指定できません。`mergeConfigurationFile` を使用して `etc/emqx.conf` を変更する必要があります。

**Example 例: 設定マージの更新**  
次の設定例では、MQTT ブローカーをポート 443 で操作するように指定しています。  

```
{
  "emqx": {
    "listener.ssl.external": "443",
    "listener.ssl.external.max_connections": "1024000",
    "listener.ssl.external.max_conn_rate": "500",
    "listener.ssl.external.rate_limit": "50KB,5s",
    "listener.ssl.external.handshake_timeout": "15s",
    "log.level": "warning"
  },
  "requiresPrivilege": "true",
  "startupTimeoutSeconds": "90",
  "ipcTimeoutSeconds": "5"
}
```

------

## ローカルログファイル
<a name="mqtt-broker-emqx-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.clientdevices.mqtt.EMQX.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.clientdevices.mqtt.EMQX.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.clientdevices.mqtt.EMQX.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.clientdevices.mqtt.EMQX.log -Tail 10 -Wait
  ```

------

## ライセンス
<a name="mqtt-broker-emqx-component-licenses"></a>

Windows オペレーティングシステムでは、このソフトウェアには、[マイクロソフト ソフトウェア ライセンス条項 - MICROSOFT VISUAL STUDIO COMMUNITY 2022](https://visualstudio.microsoft.com/license-terms/vs2022-ga-community) に基づいて配布されたコードが含まれています。このソフトウェアをダウンロードすると、このコードのライセンス条項に同意したことになります。

<a name="component-core-software-license"></a>このコンポーネントは、[Greengrass Core ソフトウェアライセンス契約](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)に従ってリリースされています。

## 変更ログ
<a name="mqtt-broker-emqx-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。

------
#### [ v2.x ]


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.0.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-broker-emqx-component.html)  | 
|  2.0.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-broker-emqx-component.html)  | 
|  2.0.1  |  [クライアントデバイス認証](client-device-auth-component.md)バージョン 2.5.0 リリース用に、バージョンが更新されました。  | 
| 2.0.0 | MQTT 5 ブローカー (EMQX) のこのバージョンでは、バージョン 1.x とは異なる設定パラメータが必要です。バージョン 1.x でデフォルト以外の設定を使用している場合は、2.x のコンポーネント設定を更新する必要があります。詳細については、「[設定](#mqtt-broker-emqx-component-configuration)」を参照してください。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-broker-emqx-component.html) | 

------
#### [ v1.x ]


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  1.2.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-broker-emqx-component.html)  | 
|  1.2.2  |  [クライアントデバイス認証](client-device-auth-component.md)バージョン 2.4.0 リリース用に、バージョンが更新されました。  | 
|  1.2.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-broker-emqx-component.html)  | 
|  1.2.0  |  証明書チェーンのサポートを追加しました。  | 
|  1.1.0  | <a name="changelog-emqx-1.1.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/mqtt-broker-emqx-component.html) | 
|  1.0.1  |  一部の MQTT クライアントが接続に失敗する原因となる TLS ハンドシェイク中の問題を修正します。  | 
|  1.0.0  |  当初のバージョン  | 

------

# nucleus テレメトリエミッタ
<a name="nucleus-emitter-component"></a>

nucleus テレメトリエミッタコンポーネント (`aws.greengrass.telemetry.NucleusEmitter`) は、システムヘルステレメトリデータを収集し、ローカルトピックと AWS IoT Core MQTT トピックに継続的に発行します。このコンポーネントは、Greengrass コアデバイスでリアル タイム システム テレメトリの収集を可能にします。システムテレメトリデータを Amazon EventBridge にパブリッシュする Greengrass テレメトリエージェントの情報については、「[AWS IoT Greengrass コアデバイスからシステムヘルステレメトリデータを収集する](telemetry.md)」を参照してください。

デフォルトで、nucleus テレメトリエミッタコンポーネントは 60 秒ごとにテレメトリデータを次のローカルパブリッシュ/サブスクライブトピックにパブリッシュします。

```
$local/greengrass/telemetry
```

nucleus テレメトリエミッタコンポーネントは、デフォルトでは AWS IoT Core MQTT トピックに発行されません。このコンポーネントは、デプロイ時に AWS IoT Core MQTT トピックに発行するように設定できます。MQTT トピックを使用して にデータを発行 AWS クラウド するには、[AWS IoT Core 料金](https://aws.amazon.com/iot-core/pricing/)が適用されます。

<a name="greengrass-software-catalog-influxdb-telemetry-publisher"></a>AWS IoT Greengrass には、InfluxDB と Grafana を使用してコアデバイス上のテレメトリデータをローカルで分析および視覚化するのに役立つ[コミュニティコンポーネント](greengrass-software-catalog.md)がいくつか用意されています。これらのコンポーネントは、nucleus エミッタコンポーネントのテレメトリデータを使用します。詳細については、[InfluxDB パブリッシャーコンポーネント](https://github.com/awslabs/aws-greengrass-labs-telemetry-influxdbpublisher)の「README」を参照してください。

**Topics**
+ [バージョン](#nucleus-emitter-component-versions)
+ [タイプ](#nucleus-emitter-component-type)
+ [オペレーティングシステム](#nucleus-emitter-component-os-support)
+ [依存関係](#nucleus-emitter-component-dependencies)
+ [構成](#nucleus-emitter-component-configuration)
+ [出力データ](#nucleus-emitter-component-output-data)
+ [使用方法](#nucleus-emitter-component-usage)
+ [ローカルログファイル](#nucleus-emitter-component-log-file)
+ [変更ログ](#nucleus-emitter-component-changelog)

## バージョン
<a name="nucleus-emitter-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 1.0.x

## タイプ
<a name="nucleus-emitter-component-type"></a>

<a name="public-component-type-plugin-para1"></a>このコンポーネントはプラグインコンポーネント (`aws.greengrass.plugin`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、nucleus と同じ Java バーチャルマシン (JVM) でこのコンポーネントを実行します。コアデバイスでこのコンポーネントのバージョンを変更するとき、nucleus が再起動します。

<a name="public-component-type-plugin-para2"></a>このコンポーネントは、Greengrass nucleus と同じログファイルを使用します。詳細については、「[AWS IoT Greengrass ログのモニタリング](monitor-logs.md)」を参照してください。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="nucleus-emitter-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 依存関係
<a name="nucleus-emitter-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#nucleus-emitter-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 1.0.12 ]

次の表に、このコンポーネントのバージョン 1.0.12 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.4.0 <2.17.0 | ソフト | 

------
#### [ 1.0.11 ]

次の表に、このコンポーネントのバージョン 1.0.11 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.4.0 <2.16.0  | ハード | 

------
#### [ 1.0.10 ]

次の表に、このコンポーネントのバージョン 1.0.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.4.0 <2.15.0  | ハード | 

------
#### [ 1.0.9 ]

次の表に、このコンポーネントのバージョン 1.0.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.4.0 <2.14.0  | ハード | 

------
#### [ 1.0.8 ]

次の表に、このコンポーネントのバージョン 1.0.8 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.4.0 <2.13.0  | ハード | 

------
#### [ 1.0.7 ]

次の表に、このコンポーネントのバージョン 1.0.7 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.4.0 <2.12.0  | ハード | 

------
#### [ 1.0.6 ]

次の表に、このコンポーネントのバージョン 1.0.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.4.0 <2.11.0  | ハード | 

------
#### [ 1.0.5 ]

次の表に、このコンポーネントのバージョン 1.0.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.4.0 <2.10.0  | ハード | 

------
#### [ 1.0.4 ]

次の表に、このコンポーネントのバージョン 1.0.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.4.0 <2.9.0  | ハード | 

------
#### [ 1.0.3 ]

次の表に、このコンポーネントのバージョン 1.0.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.4.0 <2.8.0  | ハード | 

------
#### [ 1.0.2 ]

次の表に、このコンポーネントのバージョン 1.0.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.4.0 <2.7.0  | ハード | 

------
#### [ 1.0.1 ]

次の表に、このコンポーネントのバージョン 1.0.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.4.0 <2.6.0  | ハード | 

------
#### [ 1.0.0 ]

次の表に、このコンポーネントのバージョン 1.0.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.4.0 <2.5.0  | ハード | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 構成
<a name="nucleus-emitter-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

`pubSubPublish`  
(オプション) テレメトリデータを `$local/greengrass/telemetry` トピックにパブリッシュするかどうか定義します。サポートされている値は`true` および `false` です。  
デフォルト: `true`

`mqttTopic`  
(オプション) このコンポーネントがテレメトリデータを発行する AWS IoT Core MQTT トピック。  
この値を、テレメトリデータを公開する AWS IoT Core MQTT トピックに設定します。この値が空のとき、nucleus エミッタはテレメトリデータを AWS クラウドにパブリッシュしません。  
MQTT トピックを使用して にデータを発行 AWS クラウド するには、[AWS IoT Core 料金](https://aws.amazon.com/iot-core/pricing/)が適用されます。
デフォルト: `""`

`telemetryPublishIntervalMs`  
(オプション) コンポーネントがテレメトリーデータをパブリッシュする間隔 (ミリ秒単位)。この値をサポートされている最小値よりも低く設定する場合、コンポーネントは代わりに最小値を使用します。  
パブリッシュ間隔を短くすると、コアデバイスの CPU 使用率が高くなります。デフォルトのパブリッシュ間隔から開始して、デバイスの CPU 使用率に基づいて調整することをお勧めします。
最小: `500`  
デフォルト: `60000`

**Example 例: 設定マージの更新**  
次の例は、 `$local/greengrass/telemetry`トピックと `greengrass/myTelemetry` AWS IoT Core MQTT トピックに 5 秒ごとにテレメトリデータを公開できるようにする設定マージ更新の例を示しています。  

```
{
  "pubSubPublish": "true",
  "mqttTopic": "greengrass/myTelemetry",
  "telemetryPublishIntervalMs": 5000
}
```

## 出力データ
<a name="nucleus-emitter-component-output-data"></a>

このコンポーネントは、次のトピックにテレメトリメトリクスを JSON 配列としてパブリッシュします。

**ローカルトピック:** `$local/greengrass/telemetry`

オプションで、テレメトリメトリクスを AWS IoT Core MQTT トピックに発行することもできます。トピックの詳細については、「*AWS IoT Core デベロッパーガイド*」の「[MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html)」を参照してください。

**Example データの例**  

```
[
  {
    "A": "Average",
    "N": "CpuUsage",
    "NS": "SystemMetrics",
    "TS": 1627597331445,
    "U": "Percent",
    "V": 26.21981271562346
  },
  {
    "A": "Count",
    "N": "TotalNumberOfFDs",
    "NS": "SystemMetrics",
    "TS": 1627597331445,
    "U": "Count",
    "V": 7316
  },
  {
    "A": "Count",
    "N": "SystemMemUsage",
    "NS": "SystemMetrics",
    "TS": 1627597331445,
    "U": "Megabytes",
    "V": 10098
  },
  {
    "A": "Count",
    "N": "NumberOfComponentsStarting",
    "NS": "GreengrassComponents",
    "TS": 1627597331446,
    "U": "Count",
    "V": 0
  },
  {
    "A": "Count",
    "N": "NumberOfComponentsInstalled",
    "NS": "GreengrassComponents",
    "TS": 1627597331446,
    "U": "Count",
    "V": 0
  },
  {
    "A": "Count",
    "N": "NumberOfComponentsStateless",
    "NS": "GreengrassComponents",
    "TS": 1627597331446,
    "U": "Count",
    "V": 0
  },
  {
    "A": "Count",
    "N": "NumberOfComponentsStopping",
    "NS": "GreengrassComponents",
    "TS": 1627597331446,
    "U": "Count",
    "V": 0
  },
  {
    "A": "Count",
    "N": "NumberOfComponentsBroken",
    "NS": "GreengrassComponents",
    "TS": 1627597331446,
    "U": "Count",
    "V": 0
  },
  {
    "A": "Count",
    "N": "NumberOfComponentsRunning",
    "NS": "GreengrassComponents",
    "TS": 1627597331446,
    "U": "Count",
    "V": 7
  },
  {
    "A": "Count",
    "N": "NumberOfComponentsErrored",
    "NS": "GreengrassComponents",
    "TS": 1627597331446,
    "U": "Count",
    "V": 0
  },
  {
    "A": "Count",
    "N": "NumberOfComponentsNew",
    "NS": "GreengrassComponents",
    "TS": 1627597331446,
    "U": "Count",
    "V": 0
  },
  {
    "A": "Count",
    "N": "NumberOfComponentsFinished",
    "NS": "GreengrassComponents",
    "TS": 1627597331446,
    "U": "Count",
    "V": 2
  }
]
```<a name="telemetry-json-array-config"></a>

出力配列には、次のプロパティを持つメトリクスのリストが含まれています。

`A`  
メトリクスの集計タイプ。  
`CpuUsage` メトリクスの場合、メトリクスのパブリッシュ値は、前回のパブリッシュイベント以降の平均 CPU 使用率であるため、このプロパティは `Average` に設定されます。  
他のすべてのメトリクスの場合、nucleus エミッタはメトリクス値を集計せず、さらにこのプロパティは `Count` に設定されます。

`N`  
メトリクスの名前。

`NS`  
メトリクスの名前空間。

`TS`  
データが収集された時刻のタイムスタンプ。

`U`  
メトリクス値の単位。

`V`  
 メトリクスの値。

nucleus エミッタは、次のメトリクスを発行します。


| 名前 | 説明 | 
| --- | --- | 
|  **システム**  | 
|  `SystemMemUsage`  |  オペレーティングシステムを含む、Greengrass コアデバイスのすべてのアプリケーションで現在使用されているメモリの量。  | 
|  `CpuUsage`  |  オペレーティングシステムを含む Greengrass コアデバイスのすべてのアプリケーションで現在使用されている CPU の量。  | 
|  `TotalNumberOfFDs`  |  Greengrass コアデバイスのオペレーティングシステムによって保存されているファイルディスクリプタの数。1 つのファイルディスクリプタは、1 つのオープンファイルを一意に識別します。  | 
|  **Greengrass nucleus**  | 
|  `NumberOfComponentsRunning`  |  Greengrass コアデバイスで実行されているコンポーネント数。  | 
|  `NumberOfComponentsErrored`  |  Greengrass コアデバイスでエラー状態にあるコンポーネントの数。  | 
|  `NumberOfComponentsInstalled`  |  Greengrass コアデバイスでインストールされているコンポーネントの数。  | 
|  `NumberOfComponentsStarting`  |  Greengrass コアデバイスで開始されているコンポーネントの数。  | 
|  `NumberOfComponentsNew`  |  Greengrass コアデバイスで新しくなったコンポーネントの数。  | 
|  `NumberOfComponentsStopping`  |  Greengrass コアデバイスで停止しているコンポーネントの数。  | 
|  `NumberOfComponentsFinished`  |  Greengrass コアデバイスで終了するコンポーネントの数。  | 
|  `NumberOfComponentsBroken`  |  Greengrass コアデバイスで壊れているコンポーネントの数。  | 
|  `NumberOfComponentsStateless`  |  Greengrass コアデバイスでステートレスであるコンポーネントの数。  | 

## 使用方法
<a name="nucleus-emitter-component-usage"></a>

システムヘルステレメトリデータを使用するには、nucleus エミッタがテレメトリデータをパブリッシュするトピックへサブスクライブし、必要に応じてそのデータに反応するカスタムコンポーネントを作成できます。nucleus エミッタコンポーネントには、テレメトリデータをローカルトピックにパブリッシュするオプションが用意されているため、そのトピックをサブスクライブし、パブリッシュされたデータを使用してコアデバイスでローカルに動作させることができます。次に、クラウドへの接続が制限されている場合でも、コアデバイスはテレメトリデータに反応できます。

例えば、テレメトリデータの `$local/greengrass/telemetry` トピックを参照し、ストリームマネージャーコンポーネントにデータを送信するようにコンポーネントを設定して、データを AWS クラウドにストリーミングできます。このようなコンポーネントの作成方法の詳細については、「[ローカルメッセージをパブリッシュ/サブスクライブする](ipc-publish-subscribe.md)」と「[ストリームマネージャーを使用するカスタムコンポーネントを作成する](use-stream-manager-in-custom-components.md)」を参照してください。

## ローカルログファイル
<a name="nucleus-emitter-component-log-file"></a>

このコンポーネントは、[Greengrass nucleus](greengrass-nucleus-component.md) コンポーネントと同じログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="nucleus-emitter-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  1.0.12  |  Greengrass nucleus バージョン 2.16.0 リリース用にバージョンが更新されました。  | 
|  1.0.11  | Greengrass nucleus バージョン 2.15.0 リリース用にバージョンが更新されました。 | 
|  1.0.10  | Greengrass nucleus バージョン 2.14.0 リリース用にバージョンが更新されました。 | 
|  1.0.9  | Greengrass nucleus バージョン 2.13.0 のリリース用にバージョンが更新されました。 | 
|  1.0.8  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  1.0.7  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  1.0.6  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  1.0.5  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  1.0.4  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  1.0.3  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  1.0.2  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  1.0.1  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  1.0.0  |  当初のバージョン  | 

# PKCS\$111 プロバイダ
<a name="pkcs11-provider-component"></a>

PKCS\$111 プロバイダコンポーネント (`aws.greengrass.crypto.Pkcs11Provider`) は、[PKCS\$111 インターフェイス](https://en.wikipedia.org/wiki/PKCS_11)を通してハードウェアセキュリティモジュール (HSM) を使用するため、 AWS IoT Greengrass Core ソフトウェアを設定できるようにします。このコンポーネントは、証明書とプライベートキーファイルを安全に保存できるようにして、ソフトウェアで公開または複製されないようにします。詳細については、「[ハードウェアセキュリティ統合](hardware-security.md)」を参照してください。

証明書とプライベートキーを HSM に保存する Greengrass コアデバイスをプロビジョニングするには、 AWS IoT Greengrass Core ソフトウェアをインストールするときに、このコンポーネントをプロビジョニングプラグインとして指定する必要があります。詳細については、「[手動リソースプロビジョニングを使用して AWS IoT Greengrass Core ソフトウェアをインストールする](manual-installation.md)」を参照してください。

AWS IoT Greengrass は、インストール時にプロビジョニングプラグインとして を指定するためにダウンロードできる JAR ファイルとしてこのコンポーネントを提供します。次の URL としてコンポーネントの JAR ファイルの最新バージョンをダウンロードできます: [https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar](https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar)。

**Topics**
+ [バージョン](#pkcs11-provider-component-versions)
+ [タイプ](#pkcs11-provider-component-type)
+ [オペレーティングシステム](#pkcs11-provider-component-os-support)
+ [要件](#pkcs11-provider-component-requirements)
+ [依存関係](#pkcs11-provider-component-dependencies)
+ [構成](#pkcs11-provider-component-configuration)
+ [ローカルログファイル](#pkcs11-provider-component-log-file)
+ [変更ログ](#pkcs11-provider-component-changelog)

## バージョン
<a name="pkcs11-provider-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.0.x

## タイプ
<a name="pkcs11-provider-component-type"></a>

<a name="public-component-type-plugin-para1"></a>このコンポーネントはプラグインコンポーネント (`aws.greengrass.plugin`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、nucleus と同じ Java バーチャルマシン (JVM) でこのコンポーネントを実行します。コアデバイスでこのコンポーネントのバージョンを変更するとき、nucleus が再起動します。

<a name="public-component-type-plugin-para2"></a>このコンポーネントは、Greengrass nucleus と同じログファイルを使用します。詳細については、「[AWS IoT Greengrass ログのモニタリング](monitor-logs.md)」を参照してください。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="pkcs11-provider-component-os-support"></a>

このコンポーネントは、Linux コアデバイスにのみインストールできます。

## 要件
<a name="pkcs11-provider-component-requirements"></a>

このコンポーネントには次の要件があります。
+ <a name="hardware-security-module-requirements-key"></a>[PKCS\$11 v1.5](https://tools.ietf.org/html/rfc2313) 署名スキームと RSA-2048 キーサイズ (またはそれ以上の規模) または ECC キーを備えた RSA キーをサポートするハードウェアセキュリティモジュール。
**注記**  <a name="hardware-security-module-requirements-key-notes"></a>
ECC キーを備えたハードウェアセキュリティモジュールを使用するには、v2.5.6 以降の [Greengrass nucleus](greengrass-nucleus-component.md) を使用する必要があります。  
ハードウェアセキュリティモジュールと[シークレットマネージャー](secret-manager-component.md)を使用するには、RSA キーを備えたハードウェアセキュリティモジュールを使用する必要があります。
+ <a name="hardware-security-module-requirements-pkcs11-provider-library"></a> AWS IoT Greengrass Core ソフトウェアが実行時に (libdl を使用して) PKCS\$111 関数を呼び出すためにロードできる PKCS\$111 プロバイダーライブラリ。PKCS\$111 プロバイダライブラリは、次の PKCS\$111 API オペレーションを実装する必要があります。
  + `C_Initialize`
  + `C_Finalize`
  + `C_GetSlotList`
  + `C_GetSlotInfo`
  + `C_GetTokenInfo`
  + `C_OpenSession`
  + `C_GetSessionInfo`
  + `C_CloseSession`
  + `C_Login`
  + `C_Logout`
  + `C_GetAttributeValue`
  + `C_FindObjectsInit`
  + `C_FindObjects`
  + `C_FindObjectsFinal`
  + `C_DecryptInit`
  + `C_Decrypt`
  + `C_DecryptUpdate`
  + `C_DecryptFinal`
  + `C_SignInit`
  + `C_Sign`
  + `C_SignUpdate`
  + `C_SignFinal`
  + `C_GetMechanismList`
  + `C_GetMechanismInfo`
  + `C_GetInfo`
  + `C_GetFunctionList`
+ <a name="hardware-security-module-requirements-slot-label"></a>ハードウェアモジュールは、「PKCS\$111 仕様」で定義されているスロットラベルで解決できる必要があります。
+ <a name="hardware-security-module-requirements-private-key-and-certificate"></a>プライベートキーと証明書は HSM の同じスロットに保存する必要があり、HSM がオブジェクト ID をサポートしている場合、同じオブジェクトラベルとオブジェクト ID を使用する必要があります。
+ <a name="hardware-security-module-requirements-object-label"></a>証明書とプライベートキーがオブジェクトラベルで解決できる必要があります。
+ <a name="hardware-security-module-requirements-private-key-permissions"></a>プライベートキーには、次の許可が必要です。
  + `sign`
  + `decrypt`
+ <a name="hardware-security-module-requirements-secret-manager-permissions"></a>(オプション) [シークレットマネージャーコンポーネント](secret-manager-component.md)を使用する場合、バージョン 2.1.0 以降を使用する必要があります。また、プライベートキーには次の許可が必要です。
  + `unwrap`
  + `wrap`
+ <a name="hardware-security-module-requirements-environment-variable"></a>(オプション) TPM2 ライブラリを使用し、Greengrass コアをサービスとして実行している場合は、環境変数に PKCS\$111 ストアの場所を指定する必要があります。次の例は、必要な環境変数を含む systemd サービスファイルです。

  ```
  [Unit]
  Description=Greengrass Core
  After=network.target
  
  [Service]
  Type=simple
  PIDFile=/var/run/greengrass.pid
  Environment=TPM2_PKCS11_STORE=/path/to/store/directory
  RemainAfterExit=no
  Restart=on-failure
  RestartSec=10
  ExecStart=/bin/sh /greengrass/v2/alts/current/distro/bin/loader
  
  [Install]
  WantedBy=multi-user.target
  ```

## 依存関係
<a name="pkcs11-provider-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#pkcs11-provider-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.0.11 ]

次の表に、このコンポーネントのバージョン 2.0.11 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.3 <2.17.0 | ソフト | 

------
#### [ 2.0.10 ]

次の表に、このコンポーネントのバージョン 2.0.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.3 <2.16.0  | ソフト | 

------
#### [ 2.0.9 ]

次の表に、このコンポーネントのバージョン 2.0.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.3 <2.15.0  | ソフト | 

------
#### [ 2.0.8 ]

次の表に、このコンポーネントのバージョン 2.0.8 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.3 <2.14.0  | ソフト | 

------
#### [ 2.0.7 ]

次の表に、このコンポーネントのバージョン 2.0.7 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.3 <2.13.0  | ソフト | 

------
#### [ 2.0.6 ]

次の表に、このコンポーネントのバージョン 2.0.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.3 <2.12.0  | ソフト | 

------
#### [ 2.0.5 ]

次の表に、このコンポーネントのバージョン 2.0.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.3 <2.11.0  | ソフト | 

------
#### [ 2.0.4 ]

次の表に、このコンポーネントのバージョン 2.0.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.3 <2.10.0  | ソフト | 

------
#### [ 2.0.3 ]

次の表に、このコンポーネントのバージョン 2.0.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.3 <2.9.0  | ソフト | 

------
#### [ 2.0.2 ]

次の表に、このコンポーネントのバージョン 2.0.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.3 <2.8.0  | ソフト | 

------
#### [ 2.0.1 ]

次の表に、このコンポーネントのバージョン 2.0.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.5.3 <2.7.0  | ソフト | 

------
#### [ 2.0.0 ]

次の表に、このコンポーネントのバージョン 2.0.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.5.3 <2.6.0  | ソフト | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 構成
<a name="pkcs11-provider-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。<a name="pkcs11-provider-component-configuration-parameters"></a>

`name`  
PKCS\$111 設定の名前。

`library`  
 AWS IoT Greengrass Core ソフトウェアが libdl でロードできる PKCS\$111 実装のライブラリへの絶対ファイルパス。

`slot`  
プライベートキーとデバイス証明書を含むスロットの ID。この値は、スロットインデックスやスロットラベルとは異なります。

`userPin`  
スロットへのアクセスに使用するユーザー PIN。

**Example 例: 設定マージの更新**  

```
{
  "name": "softhsm_pkcs11",
  "library": "/usr/lib/softhsm/libsofthsm2.so",
  "slot": 1,
  "userPin": "1234"
}
```

## ローカルログファイル
<a name="pkcs11-provider-component-log-file"></a>

このコンポーネントは、[Greengrass nucleus](greengrass-nucleus-component.md) コンポーネントと同じログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="pkcs11-provider-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.0.11  |  Greengrass nucleus バージョン 2.16.0 リリース用にバージョンが更新されました。  | 
|  2.0.10  | Greengrass nucleus バージョン 2.15.0 リリース用にバージョンが更新されました。 | 
|  2.0.9  | Greengrass nucleus バージョン 2.14.0 リリース用にバージョンが更新されました。 | 
|  2.0.8  | Greengrass nucleus バージョン 2.13.0 のリリース用にバージョンが更新されました。 | 
|  2.0.7  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.0.6  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.0.5  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.0.4  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.0.3  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.0.2  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.0.1  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.0.0  |  当初のバージョン  | 

# シークレットマネージャー
<a name="secret-manager-component"></a>

シークレットマネージャーコンポーネント (`aws.greengrass.SecretManager`) は、 AWS Secrets Manager から Greengrass コアデバイスにシークレットをデプロイします。このコンポーネントを使用して、Greengrass コアデバイスのカスタムコンポーネントでパスワードなどの認証情報を安全に使用します。Secrets Manager の詳細については、「AWS Secrets Manager ユーザーガイド」の「[AWS Secrets Managerとは](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)」を参照してください。

カスタム Greengrass コンポーネントでこのコンポーネントのシークレットにアクセスするには、 AWS IoT Device SDKで [GetSecretValue](ipc-secret-manager.md#ipc-operation-getsecretvalue) 操作を使用します。詳細については、「[を使用して AWS IoT Device SDK Greengrass nucleus、その他のコンポーネント、および と通信します。 AWS IoT CoreGreengrass nucleus、その他のコンポーネント、および と通信する AWS IoT Core](interprocess-communication.md)」および「[シークレット値を取得する](ipc-secret-manager.md)」を参照してください。

このコンポーネントは、コアデバイスのシークレットを暗号化して、認証情報およびパスワードを使用する必要があるまで安全に保ちます。コアデバイスのプライベートキーを使用して、シークレットを暗号化および復号化します。

**Topics**
+ [バージョン](#secret-manager-component-versions)
+ [タイプ](#secret-manager-component-type)
+ [オペレーティングシステム](#secret-manager-component-os-support)
+ [要件](#secret-manager-component-requirements)
+ [依存関係](#secret-manager-component-dependencies)
+ [設定](#secret-manager-component-configuration)
+ [ローカルログファイル](#secret-manager-component-log-file)
+ [変更ログ](#secret-manager-component-changelog)

## バージョン
<a name="secret-manager-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.2.x
+ 2.1.x
+ 2.0.x

## タイプ
<a name="secret-manager-component-type"></a>

<a name="public-component-type-plugin-para1"></a>このコンポーネントはプラグインコンポーネント (`aws.greengrass.plugin`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、nucleus と同じ Java バーチャルマシン (JVM) でこのコンポーネントを実行します。コアデバイスでこのコンポーネントのバージョンを変更するとき、nucleus が再起動します。

<a name="public-component-type-plugin-para2"></a>このコンポーネントは、Greengrass nucleus と同じログファイルを使用します。詳細については、「[AWS IoT Greengrass ログのモニタリング](monitor-logs.md)」を参照してください。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="secret-manager-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Server 

## 要件
<a name="secret-manager-component-requirements"></a>

このコンポーネントには次の要件があります。
+ 次の IAM ポリシーの例で示されているように、[Greengrass デバイスのロール](device-service-role.md)は `secretsmanager:GetSecretValue` アクションを許可する必要があります。

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

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "secretsmanager:GetSecretValue"
        ],
        "Effect": "Allow",
        "Resource": [
        "arn:aws:secretsmanager:us-east-1:123456789012:secret:MySecret"
        ]
      }
    ]
  }
  ```

------

  ```
  ```
**注記**  
カスタマーマネージド AWS Key Management Service キーを使用してシークレットを暗号化する場合、デバイスロールは `kms:Decrypt`アクションも許可する必要があります。

  Secrets Manager の IAM ポリシーの詳細については、「AWS Secrets Manager ユーザーガイド」の以下を参照してください。
  + [の認証とアクセスコントロール AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html)
  + [[Actions, resources, and context keys you can use in an IAM policy or secret policy for AWS Secrets Manager]](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html) ( の IAM ポリシーまたはシークレットポリシーで使用できるアクション、リソース、およびコンテキストキー)
+ カスタムコンポーネントは、このコンポーネントで保存したシークレットを `aws.greengrass#GetSecretValue` が取得できるようにするための認可ポリシーを定義する必要があります。この認可ポリシーでは、コンポーネントのアクセスを特定のシークレットに制限できます。詳細については、「[シークレットマネージャー IPC 認可](ipc-secret-manager.md#ipc-secret-manager-authorization)」を参照してください。
+ (オプション) コアデバイスのプライベートキーと証明書を [[hardware security module]](hardware-security.md) (ハードウェアセキュリティモジュール) (HSM) に保存する場合、HSM は RSA キーをサポートし、プライベートキーには `unwrap` アクセス許可が必要で、パブリックキーには `wrap` アクセス許可が必要です。

### エンドポイントおよびポート
<a name="secret-manager-component-endpoints"></a>

このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。


| Endpoint | ポート | 必要 | 説明 | 
| --- | --- | --- | --- | 
|  `secretsmanager.region.amazonaws.com`  | 443 | はい |  コアデバイスにシークレットをダウンロードします。  | 

## 依存関係
<a name="secret-manager-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#secret-manager-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.2.7 ]

次の表に、このコンポーネントのバージョン 2.2.7 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.17.0 | ソフト | 

------
#### [ 2.2.6 ]

次の表に、このコンポーネントのバージョン 2.2.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.16.0 | ソフト | 

------
#### [ 2.2.2 – 2.2.5 ]

次の表に、このコンポーネントのバージョン 2.2.2 から 2.2.5 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.15.0 | ソフト | 

------
#### [ 2.2.0 ]

次の表に、このコンポーネントのバージョン 2.2.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.13.0 <2.14.0 | ソフト | 

------
#### [ 2.1.7 – 2.1.8 ]

次の表に、このコンポーネントのバージョン 2.1.7 および 2.1.8 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.13.0 | ソフト | 

------
#### [ 2.1.6 ]

次の表に、このコンポーネントのバージョン 2.1.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.12.0 | ソフト | 

------
#### [ 2.1.5 ]

次の表に、このコンポーネントのバージョン 2.1.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.11.0 | ソフト | 

------
#### [ 2.1.4 ]

次の表に、このコンポーネントのバージョン 2.1.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.10.0 | ソフト | 

------
#### [ 2.1.3 ]

次の表に、このコンポーネントのバージョン 2.1.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.9.0 | ソフト | 

------
#### [ 2.1.2 ]

次の表に、このコンポーネントのバージョン 2.1.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.8.0 | ソフト | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.7.0 | ソフト | 

------
#### [ 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.1.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.6.0 | ソフト | 

------
#### [ 2.0.9 ]

次の表に、このコンポーネントのバージョン 2.0.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.5.0  | ソフト | 

------
#### [ 2.0.8 ]

次の表に、このコンポーネントのバージョン 2.0.8 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.4.0  | ソフト | 

------
#### [ 2.0.7 ]

次の表に、このコンポーネントのバージョン 2.0.7 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.3.0  | ソフト | 

------
#### [ 2.0.6 ]

次の表に、このコンポーネントのバージョン 2.0.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.2.0  | ソフト | 

------
#### [ 2.0.4 and 2.0.5 ]

次の表に、このコンポーネントのバージョン 2.0.4 および 2.0.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.3 <2.1.0  | ソフト | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 設定
<a name="secret-manager-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

`periodicRefreshIntervalMin` (オプション)  
このコンポーネントがコアデバイスに設定されているシークレットを AWS Secrets Manager サービスの最新のシークレット値と同期する分単位の間隔。この間隔が設定されていない場合、シークレットマネージャーは設定されたシークレットを定期的に更新しません。  

```
{
  "cloudSecrets": [
    {
      "arn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyGreengrassSecret-abcdef"
    }
  ],
  "periodicRefreshIntervalMin" : 60
}
```

`cloudSecrets`  
コアデバイスにデプロイする Secrets Manager シークレットのリスト。ラベルを指定して、デプロイする各シークレットのバージョンを定義できます。バージョンを指定しない場合、このコンポーネントはステージングラベル `AWSCURRENT` がアタッチされたバージョンをデプロイします。詳細については、「*AWS Secrets Manager ユーザーガイド*」の「[Staging labels](https://docs.aws.amazon.com/secretsmanager/latest/userguide/terms-concepts.html#term_staging-label)」を参照してください。  
シークレットマネージャーコンポーネントはローカルでキャッシュします。シークレットマネージャーでシークレット値が変更された場合、このコンポーネントは新しい値を自動的に取得しません。ローカルコピーを更新するには、シークレットに新しいラベルを付け、新しいラベルで識別されたシークレットを取得するようにこのコンポーネントを設定します。  
各オブジェクトには、次の情報が含まれます:    
`arn`  
デプロイするシークレットの ARN。シークレットの ARN は、完全な ARN または部分的な ARN のいずれかにすることができます。部分的な ARN ではなく、完全な ARN を指定することをお勧めします。詳細については、「[部分 ARN からのシークレットの検索](https://docs.aws.amazon.com/secretsmanager/latest/userguide/troubleshoot.html#ARN_secretnamehyphen)」を参照してください。以下は、完全な ARN と部分的な ARN の例です。  
+ 完全な ARN: `arn:aws:secretsmanager:us-east-2:111122223333:secret:SecretName-abcdef`
+ 部分的な ARN: `arn:aws:secretsmanager:us-east-2:111122223333:secret:SecretName`  
`labels`  
(オプション) コアデバイスにデプロイするシークレットのバージョンを識別するためのラベルのリスト。  
各ラベルは文字列である必要があります。

**Example 例: 設定マージの更新**  

```
{
  "cloudSecrets": [
    {
      "arn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyGreengrassSecret-abcdef"
    }
  ]
}
```

## ローカルログファイル
<a name="secret-manager-component-log-file"></a>

このコンポーネントは、[Greengrass nucleus](greengrass-nucleus-component.md) コンポーネントと同じログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="secret-manager-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.2.7  |  Greengrass nucleus バージョン 2.16.0 リリース用にバージョンが更新されました。  | 
|  2.2.6  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.1.8  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.1.7  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.1.6  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.1.5  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.1.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.1.3  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.1.2  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.1.1  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.0.9  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.0.8  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.0.7  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.0.6  |  Greengrass nucleus バージョン 2.1.0 のリリース用にバージョンが更新されました。  | 
|  2.0.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.0.4  |  当初のバージョン  | 

# セキュアトンネリング
<a name="secure-tunneling-component"></a>

`aws.greengrass.SecureTunneling` コンポーネントにより、制限されたファイアウォールの背後にある Greengrass コアデバイスとの、セキュアな双方向通信を確立できます。

例えば、ファイアウォールの背後にあり、すべての着信接続を禁止している、Greengrass を使用しているとします。セキュアトンネリングでは、MQTT を使用してアクセストークンをデバイスに転送し、次に WebSockets を使用して、ファイアウォール経由でそのデバイスに対し SSH 接続を行います。この AWS IoT マネージドのトンネルを使用することで、必要な SSH 接続をデバイスに対し開くことができます。 AWS IoT セキュアトンネリングを使用してリモートデバイスに接続する方法の詳細については、「 *AWS IoT デベロッパーガイド*」の[AWS IoT 「セキュアトンネリング](https://docs.aws.amazon.com/iot/latest/developerguide/secure-tunneling.html)」を参照してください。

このコンポーネントは、`$aws/things/greengrass-core-device/tunnels/notify`トピックの AWS IoT Core MQTT メッセージブローカーをサブスクライブして、安全なトンネリング通知を受信します。

**Topics**
+ [バージョン](#secure-tunneling-component-versions)
+ [タイプ](#secure-tunneling-component-type)
+ [オペレーティングシステム](#secure-tunneling-component-os-support)
+ [要件](#secure-tunneling-component-requirements)
+ [依存関係](#secure-tunneling-component-dependencies)
+ [構成](#secure-tunneling-component-configuration)
+ [ローカルログファイル](#secure-tunneling-component-log-file)
+ [ライセンス](#secure-tunneling-component-licenses)
+ [使用方法](#secure-tunneling-component-usage)
+ [関連情報](#secure-tunneling-component-see-also)
+ [変更ログ](#secure-tunneling-component-changelog)

## バージョン
<a name="secure-tunneling-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 1.1.x
+ 1.0.x

## タイプ
<a name="secure-tunneling-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="secure-tunneling-component-os-support"></a>

このコンポーネントは、Linux コアデバイスにのみインストールできます。

アーキテクチャ:
+ Armv71
+ Armv8 (AArch64)
+ x86\$164

## 要件
<a name="secure-tunneling-component-requirements"></a>

このコンポーネントには次の要件があります。
+ セキュアトンネリングコンポーネントで使用できるディスク容量は、最低 32 MB です。この要件には、同じデバイスで実行されている Greengrass コアソフトウェアやその他のコンポーネントは含まれません。
+ セキュアトンネリングコンポーネントで使用可能な RAM は 16 MB 以上です。この要件には、同じデバイスで実行されている Greengrass コアソフトウェアやその他のコンポーネントは含まれません。詳細については、「[JVM オプションでメモリ割り当てを制御する](configure-greengrass-core-v2.md#jvm-tuning)」を参照してください。
+ セキュアトンネリングコンポーネントバージョン 1.0.12 以降には、Linux カーネルが 3.2 以上の GNU C Library (glibc) バージョン 2.25 以降が必要です。長期サポート終了日を過ぎたオペレーティングシステムとライブラリのバージョンはサポートされていません。オペレーティングシステムとライブラリは、長期サポートとともに使用する必要があります。
+ オペレーティングシステムと Java ランタイムの両方を 64 ビットとしてインストールする必要があります。
+ Greengrass コアデバイスにインストールされ、PATH 環境変数に追加された [Python](https://www.python.org/) 3.5 以降。
+ `libcrypto.so.1.1` は、Greengrass コアデバイスにインストールされ、PATH 環境変数に追加されています。
+ Greengrass コアデバイスのポート 443 で、アウトバウンドトラフィックを開きます。
+ Greengrass コアデバイスとの通信に必要な、通信サービスのサポートをオンにします。例えば、デバイスへの SSH 接続を開くには、そのデバイスで SSH を有効にする必要があります。

### エンドポイントおよびポート
<a name="secure-tunneling-component-endpoints"></a>

このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。


| Endpoint | ポート | 必要 | 説明 | 
| --- | --- | --- | --- | 
|  `data.tunneling.iot.region.amazonaws.com`  | 443 | はい |  セキュアトンネルを確立します。  | 

## 依存関係
<a name="secure-tunneling-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#secure-tunneling-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 1.0.19 – 1.1.3 ]

次の表に、このコンポーネントのバージョン 1.0.19 から 1.1.3 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <3.0.0  | ソフト | 

------
#### [ 1.0.18 ]

次の表に、このコンポーネントのバージョン 1.0.18 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.13.0  | ソフト | 

------
#### [ 1.0.16 – 1.0.17 ]

次の表に、このコンポーネントのバージョン 1.0.16 から 1.0.17 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.12.0  | ソフト | 

------
#### [ 1.0.14 – 1.0.15 ]

次の表に、このコンポーネントのバージョン 1.0.14 から 1.0.15 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.11.0  | ソフト | 

------
#### [ 1.0.11 – 1.0.13 ]

次の表に、このコンポーネントのバージョン 1.0.11～1.0.13 の間の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.10.0  | ソフト | 

------
#### [ 1.0.10 ]

次の表に、このコンポーネントのバージョン 1.0.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.9.0  | ソフト | 

------
#### [ 1.0.9 ]

次の表に、このコンポーネントのバージョン 1.0.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.8.0  | ソフト | 

------
#### [ 1.0.8 ]

次の表に、このコンポーネントのバージョン 1.0.8 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.7.0  | ソフト | 

------
#### [ 1.0.5 - 1.0.7 ]

次の表に、このコンポーネントのバージョン 1.0.5 から 1.0.7 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.6.0  | ソフト | 

------
#### [ 1.0.4 ]

次の表に、このコンポーネントのバージョン 1.0.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.5.0  | ソフト | 

------
#### [ 1.0.3 ]

次の表に、このコンポーネントのバージョン 1.0.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.4.0  | ソフト | 

------
#### [ 1.0.2 ]

次の表に、このコンポーネントのバージョン 1.0.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.3.0  | ソフト | 

------
#### [ 1.0.1 ]

次の表に、このコンポーネントのバージョン 1.0.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.2.0  | ソフト | 

------
#### [ 1.0.0 ]

次の表に、このコンポーネントのバージョン 1.0.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.3 <2.1.0  | ソフト | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 構成
<a name="secure-tunneling-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

`OS_DIST_INFO`  
(オプション) コアデバイスのオペレーティングシステム。デフォルトでコンポーネントは、コアデバイスで実行されているオペレーティングシステムを自動的に識別しようとします。コンポーネントがデフォルト値で開始できない場合は、この値を使用してオペレーティングシステムを指定します。このコンポーネントでサポートされているオペレーティングシステムのリストについては、「[デバイスの要件](greengrass-nucleus-component.md#greengrass-v2-requirements)」を参照してください。  
これには、次のいずれかの値を指定できます: `auto`、`ubuntu`、`amzn2`、`raspberrypi`。  
デフォルト: `auto`

`accessControl`  
(オプション) コンポーネントがセキュアトンネリング通知トピックにサブスクライブできるようにする [[authorization policy]](interprocess-communication.md#ipc-authorization-policies) (認可ポリシー) を含むオブジェクト。  
デプロイがモノグループをターゲットとする場合は、この設定パラメータを変更しないでください。デプロイで、個別のコアデバイスを対象としており、そのサブスクリプションをデバイスのトピックに制限したい場合は、そのコアデバイスのモノの名前 (thing name) を指定します。デバイスの認可ポリシー内にある `resources` の値で、MQTT のトピックワイルドカードを、対象のデバイスのモノの名前に置き換えます。

```
{
  "aws.greengrass.ipc.mqttproxy": {
    "aws.iot.SecureTunneling:mqttproxy:1": {
      "policyDescription": "Access to tunnel notification pubsub topic",
      "operations": [
        "aws.greengrass#SubscribeToIoTCore"
      ],
      "resources": [
        "$aws/things/+/tunnels/notify"
      ]
    }
  }
}
```

**Example 例: 設定マージの更新**  
次の設定例では、このコンポーネントが Ubuntu を実行する **MyGreengrassCore** という名前のコアデバイスでセキュアなトンネルを開くことができるように指定しています。  

```
{
  "OS_DIST_INFO": "ubuntu",
  "accessControl": {
    "aws.greengrass.ipc.mqttproxy": {
      "aws.iot.SecureTunneling:mqttproxy:1": {
        "policyDescription": "Access to tunnel notification pubsub topic",
        "operations": [
          "aws.greengrass#SubscribeToIoTCore"
        ],
        "resources": [
          "$aws/things/MyGreengrassCore/tunnels/notify"
        ]
      }
    }
  }
}
```

## ローカルログファイル
<a name="secure-tunneling-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

```
/greengrass/v2/logs/aws.greengrass.SecureTunneling.log
```

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。を AWS IoT Greengrass ルートフォルダへのパス`/greengrass/v2`に置き換えます。

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.SecureTunneling.log
  ```

## ライセンス
<a name="secure-tunneling-component-licenses"></a>

このコンポーネントには、次のサードパーティーソフトウェア/ライセンス品が含まれています。
+ [AWS IoT Device Client](https://github.com/awslabs/aws-iot-device-client)/Apache ライセンス 2.0
+ [AWS IoT Device SDK for Java](https://github.com/aws/aws-greengrass-core-sdk-java/)/Apache License 2.0
+ [gson](https://github.com/google/gson)/Apache License 2.0
+ [log4j](https://logging.apache.org/log4j/2.x/)/Apache License 2.0
+ [slf4j](http://www.slf4j.org/)/Apache License 2.0

## 使用方法
<a name="secure-tunneling-component-usage"></a>

デバイス上で安全なトンネリングコンポーネントを使用するには、以下を実行します。

1. セキュアトンネリングコンポーネントをデバイスにデプロイします。

1. [AWS IoT コンソール](https://console.aws.amazon.com/iot)を開きます。左側のメニューから、**[リモートアクション]** を選択し、**[セキュアトンネル]** を選択します。

1. Greengrass デバイスへのトンネルを作成します。

1. ソースアクセストークンをダウンロードします。

1. ソースアクセストークンでローカルプロキシを使用して、送信先に接続します。詳細については、*AWS IoT デベロッパーガイド*の「[How to use the local proxy](https://docs.aws.amazon.com/iot/latest/developerguide/how-use-local-proxy.html)」を参照してください。

## 関連情報
<a name="secure-tunneling-component-see-also"></a>
+ [AWS IoT 「 デベロッパーガイド」の「セキュアトンネ](https://docs.aws.amazon.com/iot/latest/developerguide/secure-tunneling.html)リング*AWS IoT *」
+ *AWS IoT デベロッパーガイド*の「[How to use the local proxy](https://docs.aws.amazon.com/iot/latest/developerguide/how-use-local-proxy.html) 」

## 変更ログ
<a name="secure-tunneling-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  1.1.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secure-tunneling-component.html)  | 
|  1.1.2  |   このバージョンは現在利用できません。このバージョンの改善は、このコンポーネントのそれ以降のバージョンで利用できます。  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secure-tunneling-component.html)  | 
|  1.1.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secure-tunneling-component.html)  | 
|  1.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secure-tunneling-component.html)  | 
|  1.0.19  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secure-tunneling-component.html)  トンネルソースクライアントとしてセキュアトンネリングローカルプロキシを使用している場合は、ローカルプロキシをバージョン 3.1.1 以降にアップグレードするまで、コンポーネントをこのバージョンに更新しないでください。   | 
|  1.0.18  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  1.0.17  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secure-tunneling-component.html)  | 
|  1.0.16  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  1.0.15  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secure-tunneling-component.html)  | 
|  1.0.14  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  1.0.13  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secure-tunneling-component.html)  | 
|  1.0.12  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secure-tunneling-component.html)  | 
|  1.0.11  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  1.0.10  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  1.0.9  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  1.0.8  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  1.0.7  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/secure-tunneling-component.html)  | 
|  1.0.6  |  このバージョンには、バグ修正が含まれています。  | 
|  1.0.5  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  1.0.4  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  1.0.3  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  1.0.2  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  1.0.1  |  Greengrass nucleus バージョン 2.1.0 のリリース用にバージョンが更新されました。  | 
|  1.0.0  |  当初のバージョン  | 

# シャドウマネージャー
<a name="shadow-manager-component"></a>

シャドウマネージャーコンポーネント (`aws.greengrass.ShadowManager`) を使用すると、コアデバイスでローカルシャドウサービスを有効にできます。ローカルシャドウサービスを使用すると、コンポーネントはプロセス間通信を使用して[ローカルシャドウとやり取りする](ipc-local-shadows.md)ことができます。シャドウマネージャーコンポーネントは、ローカルシャドウドキュメントのストレージを管理し、ローカルシャドウ状態の AWS IoT Device Shadow サービスとの同期も処理します。

Greengrass コアデバイスがシャドウとやり取りする方法の詳細については、「[デバイスシャドウとやり取り](interact-with-shadows.md)」を参照してください。

**Topics**
+ [バージョン](#shadow-manager-component-versions)
+ [タイプ](#shadow-manager-component-type)
+ [オペレーティングシステム](#shadow-manager-component-os-support)
+ [要件](#shadow-manager-component-requirements)
+ [依存関係](#shadow-manager-component-dependencies)
+ [設定](#shadow-manager-component-configuration)
+ [ローカルログファイル](#shadow-manager-component-log-file)
+ [変更ログ](#shadow-manager-component-changelog)

## バージョン
<a name="shadow-manager-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## タイプ
<a name="shadow-manager-component-type"></a>

<a name="public-component-type-plugin-para1"></a>このコンポーネントはプラグインコンポーネント (`aws.greengrass.plugin`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、nucleus と同じ Java バーチャルマシン (JVM) でこのコンポーネントを実行します。コアデバイスでこのコンポーネントのバージョンを変更するとき、nucleus が再起動します。

<a name="public-component-type-plugin-para2"></a>このコンポーネントは、Greengrass nucleus と同じログファイルを使用します。詳細については、「[AWS IoT Greengrass ログのモニタリング](monitor-logs.md)」を参照してください。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="shadow-manager-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Server 

## 要件
<a name="shadow-manager-component-requirements"></a>

このコンポーネントには次の要件があります。
+ (オプション) シャドウを AWS IoT Device Shadow サービスに同期するには、Greengrass AWS IoT Core コアデバイスの AWS IoT ポリシーで次のシャドウポリシーアクションを許可する必要があります。
  + `iot:GetThingShadow`
  + `iot:UpdateThingShadow`
  + `iot:DeleteThingShadow`

  これらの AWS IoT Core ポリシーの詳細については、「 *AWS IoT デベロッパーガイド*」の[AWS IoT Core 「ポリシーアクション](https://docs.aws.amazon.com/iot/latest/developerguide/iot-policy-actions.html)」を参照してください。

  最小 AWS IoT ポリシーの詳細については、「」を参照してください。 [AWS IoT Greengrass V2 コアデバイスの最小 AWS IoT ポリシー](device-auth.md#greengrass-core-minimal-iot-policy)
+ シャドウマネージャーコンポーネントは、VPC で実行できるようにサポートされています。

## 依存関係
<a name="shadow-manager-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#shadow-manager-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.3.13 ]

次の表に、このコンポーネントのバージョン 2.3.13 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.17.0 | ソフト | 

------
#### [ 2.3.12 ]

次の表に、このコンポーネントのバージョン 2.3.12 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.17.0 | ソフト | 

------
#### [ 2.3.11 ]

次の表に、このコンポーネントのバージョン 2.3.11 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.16.0 | ソフト | 

------
#### [ 2.3.10 ]

次の表に、このコンポーネントのバージョン 2.3.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.15.0 | ソフト | 

------
#### [ 2.3.9 ]

次の表に、このコンポーネントのバージョン 2.3.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.14.0 | ソフト | 

------
#### [ 2.3.5 – 2.3.8 ]

次の表に、このコンポーネントのバージョン 2.3.5 から 2.3.8 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.13.0 | ソフト | 

------
#### [ 2.3.3 and 2.3.4 ]

次の表に、このコンポーネントのバージョン 2.3.3 および 2.3.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.12.0 | ソフト | 

------
#### [ 2.3.2 ]

次の表に、このコンポーネントのバージョン 2.3.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.11.0 | ソフト | 

------
#### [ 2.3.0 and 2.3.1 ]

次の表に、このコンポーネントのバージョン 2.3.0 および 2.3.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.10.0 | ソフト | 

------
#### [ 2.2.3 and 2.2.4 ]

次の表に、このコンポーネントのバージョン 2.2.3 および 2.2.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <3.0.0 | ソフト | 

------
#### [ 2.2.2 ]

次の表に、このコンポーネントのバージョン 2.2.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.9.0 | ソフト | 

------
#### [ 2.2.1 ]

次の表に、このコンポーネントのバージョン 2.2.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.8.0 | ソフト | 

------
#### [ 2.1.1 and 2.2.0 ]

次の表に、このコンポーネントのバージョン 2.1.1 および 2.2.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.7.0 | ソフト | 

------
#### [ 2.0.5 - 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.0.5 から 2.1.0 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.6.0 | ソフト | 

------
#### [ 2.0.3 and 2.0.4 ]

次の表に、このコンポーネントのバージョン 2.0.3 および 2.0.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.5.0 | ソフト | 

------
#### [ 2.0.1 and 2.0.2 ]

次の表に、このコンポーネントのバージョン 2.0.1 および 2.0.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.4.0 | ソフト | 

------
#### [ 2.0.0 ]

次の表に、このコンポーネントのバージョン 2.0.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.3.0 | ソフト | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 設定
<a name="shadow-manager-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

------
#### [ 2.3.x ]

`strategy`  <a name="shadow-manager-component-configuration-strategy"></a>
(オプション) このコンポーネントが AWS IoT Core とコアデバイスの間でシャドウを同期するために使用する戦略。  
このオブジェクトには、次の情報が含まれます。    
`type`  
(オプション) このコンポーネントが AWS IoT Core とコアデバイス間でシャドウを同期させるために使用する戦略のタイプ。次のオプションから選択します。  
+ `realTime` – シャドウの更新が発生する AWS IoT Core たびに、シャドウを と同期します。
+ `periodic` – `delay`設定パラメータ AWS IoT Core で指定した定期的な間隔でシャドウを と同期します。
デフォルト: `realTime`  
`delay`  
(オプション) `periodic` 同期戦略を指定した場合に、このコンポーネントがシャドウを AWS IoT Coreと同期する間隔 (秒単位)。  
`periodic` 同期戦略を指定する場合、このパラメータは必須です。

`synchronize`  <a name="shadow-manager-component-configuration-synchronize"></a>
<a name="shadow-manager-component-configuration-strategy-description"></a>(オプション) シャドウを AWS クラウドと同期する方法を決定する同期設定。  
シャドウを AWS クラウドと同期させるには、このプロパティを使用して設定アップデートを作成する必要があります。
このオブジェクトには、次の情報が含まれます。    
`coreThing`  <a name="shadow-manager-component-configuration-synchronize-core-thing"></a>
(オプション) 同期するコアデバイスシャドウ。このオブジェクトには、次の情報が含まれます。    
`classic`  
(オプション) デフォルトでは、シャドウマネージャーはコアデバイスのクラシックシャドウのローカル状態を AWS クラウドと同期させます。クラシックデバイスシャドウを同期しない場合は、これを `false` に設定します。  
デフォルト: `true`  
`namedShadows`  
(オプション) 同期する名前付きコアデバイスシャドウのリスト。シャドウの正確な名前を指定する必要があります。  
この AWS IoT Greengrass サービスは、`AWSManagedGreengrassV2Deployment`名前付きシャドウを使用して、個々のコアデバイスをターゲットとするデプロイを管理します。この名前付きシャドウは、 AWS IoT Greengrass サービスで使用するために予約されています。この名前付きシャドウを更新または削除しないでください。  
`shadowDocumentsMap`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents-map"></a>
(オプション) 同期する追加のデバイスシャドウ。この構成パラメータを使用すると、シャドウドキュメントの指定が簡単になります。`shadowDocuments` オブジェクトの代わりに、このパラメータを使用することをお勧めします。  
`shadowDocumentsMap` オブジェクトを指定する場合は、`shadowDocuments` オブジェクトを指定しないでください。
各オブジェクトには、次の情報が含まれます:    
*`thingName`*  
このシャドウ構成の *[thingName]* のシャドウ設定。    
`classic`  
(オプション) `thingName` デバイスのクラシックデバイスシャドウを同期しない場合は、これを `false` に設定します。  
`namedShadows`  
同期する名前付きシャドウのリスト。シャドウの正確な名前を指定する必要があります。  
`shadowDocuments`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents"></a>
(オプション) 同期する追加のデバイスシャドウのリスト。代わりに `shadowDocumentsMap` パラメータを使用することをお勧めします。  
`shadowDocuments` オブジェクトを指定する場合は、`shadowDocumentsMap` オブジェクトを指定しないでください。
このリストの各オブジェクトには、次の情報が含まれます。    
`thingName`  
シャドウを同期するデバイスのモノの名前。  
`classic`  
(オプション) `thingName` デバイスのクラシックデバイスシャドウを同期しない場合は、これを `false` に設定します。  
デフォルト: `true`  
`namedShadows`  
(オプション) 同期する名前付きデバイスシャドウのリスト。シャドウの正確な名前を指定する必要があります。  
`direction`  
(オプション) ローカルシャドウサービスと AWS クラウドの間でシャドウを同期させる方向。このオプションを設定すると、 AWS クラウドへの帯域幅と接続数を低減できます。次のオプションから選択します。  
+ `betweenDeviceAndCloud` – ローカルシャドウサービスと AWS クラウドを同期させる。
+ `deviceToCloud` – ローカルシャドウサービスから にシャドウ更新を送信し AWS クラウド、 からシャドウ更新を無視します AWS クラウド。
+ `cloudToDevice` – AWS クラウドからシャドウアップデートを受信し、ローカルシャドウサービスから AWS クラウドにシャドウアップデートを送信しない。
デフォルト: `BETWEEN_DEVICE_AND_CLOUD`

`rateLimits`  <a name="shadow-manager-component-configuration-rate-limits"></a>
(オプション) シャドウサービス要求のレート制限を決定する設定。  
このオブジェクトには、次の情報が含まれます。    
`maxOutboundSyncUpdatesPerSecond`  
(オプション) デバイスが送信する 1 秒あたりの同期要求の最大数。  
デフォルト: 100 要求/秒  
`maxTotalLocalRequestsRate`  
(オプション) コアデバイスに送信される 1 秒あたりのローカル IPC 要求の最大数。  
デフォルト: 200 要求/秒  
`maxLocalRequestsPerSecondPerThing`  
(オプション) 接続された IoT モノごとに送信される 1 秒あたりのローカル IPC 要求の最大数。  
デフォルト: 1 件につき 20 要求/秒
これらのレート制限パラメータは、ローカルシャドウサービスの 1 秒あたりの最大要求数を定義します。 AWS IoT Device Shadow サービスに対する 1 秒あたりのリクエストの最大数は、 によって異なります AWS リージョン。詳細については、「*Amazon Web Services 全般のリファレンス*」の「[AWS IoT Device Shadow Service API](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits)」の制限を参照してください。

`shadowDocumentSizeLimitBytes`  <a name="shadow-manager-component-configuration-shadow-document-size-limit-bytes"></a>
(オプション) ローカルシャドウの各 JSON 状態ドキュメントの最大許容サイズ。  
この値を大きくすると、クラウドシャドウの JSON 状態ドキュメントのリソース制限も増やす必要があります。詳細については、「*Amazon Web Services 全般のリファレンス*」の「[AWS IoT Device Shadow Service API](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits)」の制限を参照してください。  
デフォルト: 8,192 バイト  
最大: 30720 バイト

**Example 例: 設定マージの更新**  
次の例は、シャドウマネージャーコンポーネントで利用可能なすべての設定パラメータを使用した設定マージ更新のサンプルを示しています。  

```
{
   "strategy":{
      "type":"periodic",
      "delay":300
   },
   "synchronize":{
      "shadowDocumentsMap":{
         "MyDevice1":{
            "classic":false,
            "namedShadows":[
               "MyShadowA",
               "MyShadowB"
            ]
         },
         "MyDevice2":{
            "classic":true,
            "namedShadows":[]
         }
      },
      "direction":"betweenDeviceAndCloud"
   },
   "rateLimits":{
      "maxOutboundSyncUpdatesPerSecond":100,
      "maxTotalLocalRequestsRate":200,
      "maxLocalRequestsPerSecondPerThing":20
   },
   "shadowDocumentSizeLimitBytes":8192
}
```

------
#### [ 2.2.x ]

`strategy`  <a name="shadow-manager-component-configuration-strategy"></a>
(オプション) このコンポーネントが AWS IoT Core とコアデバイスの間でシャドウを同期するために使用する戦略。  
このオブジェクトには、次の情報が含まれます。    
`type`  
(オプション) このコンポーネントが AWS IoT Core とコアデバイス間でシャドウを同期させるために使用する戦略のタイプ。次のオプションから選択します。  
+ `realTime` – シャドウの更新が発生する AWS IoT Core たびに、シャドウを と同期します。
+ `periodic` – `delay`設定パラメータ AWS IoT Core で指定した定期的な間隔でシャドウを と同期します。
デフォルト: `realTime`  
`delay`  
(オプション) `periodic` 同期戦略を指定した場合に、このコンポーネントがシャドウを AWS IoT Coreと同期する間隔 (秒単位)。  
`periodic` 同期戦略を指定する場合、このパラメータは必須です。

`synchronize`  <a name="shadow-manager-component-configuration-synchronize"></a>
<a name="shadow-manager-component-configuration-strategy-description"></a>(オプション) シャドウを AWS クラウドと同期する方法を決定する同期設定。  
シャドウを AWS クラウドと同期させるには、このプロパティを使用して設定アップデートを作成する必要があります。
このオブジェクトには、次の情報が含まれます。    
`coreThing`  <a name="shadow-manager-component-configuration-synchronize-core-thing"></a>
(オプション) 同期するコアデバイスシャドウ。このオブジェクトには、次の情報が含まれます。    
`classic`  
(オプション) デフォルトでは、シャドウマネージャーはコアデバイスのクラシックシャドウのローカル状態を AWS クラウドと同期させます。クラシックデバイスシャドウを同期しない場合は、これを `false` に設定します。  
デフォルト: `true`  
`namedShadows`  
(オプション) 同期する名前付きコアデバイスシャドウのリスト。シャドウの正確な名前を指定する必要があります。  
この AWS IoT Greengrass サービスは、`AWSManagedGreengrassV2Deployment`名前付きシャドウを使用して、個々のコアデバイスをターゲットとするデプロイを管理します。この名前付きシャドウは、 AWS IoT Greengrass サービスで使用するために予約されています。この名前付きシャドウを更新または削除しないでください。  
`shadowDocumentsMap`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents-map"></a>
(オプション) 同期する追加のデバイスシャドウ。この構成パラメータを使用すると、シャドウドキュメントの指定が簡単になります。`shadowDocuments` オブジェクトの代わりに、このパラメータを使用することをお勧めします。  
`shadowDocumentsMap` オブジェクトを指定する場合は、`shadowDocuments` オブジェクトを指定しないでください。
各オブジェクトには、次の情報が含まれます:    
*`thingName`*  
このシャドウ構成の *[thingName]* のシャドウ設定。    
`classic`  
(オプション) `thingName` デバイスのクラシックデバイスシャドウを同期しない場合は、これを `false` に設定します。  
`namedShadows`  
同期する名前付きシャドウのリスト。シャドウの正確な名前を指定する必要があります。  
`shadowDocuments`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents"></a>
(オプション) 同期する追加のデバイスシャドウのリスト。代わりに `shadowDocumentsMap` パラメータを使用することをお勧めします。  
`shadowDocuments` オブジェクトを指定する場合は、`shadowDocumentsMap` オブジェクトを指定しないでください。
このリストの各オブジェクトには、次の情報が含まれます。    
`thingName`  
シャドウを同期するデバイスのモノの名前。  
`classic`  
(オプション) `thingName` デバイスのクラシックデバイスシャドウを同期しない場合は、これを `false` に設定します。  
デフォルト: `true`  
`namedShadows`  
(オプション) 同期する名前付きデバイスシャドウのリスト。シャドウの正確な名前を指定する必要があります。  
`direction`  
(オプション) ローカルシャドウサービスと AWS クラウドの間でシャドウを同期させる方向。このオプションを設定すると、 AWS クラウドへの帯域幅と接続数を低減できます。次のオプションから選択します。  
+ `betweenDeviceAndCloud` – ローカルシャドウサービスと AWS クラウドを同期させる。
+ `deviceToCloud` – ローカルシャドウサービスから にシャドウ更新を送信し AWS クラウド、 からシャドウ更新を無視します AWS クラウド。
+ `cloudToDevice` – AWS クラウドからシャドウアップデートを受信し、ローカルシャドウサービスから AWS クラウドにシャドウアップデートを送信しない。
デフォルト: `BETWEEN_DEVICE_AND_CLOUD`

`rateLimits`  <a name="shadow-manager-component-configuration-rate-limits"></a>
(オプション) シャドウサービス要求のレート制限を決定する設定。  
このオブジェクトには、次の情報が含まれます。    
`maxOutboundSyncUpdatesPerSecond`  
(オプション) デバイスが送信する 1 秒あたりの同期要求の最大数。  
デフォルト: 100 要求/秒  
`maxTotalLocalRequestsRate`  
(オプション) コアデバイスに送信される 1 秒あたりのローカル IPC 要求の最大数。  
デフォルト: 200 要求/秒  
`maxLocalRequestsPerSecondPerThing`  
(オプション) 接続された IoT モノごとに送信される 1 秒あたりのローカル IPC 要求の最大数。  
デフォルト: 1 件につき 20 要求/秒
これらのレート制限パラメータは、ローカルシャドウサービスの 1 秒あたりの最大要求数を定義します。 AWS IoT Device Shadow サービスに対する 1 秒あたりのリクエストの最大数は、 によって異なります AWS リージョン。詳細については、「*Amazon Web Services 全般のリファレンス*」の「[AWS IoT Device Shadow Service API](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits)」の制限を参照してください。

`shadowDocumentSizeLimitBytes`  <a name="shadow-manager-component-configuration-shadow-document-size-limit-bytes"></a>
(オプション) ローカルシャドウの各 JSON 状態ドキュメントの最大許容サイズ。  
この値を大きくすると、クラウドシャドウの JSON 状態ドキュメントのリソース制限も増やす必要があります。詳細については、「*Amazon Web Services 全般のリファレンス*」の「[AWS IoT Device Shadow Service API](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits)」の制限を参照してください。  
デフォルト: 8,192 バイト  
最大: 30720 バイト

**Example 例: 設定マージの更新**  
次の例は、シャドウマネージャーコンポーネントで利用可能なすべての設定パラメータを使用した設定マージ更新のサンプルを示しています。  

```
{
   "strategy":{
      "type":"periodic",
      "delay":300
   },
   "synchronize":{
      "shadowDocumentsMap":{
         "MyDevice1":{
            "classic":false,
            "namedShadows":[
               "MyShadowA",
               "MyShadowB"
            ]
         },
         "MyDevice2":{
            "classic":true,
            "namedShadows":[]
         }
      },
      "direction":"betweenDeviceAndCloud"
   },
   "rateLimits":{
      "maxOutboundSyncUpdatesPerSecond":100,
      "maxTotalLocalRequestsRate":200,
      "maxLocalRequestsPerSecondPerThing":20
   },
   "shadowDocumentSizeLimitBytes":8192
}
```

------
#### [ 2.1.x ]

`strategy`  <a name="shadow-manager-component-configuration-strategy"></a>
(オプション) このコンポーネントが AWS IoT Core とコアデバイスの間でシャドウを同期するために使用する戦略。  
このオブジェクトには、次の情報が含まれます。    
`type`  
(オプション) このコンポーネントが AWS IoT Core とコアデバイス間でシャドウを同期させるために使用する戦略のタイプ。次のオプションから選択します。  
+ `realTime` – シャドウの更新が発生する AWS IoT Core たびに、シャドウを と同期します。
+ `periodic` – `delay`設定パラメータ AWS IoT Core で指定した定期的な間隔でシャドウを と同期します。
デフォルト: `realTime`  
`delay`  
(オプション) `periodic` 同期戦略を指定した場合に、このコンポーネントがシャドウを AWS IoT Coreと同期する間隔 (秒単位)。  
`periodic` 同期戦略を指定する場合、このパラメータは必須です。

`synchronize`  <a name="shadow-manager-component-configuration-synchronize"></a>
<a name="shadow-manager-component-configuration-strategy-description"></a>(オプション) シャドウを AWS クラウドと同期する方法を決定する同期設定。  
シャドウを AWS クラウドと同期させるには、このプロパティを使用して設定アップデートを作成する必要があります。
このオブジェクトには、次の情報が含まれます。    
`coreThing`  <a name="shadow-manager-component-configuration-synchronize-core-thing"></a>
(オプション) 同期するコアデバイスシャドウ。このオブジェクトには、次の情報が含まれます。    
`classic`  
(オプション) デフォルトでは、シャドウマネージャーはコアデバイスのクラシックシャドウのローカル状態を AWS クラウドと同期させます。クラシックデバイスシャドウを同期しない場合は、これを `false` に設定します。  
デフォルト: `true`  
`namedShadows`  
(オプション) 同期する名前付きコアデバイスシャドウのリスト。シャドウの正確な名前を指定する必要があります。  
この AWS IoT Greengrass サービスは、`AWSManagedGreengrassV2Deployment`名前付きシャドウを使用して、個々のコアデバイスをターゲットとするデプロイを管理します。この名前付きシャドウは、 AWS IoT Greengrass サービスで使用するために予約されています。この名前付きシャドウを更新または削除しないでください。  
`shadowDocumentsMap`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents-map"></a>
(オプション) 同期する追加のデバイスシャドウ。この構成パラメータを使用すると、シャドウドキュメントの指定が簡単になります。`shadowDocuments` オブジェクトの代わりに、このパラメータを使用することをお勧めします。  
`shadowDocumentsMap` オブジェクトを指定する場合は、`shadowDocuments` オブジェクトを指定しないでください。
各オブジェクトには、次の情報が含まれます:    
*`thingName`*  
このシャドウ構成の *[thingName]* のシャドウ設定。    
`classic`  
(オプション) `thingName` デバイスのクラシックデバイスシャドウを同期しない場合は、これを `false` に設定します。  
`namedShadows`  
同期する名前付きシャドウのリスト。シャドウの正確な名前を指定する必要があります。  
`shadowDocuments`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents"></a>
(オプション) 同期する追加のデバイスシャドウのリスト。代わりに `shadowDocumentsMap` パラメータを使用することをお勧めします。  
`shadowDocuments` オブジェクトを指定する場合は、`shadowDocumentsMap` オブジェクトを指定しないでください。
このリストの各オブジェクトには、次の情報が含まれます。    
`thingName`  
シャドウを同期するデバイスのモノの名前。  
`classic`  
(オプション) `thingName` デバイスのクラシックデバイスシャドウを同期しない場合は、これを `false` に設定します。  
デフォルト: `true`  
`namedShadows`  
(オプション) 同期する名前付きデバイスシャドウのリスト。シャドウの正確な名前を指定する必要があります。

`rateLimits`  <a name="shadow-manager-component-configuration-rate-limits"></a>
(オプション) シャドウサービス要求のレート制限を決定する設定。  
このオブジェクトには、次の情報が含まれます。    
`maxOutboundSyncUpdatesPerSecond`  
(オプション) デバイスが送信する 1 秒あたりの同期要求の最大数。  
デフォルト: 100 要求/秒  
`maxTotalLocalRequestsRate`  
(オプション) コアデバイスに送信される 1 秒あたりのローカル IPC 要求の最大数。  
デフォルト: 200 要求/秒  
`maxLocalRequestsPerSecondPerThing`  
(オプション) 接続された IoT モノごとに送信される 1 秒あたりのローカル IPC 要求の最大数。  
デフォルト: 1 件につき 20 要求/秒
これらのレート制限パラメータは、ローカルシャドウサービスの 1 秒あたりの最大要求数を定義します。 AWS IoT Device Shadow サービスに対する 1 秒あたりのリクエストの最大数は、 によって異なります AWS リージョン。詳細については、「*Amazon Web Services 全般のリファレンス*」の「[AWS IoT Device Shadow Service API](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits)」の制限を参照してください。

`shadowDocumentSizeLimitBytes`  <a name="shadow-manager-component-configuration-shadow-document-size-limit-bytes"></a>
(オプション) ローカルシャドウの各 JSON 状態ドキュメントの最大許容サイズ。  
この値を大きくすると、クラウドシャドウの JSON 状態ドキュメントのリソース制限も増やす必要があります。詳細については、「*Amazon Web Services 全般のリファレンス*」の「[AWS IoT Device Shadow Service API](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits)」の制限を参照してください。  
デフォルト: 8,192 バイト  
最大: 30720 バイト

**Example 例: 設定マージの更新**  
次の例は、シャドウマネージャーコンポーネントで利用可能なすべての設定パラメータを使用した設定マージ更新のサンプルを示しています。  

```
{
   "strategy":{
      "type":"periodic",
      "delay":300
   },
   "synchronize":{
      "shadowDocumentsMap":{
         "MyDevice1":{
            "classic":false,
            "namedShadows":[
               "MyShadowA",
               "MyShadowB"
            ]
         },
         "MyDevice2":{
            "classic":true,
            "namedShadows":[]
         }
      },
      "direction":"betweenDeviceAndCloud"
   },
   "rateLimits":{
      "maxOutboundSyncUpdatesPerSecond":100,
      "maxTotalLocalRequestsRate":200,
      "maxLocalRequestsPerSecondPerThing":20
   },
   "shadowDocumentSizeLimitBytes":8192
}
```

------
#### [ 2.0.x ]

`synchronize`  <a name="shadow-manager-component-configuration-synchronize"></a>
<a name="shadow-manager-component-configuration-strategy-description"></a>(オプション) シャドウを AWS クラウドと同期する方法を決定する同期設定。  
シャドウを AWS クラウドと同期させるには、このプロパティを使用して設定アップデートを作成する必要があります。
このオブジェクトには、次の情報が含まれます。    
`coreThing`  <a name="shadow-manager-component-configuration-synchronize-core-thing"></a>
(オプション) 同期するコアデバイスシャドウ。このオブジェクトには、次の情報が含まれます。    
`classic`  
(オプション) デフォルトでは、シャドウマネージャーはコアデバイスのクラシックシャドウのローカル状態を AWS クラウドと同期させます。クラシックデバイスシャドウを同期しない場合は、これを `false` に設定します。  
デフォルト: `true`  
`namedShadows`  
(オプション) 同期する名前付きコアデバイスシャドウのリスト。シャドウの正確な名前を指定する必要があります。  
この AWS IoT Greengrass サービスは、`AWSManagedGreengrassV2Deployment`名前付きシャドウを使用して、個々のコアデバイスをターゲットとするデプロイを管理します。この名前付きシャドウは、 AWS IoT Greengrass サービスで使用するために予約されています。この名前付きシャドウを更新または削除しないでください。  
`shadowDocumentsMap`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents-map"></a>
(オプション) 同期する追加のデバイスシャドウ。この構成パラメータを使用すると、シャドウドキュメントの指定が簡単になります。`shadowDocuments` オブジェクトの代わりに、このパラメータを使用することをお勧めします。  
`shadowDocumentsMap` オブジェクトを指定する場合は、`shadowDocuments` オブジェクトを指定しないでください。
各オブジェクトには、次の情報が含まれます:    
*`thingName`*  
このシャドウ構成の *[thingName]* のシャドウ設定。    
`classic`  
(オプション) `thingName` デバイスのクラシックデバイスシャドウを同期しない場合は、これを `false` に設定します。  
`namedShadows`  
同期する名前付きシャドウのリスト。シャドウの正確な名前を指定する必要があります。  
`shadowDocuments`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents"></a>
(オプション) 同期する追加のデバイスシャドウのリスト。代わりに `shadowDocumentsMap` パラメータを使用することをお勧めします。  
`shadowDocuments` オブジェクトを指定する場合は、`shadowDocumentsMap` オブジェクトを指定しないでください。
このリストの各オブジェクトには、次の情報が含まれます。    
`thingName`  
シャドウを同期するデバイスのモノの名前。  
`classic`  
(オプション) `thingName` デバイスのクラシックデバイスシャドウを同期しない場合は、これを `false` に設定します。  
デフォルト: `true`  
`namedShadows`  
(オプション) 同期する名前付きデバイスシャドウのリスト。シャドウの正確な名前を指定する必要があります。

`rateLimits`  <a name="shadow-manager-component-configuration-rate-limits"></a>
(オプション) シャドウサービス要求のレート制限を決定する設定。  
このオブジェクトには、次の情報が含まれます。    
`maxOutboundSyncUpdatesPerSecond`  
(オプション) デバイスが送信する 1 秒あたりの同期要求の最大数。  
デフォルト: 100 要求/秒  
`maxTotalLocalRequestsRate`  
(オプション) コアデバイスに送信される 1 秒あたりのローカル IPC 要求の最大数。  
デフォルト: 200 要求/秒  
`maxLocalRequestsPerSecondPerThing`  
(オプション) 接続された IoT モノごとに送信される 1 秒あたりのローカル IPC 要求の最大数。  
デフォルト: 1 件につき 20 要求/秒
これらのレート制限パラメータは、ローカルシャドウサービスの 1 秒あたりの最大要求数を定義します。 AWS IoT Device Shadow サービスに対する 1 秒あたりのリクエストの最大数は、 によって異なります AWS リージョン。詳細については、「*Amazon Web Services 全般のリファレンス*」の「[AWS IoT Device Shadow Service API](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits)」の制限を参照してください。

`shadowDocumentSizeLimitBytes`  <a name="shadow-manager-component-configuration-shadow-document-size-limit-bytes"></a>
(オプション) ローカルシャドウの各 JSON 状態ドキュメントの最大許容サイズ。  
この値を大きくすると、クラウドシャドウの JSON 状態ドキュメントのリソース制限も増やす必要があります。詳細については、「*Amazon Web Services 全般のリファレンス*」の「[AWS IoT Device Shadow Service API](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits)」の制限を参照してください。  
デフォルト: 8,192 バイト  
最大: 30720 バイト

**Example 例: 設定マージの更新**  
次の例は、シャドウマネージャーコンポーネントで利用可能なすべての設定パラメータを使用した設定マージ更新のサンプルを示しています。  

```
{
  "synchronize": {
    "coreThing": {
      "classic": true,
      "namedShadows": [
        "MyCoreShadowA",
        "MyCoreShadowB"
      ]
    },
    "shadowDocuments": [
      {
        "thingName": "MyDevice1",
        "classic": false,
        "namedShadows": [
          "MyShadowA",
          "MyShadowB"
        ]
      },
      {
        "thingName": "MyDevice2",
        "classic": true,
        "namedShadows": []
      }
    ]
  },
  "rateLimits": {       
    "maxOutboundSyncUpdatesPerSecond": 100,
    "maxTotalLocalRequestsRate": 200,
    "maxLocalRequestsPerSecondPerThing": 20
  },
  "shadowDocumentSizeLimitBytes": 8192
}
```

------

## ローカルログファイル
<a name="shadow-manager-component-log-file"></a>

このコンポーネントは、[Greengrass nucleus](greengrass-nucleus-component.md) コンポーネントと同じログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="shadow-manager-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  バージョン  |  変更  | 
| --- | --- | 
|  2.3.13  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.12  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.11  | Greengrass nucleus バージョン 2.15.0 リリース用にバージョンが更新されました。 | 
|  2.3.10  | Greengrass nucleus バージョン 2.14.0 リリース用にバージョンが更新されました。 | 
|  2.3.9  | Greengrass nucleus バージョン 2.13.0 のリリース用にバージョンが更新されました。 | 
|  2.3.8  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.7  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.6  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.5  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.3.4  |  <a name="changelog-shadow-manager-2.3.4"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/shadow-manager-component.html)  | 
|  2.3.3  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.3.2  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.1  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.0  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.2.4  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.2.3  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.2.2  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.2.1  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.2.0  |  <a name="changelog-shadow-manager-2.2.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/shadow-manager-component.html)  | 
|  2.1.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/shadow-manager-component.html)  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/shadow-manager-component.html)  | 
|  2.0.6  |  このバージョンには、バグ修正と機能向上が含まれています。  | 
|  2.0.5  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  2.0.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/shadow-manager-component.html)  | 
|  2.0.3  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.0.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/shadow-manager-component.html)  | 
|  2.0.1  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.0.0  |  当初のバージョン  | 

# Amazon SNS
<a name="sns-component"></a>

Amazon SNS コンポーネント (`aws.greengrass.SNS`) は、Amazon Simple Notification Service (Amazon SNS) トピックにメッセージを公開します。このコンポーネントを使用して、Greengrass コアデバイスから Web サーバー、E メールアドレス、その他のメッセージサブスクライバーにイベントを送信できます。詳細については、「*Amazon Simple Notification Service デベロッパーガイド*」の「[Amazon SNS とは](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)」を参照してください。

このコンポーネントを使用して Amazon SNS トピックに公開するには、このコンポーネントがサブスクライブしているトピックにメッセージを公開します。デフォルトでは、このコンポーネントは `sns/message` [ローカルパブリッシュ/サブスクライブ](ipc-publish-subscribe.md)トピックにサブスクライブします。このコンポーネントをデプロイするときに、 AWS IoT Core MQTT トピックを含む他のトピックを指定できます。

カスタムコンポーネントでは、このコンポーネントに公開する前に、他のソースからのメッセージを処理するために、フィルタリングまたは書式設定ロジックを実装することができます。これにより、メッセージ処理ロジックを 1 つのコンポーネントに一元化できます。

**注記**  
このコンポーネントは、 AWS IoT Greengrass V1 の Amazon SNS コネクタと同様の機能を提供します。詳細については、「AWS IoT Greengrass デベロッパーガイド」の「[[Amazon SNS connector]](https://docs.aws.amazon.com/greengrass/latest/developerguide/sns-connector.html) (Amazon SNS コネクタ)」を参照してください。

**Topics**
+ [バージョン](#sns-component-versions)
+ [タイプ](#sns-component-type)
+ [オペレーティングシステム](#sns-component-os-support)
+ [要件](#sns-component-requirements)
+ [依存関係](#sns-component-dependencies)
+ [設定](#sns-component-configuration)
+ [入力データ](#sns-component-input-data)
+ [出力データ](#sns-component-output-data)
+ [ローカルログファイル](#sns-component-log-file)
+ [ライセンス](#sns-component-licenses)
+ [変更ログ](#sns-component-changelog)

## バージョン
<a name="sns-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.1.x
+ 2.0.x

## タイプ
<a name="sns-component-type"></a>

<a name="public-component-type-lambda"></a>この<a name="public-component-type-lambda-phrase"></a>コンポーネントは Lambda コンポーネントです (`aws.greengrass.lambda`)。[Greengrass nucleus](greengrass-nucleus-component.md) は、[Lambda ランチャーコンポーネント](lambda-launcher-component.md)を使用してこのコンポーネントの Lambda 関数を実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="sns-component-os-support"></a>

このコンポーネントは、Linux コアデバイスにのみインストールできます。

## 要件
<a name="sns-component-requirements"></a>

このコンポーネントには次の要件があります。
+ <a name="core-device-lambda-function-requirements"></a>コアデバイスは、Lambda 関数を実行するための要件を満たしている必要があります。コアデバイスが、コンテナ化された Lambda 関数を実行させる場合、そのデバイスは要件を満たす必要があります。詳細については、「[Lambda 関数の要件](setting-up.md#greengrass-v2-lambda-requirements)」を参照してください。
+ <a name="public-component-python3-requirement"></a>[Python](https://www.python.org/) バージョン 3.7 がコアデバイスにインストールされ、PATH 環境変数に追加されています。
+ Amazon SNS トピック 詳細については、[Amazon Simple 通知サービス デベロッパーガイド](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html)の「*Amazon SNS トピックの作成*」を参照してください。
+ 次の IAM ポリシーの例で示されているように、[Greengrass デバイスのロール](device-service-role.md)は `sns:Publish` アクションを許可する必要があります。

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

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "sns:Publish"
        ],
        "Effect": "Allow",
        "Resource": [
          "arn:aws:sns:us-east-1:123456789012:topic-name"
        ]
      }
    ]
  }
  ```

------

  このコンポーネントの入力メッセージペイロードのデフォルトトピックを動的にオーバーライドできます。アプリケーションでこの機能を使用する場合、IAM ポリシーにはすべてのターゲットトピックをリソースとして含める必要があります。リソースにきめ細かいアクセス権限または条件付きアクセス権限を付与できます (たとえば、ワイルドカード `*` 命名スキームを使用)。
+ <a name="connector-component-legacy-subscription-router-dependency"></a>このコンポーネントから出力データを受信するには、このコンポーネントをデプロイするときに、次の設定更新プログラムを[レガシーサブスクリプションルーターのコンポーネント](legacy-subscription-router-component.md) (`aws.greengrass.LegacySubscriptionRouter`) のためにマージする必要があります。この設定は、このコンポーネントがレスポンスを公開するトピックを指定します。

------
#### [ Legacy subscription router v2.1.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-sns": {
        "id": "aws-greengrass-sns",
        "source": "component:aws.greengrass.SNS",
        "subject": "sns/message/status",
        "target": "cloud"
      }
    }
  }
  ```

------
#### [ Legacy subscription router v2.0.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-sns": {
        "id": "aws-greengrass-sns",
        "source": "arn:aws:lambda:region:aws:function:aws-greengrass-sns:version",
        "subject": "sns/message/status",
        "target": "cloud"
      }
    }
  }
  ```<a name="connector-component-legacy-subscription-router-dependency-replace"></a>
  + *region* AWS リージョン を、使用する に置き換えます。
  + *バージョン*を、このコンポーネントが実行する Lambda 関数のバージョンに置き換えます。Lambda 関数のバージョンを確認するには、デプロイするこのコンポーネントのバージョンの recipe を確認する必要があります。[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)で、このコンポーネントの詳細ページを開き、**[Lambda function]** (Lambda 関数) の key-value ペアを見つけます。このキー値のペアには、Lambda 関数の名前とバージョンが含まれます。

**重要**  <a name="connector-component-legacy-subscription-router-dependency-note"></a>
このコンポーネントをデプロイするたびに、レガシーサブスクリプションルーターの Lambda 関数のバージョンを更新する必要があります。これにより、デプロイするコンポーネントバージョンに正しい Lambda 関数のバージョンが使用されることが保証されます。

------

  <a name="connector-component-create-deployments"></a>詳細については、「[デプロイの作成](create-deployments.md)」を参照してください。
+ Amazon SNS コンポーネントは、VPC での実行がサポートされています。このコンポーネントを VPC にデプロイするには、以下が必要です。
  + Amazon SNS コンポーネントには、VPC エンドポイントが `com.amazonaws.us-east-1.sns` である `sns.region.amazonaws.com` への接続が必要です。

### エンドポイントおよびポート
<a name="sns-component-endpoints"></a>

このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。


| Endpoint | ポート | 必要 | 説明 | 
| --- | --- | --- | --- | 
|  `sns.region.amazonaws.com`  | 443 | はい |  Amazon SNS にメッセージを公開します。  | 

## 依存関係
<a name="sns-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#sns-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.1.10 ]

次の表に、このコンポーネントのバージョン 2.1.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.16.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.9 ]

次の表に、このコンポーネントのバージョン 2.1.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.15.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.8 ]

次の表に、このコンポーネントのバージョン 2.1.8 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.14.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.7 ]

次の表に、このコンポーネントのバージョン 2.1.7 に関する依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.6 ]

次の表に、このコンポーネントのバージョン 2.1.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.5 ]

次の表に、このコンポーネントのバージョン 2.1.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.4 ]

次の表に、このコンポーネントのバージョン 2.1.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.3 ]

次の表に、このコンポーネントのバージョン 2.1.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.2 ]

次の表に、このコンポーネントのバージョン 2.1.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.8 - 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.0.8 および 2.1.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.7 ]

次の表に、このコンポーネントのバージョン 2.0.7 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.6 ]

次の表に、このコンポーネントのバージョン 2.0.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.5 ]

次の表に、このコンポーネントのバージョン 2.0.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.4 ]

次の表に、このコンポーネントのバージョン 2.0.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | ^2.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | ^2.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | ^2.0.0  | ハード | 

------
#### [ 2.0.3 ]

次の表に、このコンポーネントのバージョン 2.0.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.3 <2.1.0  | ハード | 
| [Lambda ランチャー](lambda-launcher-component.md) | >=1.0.0  | ハード | 
| [Lambda ランタイム](lambda-runtimes-component.md) | >=1.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) | >=1.0.0  | ハード | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 設定
<a name="sns-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

**注記**  <a name="connector-component-lambda-parameters"></a>
このコンポーネントのデフォルト設定には、Lambda 関数のパラメータが含まれます。デバイスにこのコンポーネントを設定するには、次のパラメータのみを編集することをお勧めします。

`lambdaParams`  
このコンポーネントの Lambda 関数のパラメータを含むオブジェクト。このオブジェクトには、次の情報が含まれます。    
`EnvironmentVariables`  
Lambda 関数のパラメータを含むオブジェクト。このオブジェクトには、次の情報が含まれます。    
`DEFAULT_SNS_ARN`  
このコンポーネントがメッセージを公開するデフォルトの Amazon SNS トピックの ARN。入力メッセージペイロードの `sns_topic_arn` プロパティを使用して、宛先トピックをオーバーライドできます。

`containerMode`  <a name="connector-component-container-mode-parameter"></a>
(オプション) このコンポーネントのコンテナ化モード。次のオプションから選択します。  <a name="lambda-function-component-container-mode-parameter"></a>
+ `NoContainer` - コンポーネントは、分離されたランタイム環境では実行されません。
+ `GreengrassContainer` – コンポーネントは、 AWS IoT Greengrass コンテナ内の分離されたランタイム環境で実行されます。
デフォルト: `GreengrassContainer`

`containerParams`  
<a name="connector-component-container-params-description"></a>(オプション) このコンポーネントのコンテナパラメータを含むオブジェクト。`containerMode` の `GreengrassContainer` を指定した場合、コンポーネントはこれらのパラメータを使用します。  
このオブジェクトには、次の情報が含まれます。    
`memorySize`  
<a name="connector-component-container-params-memory-size-description"></a>(オプション) コンポーネントに割り当てるメモリ量 (KB 単位)。  
デフォルトは 512 MB (525,312 KB) です。

`pubsubTopics`  <a name="connector-component-pubsub-topics-parameter"></a>
(オプション) コンポーネントがメッセージを受信するためにサブスクライブするトピックを含むオブジェクト。各トピックと、コンポーネントが から MQTT トピックをサブスクライブするか、ローカルのパブリッシュ/サブスクライブトピックをサブスクライブ AWS IoT Core するかを指定できます。  
このオブジェクトには、次の情報が含まれます。    
`0` - これは文字列としての配列インデックスです。  
次の情報が含まれるオブジェクト。    
`type`  
(オプション) このコンポーネントがメッセージをサブスクライブするために使用するパブリッシュ/サブスクライブメッセージングのタイプ。次のオプションから選択します。  
+ `PUB_SUB` - ローカルのパブリッシュ/サブスクライブメッセージをサブスクライブします。このオプションを選択した場合、トピックに MQTT ワイルドカードを含めることはできません。このオプションを指定したときに、カスタムコンポーネントからメッセージを送信する方法の詳細については、「[ローカルメッセージをパブリッシュ/サブスクライブする](ipc-publish-subscribe.md)」を参照してください。
+ `IOT_CORE` – AWS IoT Core MQTT メッセージをサブスクライブします。このオプションを選択した場合、トピックに MQTT ワイルドカードを含めることができます。このオプションを指定したときに、カスタムコンポーネントからメッセージを送信する方法の詳細については、「[AWS IoT Core MQTT メッセージを発行/サブスクライブする](ipc-iot-core-mqtt.md)」を参照してください。
デフォルト: `PUB_SUB`  
`topic`  
(オプション) コンポーネントがメッセージを受信するためにサブスクライブするトピック。`type` の `IotCore` を指定した場合、このトピックで MQTT ワイルドカード (`+` および `#`) を使用できます。

**Example 例: 設定マージの更新 (コンテナモード)**  

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "DEFAULT_SNS_ARN": "arn:aws:sns:us-west-2:123456789012:mytopic"
    }
  },
  "containerMode": "GreengrassContainer"
}
```

**Example 例: 設定マージの更新 (コンテナモードなし)**  

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "DEFAULT_SNS_ARN": "arn:aws:sns:us-west-2:123456789012:mytopic"
    }
  },
  "containerMode": "NoContainer"
}
```

## 入力データ
<a name="sns-component-input-data"></a>

このコンポーネントは、次のトピックに関するメッセージを受け取り、その情報をそのままターゲット Amazon SNS トピックに公開します。<a name="connector-component-local-publish"></a>デフォルトで、このコンポーネントはローカルのパブリッシュ/サブスクライブメッセージにサブスクライブします。カスタムコンポーネントからこのコンポーネントにメッセージをパブリッシュする方法の詳細については、「[ローカルメッセージをパブリッシュ/サブスクライブする](ipc-publish-subscribe.md)」を参照してください。

**デフォルトトピック (ローカルパブリッシュ/サブスクライブ):** `sns/message`

<a name="connector-component-input-properties"></a>メッセージは、次のプロパティを受付けます。入力メッセージは JSON 形式である必要があります。

`request`  
Amazon SNS トピックに送信するメッセージに関する情報。  
タイプ: 次の情報が含まれる `object`。    
`message`  
文字列としてのメッセージの内容。  
JSON オブジェクトを送信するには、JSON オブジェクトを文字列としてシリアル化し、`message_structure` プロパティに `json` を指定します。  
型: `string`  
`subject`  
(オプション) メッセージの件名  
型: `string`  
件名は ASCII テキストで、最大 100 文字です。文字、数字、または句読点で始まる必要があります。改行や制御文字を含めることはできません。  
`sns_topic_arn`  
(オプション) このコンポーネントがメッセージを公開する Amazon SNS トピックの ARN。デフォルトの Amazon SNS トピックをオーバーライドするには、このプロパティを指定します。  
型: `string`  
`message_structure`  
(オプション) メッセージの構造。`content` プロパティで文字列としてシリアル化する JSON メッセージを送信するには、`json` を指定します。  
型: `string`  
有効な値: `json`

`id`  <a name="connector-component-input-property-id"></a>
リクエストの任意の ID。このプロパティを使用して、入力リクエストを出力レスポンスにマッピングします。このプロパティを指定するとき、コンポーネントはこの値に対してレスポンスオブジェクトの `id` プロパティを設定します。  
型: `string`

**注記**  
メッセージサイズは最大 256 KB です。

**Example 入力例: 文字列メッセージ**  

```
{
  "request": {
    "subject": "Message subject",
    "message": "Message data",
    "sns_topic_arn": "arn:aws:sns:region:account-id:topic2-name"
  },
  "id": "request123"
}
```

**Example 入力例: JSON メッセージ**  

```
{
  "request": {
    "subject": "Message subject",
    "message": "{ \"default\": \"Message data\" }",
    "message_structure": "json"
  },
  "id": "request123"
}
```

## 出力データ
<a name="sns-component-output-data"></a>

 <a name="connector-component-output-data"></a>このコンポーネントは、デフォルトで次の MQTT トピックに出力データとしてレスポンスを公開します。このトピックは、[[legacy subscription router component]](legacy-subscription-router-component.md) (レガシーサブスクリプションルーターコンポーネント) の設定で `subject` として指定する必要があります。カスタムコンポーネントでこのトピックに関するメッセージへサブスクライブする方法の詳細については、「[AWS IoT Core MQTT メッセージを発行/サブスクライブする](ipc-iot-core-mqtt.md)」を参照してください。

**デフォルトトピック (AWS IoT Core MQTT):** `sns/message/status`

**Example 出力例: 成功**  

```
{
  "response": {
    "sns_message_id": "f80a81bc-f44c-56f2-a0f0-d5af6a727c8a",
    "status": "success"
  },
  "id": "request123"
}
```

**Example 出力例: 失敗**  

```
{
  "response" : {
    "error": "InvalidInputException",
    "error_message": "SNS Topic Arn is invalid",
    "status": "fail"
  },
  "id": "request123"
}
```

## ローカルログファイル
<a name="sns-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

```
/greengrass/v2/logs/aws.greengrass.SNS.log
```

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。を AWS IoT Greengrass ルートフォルダへのパス`/greengrass/v2`に置き換えます。

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.SNS.log
  ```

## ライセンス
<a name="sns-component-licenses"></a>

このコンポーネントには、次のサードパーティーソフトウェア/ライセンス品が含まれています。<a name="boto-3-licenses"></a>
+ [AWS SDK for Python (Boto3)](https://pypi.org/project/boto3/)/Apache License 2.0
+ [botocore](https://pypi.org/project/botocore/)/Apache License 2.0
+ [dateutil](https://pypi.org/project/python-dateutil/1.4/)/PSF ライセンス
+ [docutils](https://pypi.org/project/docutils/)/BSD ライセンス、GNU 一般パブリックライセンス (GPL)、Python Software Foundation ライセンス、パブリックドメイン
+ [jmespath](https://pypi.org/project/jmespath/)/MIT ライセンス
+ [s3transfer](https://pypi.org/project/s3transfer/)/Apache License 2.0
+ [urllib3](https://pypi.org/project/urllib3/)/MIT ライセンス

<a name="component-core-software-license"></a>このコンポーネントは、[Greengrass Core ソフトウェアライセンス契約](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)に従ってリリースされています。

## 変更ログ
<a name="sns-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.1.10  | Greengrass nucleus バージョン 2.15.0 リリース用にバージョンが更新されました。 | 
|  2.1.9  | Greengrass nucleus バージョン 2.14.0 リリース用にバージョンが更新されました。 | 
|  2.1.8  | Greengrass nucleus バージョン 2.13.0 のリリース用にバージョンが更新されました。 | 
|  2.1.7  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.1.6  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.1.5  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.1.4  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.1.3  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.1.2  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.1.1  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/sns-component.html)  | 
|  2.0.8  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  2.0.7  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.0.6  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.0.5  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.0.4  |  Greengrass nucleus バージョン 2.1.0 のリリース用にバージョンが更新されました。  | 
|  2.0.3  |  当初のバージョン  | 

# ストリームマネージャー
<a name="stream-manager-component"></a>

ストリームマネージャーコンポーネント (`aws.greengrass.StreamManager`) を使用すると、データストリームを処理して AWS クラウド Greengrass コアデバイスから に転送できます。

カスタムコンポーネントでストリームマネージャーを設定して使用する方法の詳細については、「[Greengrass コアデバイスでのデータストリームの管理](manage-data-streams.md)」を参照してください。

**Topics**
+ [バージョン](#stream-manager-component-versions)
+ [タイプ](#stream-manager-component-type)
+ [オペレーティングシステム](#stream-manager-component-os-support)
+ [要件](#stream-manager-component-requirements)
+ [依存関係](#stream-manager-component-dependencies)
+ [構成](#stream-manager-component-configuration)
+ [ローカルログファイル](#stream-manager-component-log-file)
+ [変更ログ](#stream-manager-component-changelog)

## バージョン
<a name="stream-manager-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.2.x
+ 2.1.x
+ 2.0.x

**注記**  <a name="stream-manager-upgrade-note"></a>
ストリームマネージャーを使用してデータをクラウドにエクスポートする場合、ストリームマネージャーコンポーネントのバージョン 2.0.7 を v2.0.8 と v2.0.11 の間のバージョンにアップグレードすることはできません。ストリームマネージャーを初めてデプロイする場合、ストリームマネージャーコンポーネントの最新バージョンをデプロイすることを強くお勧めします。

## タイプ
<a name="stream-manager-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="stream-manager-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 要件
<a name="stream-manager-component-requirements"></a>

このコンポーネントには次の要件があります。
+ [トークン交換ロール](device-service-role.md)は、ストリームマネージャーで使用する AWS クラウド 送信先へのアクセスを許可する必要があります。詳細については、以下を参照してください。<a name="export-destinations-links"></a>
  + [AWS IoT Analytics チャネル](stream-export-configurations.md#export-to-iot-analytics)
  + [Amazon Kinesis Data Streams](stream-export-configurations.md#export-to-kinesis)
  + [AWS IoT SiteWise アセットプロパティ](stream-export-configurations.md#export-to-iot-sitewise)
  + [Amazon S3 オブジェクト](stream-export-configurations.md#export-to-s3)
+ ストリームマネージャーコンポーネントは、VPC での実行がサポートされています。このコンポーネントを VPC にデプロイするには、以下が必要です。
  + ストリームマネージャーコンポーネントには、データを発行する AWS サービスへの接続が必要です。
    + Amazon S3: `com.amazonaws.region.s3`
    + Amazon Kinesis Data Streams: `com.amazonaws.region.kinesis-streams`
    + AWS IoT SiteWise: `com.amazonaws.region.iotsitewise.data`
  + `us-east-1` リージョンの Amazon S3 にデータを公開する場合、このコンポーネントはデフォルトで S3 グローバルエンドポイントの使用を試みますが、このエンドポイントは Amazon S3 VPC インターフェイスエンドポイント経由では使用できません。詳細については、[Amazon S3の の制限と制限 AWS PrivateLink](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html#privatelink-limitations)」を参照してください。これを解決するために、以下のオプションから選択できます。
    + `JVM_ARGS` で `-Daws.s3UseUsEast1RegionalEndpoint=regional` を設定して、`us-east-1` リージョン内のリージョン S3 エンドポイントを使用するようにストリームマネージャーコンポーネントを設定します。
    + Amazon S3 インターフェイス VPC エンドポイントの代わりに Amazon S3 ゲートウェイ VPC エンドポイントを作成します。S3 ゲートウェイエンドポイントは、S3 グローバルエンドポイントへのアクセスをサポートします。詳細については、「[Create a gateway endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#create-gateway-endpoint-s3)」を参照してください。

### エンドポイントおよびポート
<a name="stream-manager-component-endpoints"></a>

このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。


| Endpoint | ポート | 必要 | 説明 | 
| --- | --- | --- | --- | 
|  `iotanalytics.region.amazonaws.com`  | 443 | いいえ |  データを発行する場合は必須です AWS IoT Analytics。  | 
|  `kinesis.region.amazonaws.com`  | 443 | いいえ |  Firehose にデータを公開する場合に必要です。  | 
|  `data.iotsitewise.region.amazonaws.com`  | 443 | いいえ |  データを発行する場合は必須です AWS IoT SiteWise。  | 
|  `*.s3.amazonaws.com`  | 443 | いいえ |  S3 バケットにデータを公開する場合に必要です。 `*` は、データを公開する各バケットの名前に置き換えることができます。  | 

## 依存関係
<a name="stream-manager-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#stream-manager-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.1.3 – 2.2.1 ]

次の表に、このコンポーネントのバージョン 2.1.3 から 2.2.1 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <3.0.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) |  >=0.0.0  | ハード | 

------
#### [ 2.1.11 – 2.1.12 ]

次の表に、このコンポーネントのバージョン 2.1.11 から 2.1.10 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.13.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) |  >=0.0.0  | ハード | 

------
#### [ 2.1.9 – 2.1.10 ]

次の表に、このコンポーネントのバージョン 2.1.9 から 2.1.10 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.12.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) |  >=0.0.0  | ハード | 

------
#### [ 2.1.5 – 2.1.8 ]

次の表に、このコンポーネントのバージョン 2.1.5 から 2.1.8 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.11.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) |  >=0.0.0  | ハード | 

------
#### [ 2.1.2 – 2.1.4 ]

次の表に、このコンポーネントのバージョン 2.1.2 から 2.1.4 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.10.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) |  >=0.0.0  | ハード | 

------
#### [ 2.1.1 ]

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.9.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) |  >=0.0.0  | ハード | 

------
#### [ 2.1.0 ]

次の表に、このコンポーネントのバージョン 2.1.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.8.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) |  >=0.0.0  | ハード | 

------
#### [ 2.0.15 ]

次の表に、このコンポーネントのバージョン 2.0.15 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.7.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) |  >=0.0.0  | ハード | 

------
#### [ 2.0.13 and 2.0.14 ]

次の表に、このコンポーネントのバージョン 2.0.13 および 2.0.14 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.6.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) |  >=0.0.0  | ハード | 

------
#### [ 2.0.11 and 2.0.12 ]

次の表に、このコンポーネントのバージョン 2.0.11 および 2.0.12 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.5.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) |  >=0.0.0  | ハード | 

------
#### [ 2.0.10 ]

次の表に、このコンポーネントのバージョン 2.0.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.4.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) |  >=0.0.0  | ハード | 

------
#### [ 2.0.9 ]

次の表に、このコンポーネントのバージョン 2.0.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.3.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) |  >=0.0.0  | ハード | 

------
#### [ 2.0.8 ]

次の表に、このコンポーネントのバージョン 2.0.8 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.2.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) |  >=0.0.0  | ハード | 

------
#### [ 2.0.7 ]

次の表に、このコンポーネントのバージョン 2.0.7 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.3 <2.1.0  | ソフト | 
| [トークン交換サービス](token-exchange-service-component.md) |  >=0.0.0  | ハード | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 構成
<a name="stream-manager-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

`STREAM_MANAGER_STORE_ROOT_DIR`  
(オプション) ストリームを保存するために使用されるローカルディレクトリの絶対パス。この値は、スラッシュ (`/data` など) で開始する必要があります。  
<a name="stream-manager-store-root-dir-parameter-folder-requirements"></a>既存のフォルダを指定する必要があります。[ストリームマネージャーコンポーネントを実行するシステムユーザー](configure-greengrass-core-v2.md#configure-component-user)には、このフォルダに対する読み取りと書き込み許可が必要です。例えば、次のコマンドを実行して、ストリームマネージャーのルートフォルダとして指定するフォルダ `/var/greengrass/streams` を作成および設定できます。これらのコマンドは、デフォルトのシステムユーザーである `ggc_user` が、このフォルダを読み取りおよび書き込みできるようにします。  

```
sudo mkdir /var/greengrass/streams
sudo chown ggc_user /var/greengrass/streams
sudo chmod 700 /var/greengrass/streams
```
デフォルト: `/greengrass/v2/work/aws.greengrass.StreamManager`

`STREAM_MANAGER_SERVER_PORT`  
(オプション) ストリームマネージャーとの通信に使用するローカルポート番号。  
`0` を指定して、ランダムに利用可能なポートを利用できます。  
デフォルト: `8088`

`STREAM_MANAGER_AUTHENTICATE_CLIENT`  
(オプション) クライアントがストリームマネージャーとやり取りする前に、クライアントの認証を必須にできます。ストリームマネージャー SDK は、クライアントとストリームマネージャー間の相互作用を制御します。このパラメータは、ストリームを操作するためにストリームマネージャー SDK を呼び出すことができるクライアントを決定します。詳細については、「[ストリームマネージャークライアント認証](manage-data-streams.md#stream-manager-security-client-authentication)」を参照してください。  
`true` を指定した場合、ストリームマネージャー SDK では Greengrass コンポーネントのみをクライアントとして許可します。  
`false` を指定した場合、ストリームマネージャー SDK では、コアデバイスのすべてのプロセスをクライアントにすることができます。  
デフォルト: `true`

`STREAM_MANAGER_EXPORTER_MAX_BANDWIDTH`  
(オプション) ストリームマネージャーがデータのエクスポートに使用できる平均最大帯域幅 (KB/s) 。  
デフォルト: 無制限

`STREAM_MANAGER_EXPORTER_THREAD_POOL_SIZE`  
(オプション) ストリームマネージャーがデータのエクスポートに使用できるアクティブなスレッドの最大数。  
最適なサイズは、ハードウェア、ストリームボリューム、予定されているエクスポートストリームの数によって異なります。エクスポート速度が遅い場合は、この設定を調整して、ハードウェアとビジネスケースに最適なサイズを見つけることができます。コアデバイスハードウェアの CPU とメモリは、制限要因です。開始するには、この値をデバイスのプロセッサコアの数と同じ値に設定してみてください。  
ハードウェアがサポートできるサイズよりも大きいサイズを設定しないように注意してください。各ストリームはハードウェアリソースを消費するため、制約のあるデバイス上ではエクスポートストリームの数を制限する必要があります。  
デフォルト: 5 スレッド

`STREAM_MANAGER_EXPORTER_S3_DESTINATION_MULTIPART_UPLOAD_MIN_PART_SIZE_BYTES`  
(オプション) Amazon S3 にマルチパートアップロードのパートの最小サイズ (バイト単位)。ストリームマネージャーはこの設定と入力ファイルのサイズを基に、マルチパート PUT リクエストのデータをバッチ処理する方法を決定します。  
ストリームマネージャーは、ストリーム `sizeThresholdForMultipartUploadBytes` プロパティを使用して、Amazon S3 にシングルまたはマルチパートのアップロードとしてエクスポートするかどうかを決定します。 AWS IoT Greengrass コンポーネントは、Amazon S3 にエクスポートするストリームを作成するときに、このしきい値を設定できます。
デフォルト: `5242880` (5 MB)。これも最小値です。

`LOG_LEVEL`  
(オプション) コンポーネントのログレベル。こちらにレベル順に一覧表示されているログレベルから選択します。  
+ `TRACE`
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
デフォルト: `INFO`

`JVM_ARGS`  
(オプション) 起動時にストリームマネージャーに渡すカスタム Java 仮想マシン引数。複数の引数はスペースで区切ります。  
このパラメータは、JVM で使用されるデフォルト設定を上書きする必要がある場合にのみ使用します。例えば、大量のストリームをエクスポートする場合は、デフォルトのヒープサイズを大きくする必要があります。

`startupTimeoutSeconds`  
(オプション) コンポーネントが起動する最大時間 (秒)。このタイムアウトを超えている場合、コンポーネントの状態が `ERRORED` に変わります。  
デフォルト: `120`

**Example 例: 設定マージの更新**  
次の設定例では、デフォルト以外のポートを使用するように指定しています。  

```
{
  "STREAM_MANAGER_SERVER_PORT": "18088"
}
```

## ローカルログファイル
<a name="stream-manager-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.StreamManager.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.StreamManager.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.StreamManager.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.StreamManager.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="stream-manager-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.2.1  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/stream-manager-component.html) | 
|  2.2.0  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/stream-manager-component.html) | 
|  2.1.13  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/stream-manager-component.html) | 
|  2.1.12  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/stream-manager-component.html) | 
|  2.1.11  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.1.10  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.9  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.1.8  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.7  |  <a name="changelog-stream-manager-2.1.7"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.6  |  <a name="changelog-stream-manager-2.1.6"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.5  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.1.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.1  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.0.15  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.0.14  |  このバージョンには、バグ修正と機能向上が含まれています。  | 
|  2.0.13  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
| 2.0.12 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.0.11  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.0.10  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.0.9  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.0.8  |  Greengrass nucleus バージョン 2.1.0 のリリース用にバージョンが更新されました。  | 
|  2.0.7  |  当初のバージョン  | 

# システムログフォワーダー
<a name="system-log-forwarder-component"></a>

システムログフォワーダー (`aws.greengrass.SystemLogForwarder`) は、CloudWatch HTTPS API を使用してアクティブなシステムログを Amazon CloudWatch に直接アップロードします。

**重要**  
このコンポーネントは、ランタイム中に生成された systemd-journald ログのみを転送します。systemd-journald ログの詳細については、「[systemd-journald ](https://www.freedesktop.org/software/systemd/man/latest/systemd-journald.service.html)」および「[journalctl](https://www.freedesktop.org/software/systemd/man/latest/journalctl.html#)」を参照してください。

**注記**  
このコンポーネントには、CloudWatch ロググループとストリームを作成および管理するための特定のアクセス許可が必要です。

**Topics**
+ [バージョン](#system-log-forwarder-component-versions)
+ [タイプ](#system-log-forwarder-component-type)
+ [オペレーティングシステム](#system-log-forwarder-component-os-support)
+ [要件](#system-log-forwarder-component-requirements)
+ [エンドポイントおよびポート](#system-log-forwarder-component-endpoints)
+ [依存関係](#system-log-forwarder-component-dependencies)
+ [設定](#system-log-forwarder-component-configuration)
+ [変更ログ](#system-log-forwarder-component-changelog)

## バージョン
<a name="system-log-forwarder-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.1.x
+ 2.0.x

## タイプ
<a name="system-log-forwarder-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="system-log-forwarder-component-os-support"></a>

このコンポーネントは、systemd ベースの Linux システムにインストールする必要があります。

## 要件
<a name="system-log-forwarder-component-requirements"></a>

このコンポーネントには次の要件があります。

コンポーネントには、CloudWatch でロググループとストリームグループを作成するためのアクセスと、PutLogEvents HTTP コールを実行するためのアクセス許可が必要です。少なくとも、Greengrass デバイスのロールエイリアスに以下のポリシーアクセス許可を追加する必要があります。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
      "Effect": "Allow",
      "Action": ["logs:CreateLogGroup"],
      "Resource": "arn:aws:logs:us-east-1:111122223333:log-group:greengrass/systemLogs:*"
    },
    {
      "Effect": "Allow",
      "Action": ["logs:CreateLogStream", "logs:PutLogEvents"],
      "Resource": "arn:aws:logs:us-east-1:111122223333:log-group:greengrass/systemLogs:log-stream:${credentials-iot:ThingName}"
    }
  ]
}
```

------

**注記**  
詳細については、「System Log Forwarder」[Github](https://github.com/aws-greengrass/aws-greengrass-system-log-forwarder) ページを参照してください。

## エンドポイントおよびポート
<a name="system-log-forwarder-component-endpoints"></a>

このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。


| Endpoint | ポート | 必要 | 説明 | 
| --- | --- | --- | --- | 
|  `logs.region.amazonaws.com`  | 443 | 不可 |  ログを CloudWatch Logs に書き込む場合に必要です。  | 

## 依存関係
<a name="system-log-forwarder-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#system-log-forwarder-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.1.x ]

次の表に、このコンポーネントのバージョン 2.1.x の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [トークン交換サービス](token-exchange-service-component.md) | >=2.0.0 | ハード | 
| [Greengrass nucleus lite](greengrass-nucleus-lite-component.md) | >=2.3.0 | ソフト | 

------
#### [ 2.0.x ]

次の表に、このコンポーネントのバージョン 2.0.x の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [トークン交換サービス](token-exchange-service-component.md) | >=2.0.0 | ハード | 

------

## 設定
<a name="system-log-forwarder-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

------
#### [ 2.0.x-2.1.x ]

`maxUploadIntervalSec`  
システムログフォワーダーがログのアップロードを試みる最大期間。ログフォワーダーはメモリがいっぱいになるとログをアップロードするため、設定された最大頻度よりも頻繁にアップロードする可能性があります。

`maxRetriesCount`  
システムログフォワーダーが一時的な HTTP エラーを再試行する回数。

`bufferCapacity`  
インメモリログストレージのリングバッファのサイズ。

`logGroup`  
CloudWatch のログパス。

`logStream`  
CloudWatch logStream。

`filters`  
コアデバイスのフィルター設定のマップ。    
`services`  
アップロードされるログを決定するために System Log Forwarder が使用するサービス名フィルターのリスト。ログは、ログの作成元のサービスがこのリスト内のフィルターの少なくとも 1 つと一致する場合にのみアップロードされます。このリストのフィルターは、サービス名が完全に一致する必要がある文字列、またはプレフィックスが一致する必要があることを意味する \$1 で終わる文字列のいずれかです。  
デフォルト: `[ggl.*]`  
ログは、ログの作成元のサービスがこのリスト内のフィルターの少なくとも 1 つと一致する場合にのみアップロードされます。
値 \$1 を使用すると、使用可能なすべてのサービスが含まれます。

**Example 設定例:**  
以下の例では、Greengrass Nucleus Lite に含まれるすべてのサービスでログをフィルタリングします。  

```
{
    "maxUploadIntervalSec": 300,
    "maxRetriesCount": 3,
    "bufferCapacity": 1048576,
    "logGroup": "greengrass/systemLogs",
    "logStream": "deviceName",
    "filters": {
        "services": ["ggl.*"]
    }
}
```

------

## 変更ログ
<a name="system-log-forwarder-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/system-log-forwarder-component.html)  | 
|  2.0.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/system-log-forwarder-component.html)  | 
|  2.0.0  |  当初のバージョン  | 

# Systems Manager エージェント
<a name="systems-manager-agent-component"></a>

 AWS Systems Manager エージェントコンポーネント (`aws.greengrass.SystemsManagerAgent`) は Systems Manager エージェントをインストールするため、Systems Manager でコアデバイスを管理できます。Systems Manager は、Amazon EC2 インスタンス AWS、オンプレミスサーバーと仮想マシン (VMs)、エッジデバイスなど、 でインフラストラクチャを表示および制御するために使用できる AWS サービスです。Systems Manager は、運用データの表示、運用タスクの自動化、セキュリティとコンプライアンスの維持を可能にします。詳細については、「 *AWS Systems Manager ユーザーガイド*」の[「What is AWS Systems Manager?](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html)」および[「About Systems Manager Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/prereqs-ssm-agent.html)」を参照してください。

<a name="about-systems-manager-capabilities"></a>Systems Manager のツールや特徴は、機能と呼ばれます。Greengrass コアデバイスは、すべての Systems Manager 機能をサポートしています。これらの機能と Systems Manager を使用してコアデバイスを管理する方法の詳細については、「AWS Systems Manager ユーザーガイド」の「[Systems Manager 機能](https://docs.aws.amazon.com/systems-manager/latest/userguide/features.html)」を参照してください。

**Topics**
+ [バージョン](#systems-manager-agent-component-versions)
+ [タイプ](#systems-manager-agent-component-type)
+ [オペレーティングシステム](#systems-manager-agent-component-os-support)
+ [要件](#systems-manager-agent-component-requirements)
+ [依存関係](#systems-manager-agent-component-dependencies)
+ [構成](#systems-manager-agent-component-configuration)
+ [ローカルログファイル](#systems-manager-agent-component-log-file)
+ [関連情報](#systems-manager-agent-component-see-also)
+ [変更ログ](#systems-manager-agent-component-changelog)

## バージョン
<a name="systems-manager-agent-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 1.3.x
+ 1.2.x
+ 1.1.x
+ 1.0.x

## タイプ
<a name="systems-manager-agent-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="systems-manager-agent-component-os-support"></a>

このコンポーネントは、Linux コアデバイスにのみインストールできます。

## 要件
<a name="systems-manager-agent-component-requirements"></a>

このコンポーネントには次の要件があります。
+ 64 ビット Linux プラットフォームで実行される Greengrass コアデバイス: Armv8 (AArch64) または x86\$164。
+ Systems Manager が引き受けることができる AWS Identity and Access Management (IAM) サービスロールが必要です。このロールには、[AmazonSSMManagedInstanceCore](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore) マネージドポリシー、または同等の許可を定義するカスタムポリシーが含まれている必要があります。詳細については、「*AWS Systems Manager ユーザーガイド*」の「[Systems Manager を利用したエッジデバイスの管理](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up-edge-devices.html#systems-manager-setting-up-edge-devices-service-role)」を参照してください。

  このコンポーネントをデプロイするときは、`SSMRegistrationRole` 設定パラメータにこのロールの名前を指定する必要があります。
+ [[Greengrass device role]](device-service-role.md) (Greengrass デバイスロール)は、`ssm:AddTagsToResource` および `ssm:RegisterManagedInstance` アクションを許可する必要があります。デバイスロールは、前の要件を満たす IAM サービスロールの `iam:PassRole` アクションも許可する必要があります。以下の IAM ポリシーの例は、次の権限を付与します。

  ```
  {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "iam:PassRole"
        ],
        "Effect": "Allow",
        "Resource": [
          "arn:aws:iam::account-id:role/SSMServiceRole"
        ]
      },
      {
        "Action": [
          "ssm:AddTagsToResource",
          "ssm:RegisterManagedInstance"
        ],
        "Effect": "Allow",
        "Resource": "*"
      }
    ]
  }
  ```

### エンドポイントおよびポート
<a name="systems-manager-agent-component-endpoints"></a>

このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。


| Endpoint | ポート | 必要 | 説明 | 
| --- | --- | --- | --- | 
|  `ec2messages.region.amazonaws.com`  | 443 | はい |   AWS クラウドの Systems Manager サービスと通信します。  | 
|  `ssm.region.amazonaws.com`  | 443 | はい |  コアデバイスを Systems Manager マネージドノードとして登録します。  | 
|  `ssmmessages.region.amazonaws.com`  | 443 | はい |   AWS クラウドで、Systems Manager の機能であるセッションマネージャーと通信します。  | 

詳細については、「AWS Systems Manager ユーザーガイド」の「[[Reference: ec2messages, ssmmessages, and other API calls]](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up-messageAPIs.html) (リファレンス: ec2messages、ssmmessages と他の API コール)」を参照してください。

## 依存関係
<a name="systems-manager-agent-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#systems-manager-agent-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

次の表に、このコンポーネントのバージョン 1.0.0 から 1.3.0 までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [トークン交換サービス](token-exchange-service-component.md) |  >=2.0.0 <3.0.0 | ハード | 

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 構成
<a name="systems-manager-agent-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

`SSMRegistrationRole`  
Systems Manager が引き受けることができ、[AmazonSSMManagedInstanceCore](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore) マネージドポリシーまたは同等の許可を定義するカスタムポリシーを含む IAM サービスロール。詳細については、「AWS Systems Manager ユーザーガイド」の「[エッジデバイス用の IAM サービスロールを作成](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up-edge-devices-service-role.html)」を参照してください。

`SSMOverrideExistingRegistration`  
(オプション) コアデバイスがすでにハイブリッドアクティベーションで登録された Systems Manager エージェントを実行している場合は、デバイスの既存の Systems Manager エージェント登録をオーバーライドできます。このオプションを `true` に設定すると、このコンポーネントが提供する Systems Manager エージェントを使用して、コアデバイスをマネージドノードとして登録できます。  
このオプションは、ハイブリッドアクティベーションに登録されているデバイスにのみ適用されます。コアデバイスが Systems Manager エージェントがインストールされ、インスタンスプロファイルロールが設定された Amazon EC2 インスタンスで実行される場合、Amazon EC2 インスタンスの既存のマネージドノード ID は `i-` で始まります。Systems Manager エージェントコンポーネントをインストールすると、Systems Manager エージェントは、ID が `i-` ではなく `mi-` で始まる新しいマネージドノードを登録します。次に、ID が `mi-` で始まるマネージドノードを使用して、Systems Manager でコアデバイスを管理できます。
デフォルト: `false`

`SSMResourceTags`  
(オプション) このコンポーネントがコアデバイス用に作成する Systems Manager マネージドノードに追加するタグ。これらのタグを使用して、Systems Manager でコアデバイスのグループを管理できます。たとえば、指定したタグを持つすべてのデバイスでコマンドを実行できます。  
各タグが `Key` と `Value` のオブジェクトであるリストを指定します。例えば、次の `SSMResourceTags` の値は、コアデバイスのマネージドノードで **Owner** タグを **richard-roe** に設定するようにこのコンポーネントに指示します。  

```
[
  {
    "Key": "Owner",
    "Value": "richard-roe"
  }
]
```
マネージドノードがすでに存在し、`SSMOverrideExistingRegistration` が `false` の場合、このコンポーネントはこれらのタグを無視します。

**Example 例: 設定マージの更新**  
次の設定例では、`SSMServiceRole` という名前のサービスロールを使用して、コアデバイスが Systems Manager に登録して通信できるようにすることを指定しています。  

```
{
  "SSMRegistrationRole": "SSMServiceRole",
  "SSMOverrideExistingRegistration": false,
  "SSMResourceTags": [
    {
      "Key": "Owner",
      "Value": "richard-roe"
    },
    {
      "Key": "Team",
      "Value": "solar"
    }
  ]
}
```

## ローカルログファイル
<a name="systems-manager-agent-component-log-file"></a>

Systems Manager エージェントソフトウェアは、Greengrass ルートフォルダの外部のフォルダにログを書き込みます。詳細については、「AWS Systems Manager ユーザーガイド」の「[Systems Manager エージェントのログの表示](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-agent-logs.html)」を参照してください。

Systems Manager エージェントコンポーネントは、シェルスクリプトを使用して Systems Manager エージェントをインストール、起動、および停止します。これらのスクリプトからの出力は、次のログファイルにあります。

```
/greengrass/v2/logs/aws.greengrass.SystemsManagerAgent.log
```

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。を AWS IoT Greengrass ルートフォルダへのパス`/greengrass/v2`に置き換えます。

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.SystemsManagerAgent.log
  ```

## 関連情報
<a name="systems-manager-agent-component-see-also"></a>
+ [AWS Systems Manager で Greengrass コアデバイスを管理する](manage-with-systems-manager.md)
+ 「 AWS Systems Managerユーザーガイド」の「[AWS Systems Manager とは](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html)」
+ 「*AWS Systems Manager ユーザーガイド*」の「[AWS Systems Manager とは](https://docs.aws.amazon.com/systems-manager/latest/userguide/prereqs-ssm-agent.html)」

## 変更ログ
<a name="systems-manager-agent-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  1.3.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/systems-manager-agent-component.html)  | 
|  1.2.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/systems-manager-agent-component.html)  | 
|  1.2.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/systems-manager-agent-component.html)  | 
|  1.1.0  |  このバージョンには、バグ修正と機能向上が含まれています。  | 
|  1.0.0  |  当初のバージョン  | 

# トークン交換サービス
<a name="token-exchange-service-component"></a>

トークン交換サービスコンポーネント (`aws.greengrass.TokenExchangeService`) は AWS 、カスタムコンポーネントの AWS サービスとやり取りするために使用できる認証情報を提供します。

トークン交換サービスはローカルサーバーとして実行されます。このローカルサーバーは、[Greengrass コア nucleus コンポーネント](greengrass-nucleus-component.md)で設定した AWS IoT ロールエイリアスを使用して AWS IoT 認証情報プロバイダーに接続します。このコンポーネントは、2 つの環境変数 `AWS_CONTAINER_CREDENTIALS_FULL_URI` および `AWS_CONTAINER_AUTHORIZATION_TOKEN` を提供します。`AWS_CONTAINER_CREDENTIALS_FULL_URI` はこのローカルサーバーへの URI を定義します。コンポーネントが AWS SDK クライアントを作成すると、クライアントはこの URI 環境変数を認識し、 のトークンを使用してトークン交換サービス`AWS_CONTAINER_AUTHORIZATION_TOKEN`に接続し、 AWS 認証情報を取得します。これにより、Greengrass コアデバイスは AWS サービスオペレーションを呼び出すことができます。カスタムコンポーネントでこのコンポーネントを使用する方法の詳細については、「[AWS サービスとやり取り](interact-with-aws-services.md)」を参照してください。

**重要**  <a name="token-exchange-service-aws-sdk-requirement"></a>
この方法で AWS 認証情報を取得するサポートが 2016 年 7 月 13 日に AWS SDKs に追加されました。コンポーネントは、その日以降に作成された AWS SDK バージョンを使用する必要があります。詳細については、*「Amazon Elastic Container Service* [デベロッパーガイド」の「サポートされている AWS SDK](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#task-iam-roles-minimum-sdk) の使用」を参照してください。

**注記**  
 AWS デフォルトの認証情報チェーンを使用するコンポーネントは、存在する場合、他の認証情報のソースを検出して使用することがあります。Amazon Elastic Container Service (Amazon ECS) 内のコンテナ認証情報`AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`は、 よりも優先されます。つまり`AWS_CONTAINER_CREDENTIALS_FULL_URI`、トークン交換サービスの認証情報は Amazon Elastic Container Service (Amazon ECS) 内で機能しない可能性があります。詳細については、[「標準化された認証情報プロバイダー](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html)」を参照してください。

**Topics**
+ [バージョン](#token-exchange-service-component-versions)
+ [タイプ](#token-exchange-service-component-type)
+ [オペレーティングシステム](#token-exchange-service-component-os-support)
+ [依存関係](#token-exchange-service-component-dependencies)
+ [設定](#token-exchange-service-component-configuration)
+ [ローカルログファイル](#token-exchange-service-component-log-file)
+ [変更ログ](#token-exchange-service-component-changelog)

## バージョン
<a name="token-exchange-service-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.0.x

## タイプ
<a name="token-exchange-service-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="token-exchange-service-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Server 

## 依存関係
<a name="token-exchange-service-component-dependencies"></a>

このコンポーネントに依存関係はありません。

## 設定
<a name="token-exchange-service-component-configuration"></a>

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

`port`  
トークン交換サービス接続に使用するポート。トークン交換サービスは、ポート設定の変更後に再起動します。

`credentialRetryInSec`  
Token Exchange Service で認証情報リクエストエラーが発生した場合の再試行間隔を秒単位で指定します。    
`clientError`  
クライアントエラーの再試行間隔 (4xx HTTP ステータスコード）。  
デフォルト: `120`  
有効な値: `10`～`42900`  
`serverError`  
サーバーエラーの再試行間隔 (5xx HTTP ステータスコード）。  
デフォルト: `60`  
有効な値: `10`～`42900`  
`unknownError`  
不明なエラー (接続エラーと 4xx および 5xx 範囲外の HTTP ステータスコード) の再試行間隔。  
デフォルト: `300`  
有効な値: `10`～`42900`

**Example 例: 設定マージの更新**  

```
{
   "port": 2020,
   "credentialRetryInSec": {
    "clientError": 30,
    "serverError": 45,
    "unknownError": 60
   }
}
```

## ローカルログファイル
<a name="token-exchange-service-component-log-file"></a>

このコンポーネントは、[Greengrass nucleus](greengrass-nucleus-component.md) コンポーネントと同じログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="token-exchange-service-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.0.3  |  当初のバージョン  | 

# IoT SiteWise OPC UA コレクター
<a name="iotsitewise-opcua-collector-component"></a>

IoT SiteWise OPC UA コレクターコンポーネント (`aws.iot.SiteWiseEdgeCollectorOpcua`) を使用すると、 AWS IoT SiteWise ゲートウェイはローカル OPC UA サーバーからデータを収集できます。

このコンポーネントを使用すると、 AWS IoT SiteWise ゲートウェイは複数の OPC UA サーバーに接続できます。 AWS IoT SiteWise ゲートウェイの詳細については、「 *AWS IoT SiteWise ユーザーガイド*」の[「エッジ AWS IoT SiteWise での の使用](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/gateways-ggv2.html)」を参照してください。

**Topics**
+ [バージョン](#iotsitewise-opcua-collector-component-versions)
+ [タイプ](#iotsitewise-opcua-collector-component-type)
+ [オペレーティングシステム](#iotsitewise-opcua-collector-component-os-support)
+ [要件](#iotsitewise-opcua-collector-component-requirements)
+ [依存関係](#iotsitewise-opcua-collector-component-dependencies)
+ [構成](#iotsitewise-opcua-collector-component-configuration)
+ [入力データ](#iotsitewise-opcua-collector-component-input-data)
+ [出力データ](#iotsitewise-opcua-collector-component-output-data)
+ [ローカルログファイル](#iotsitewise-opcua-collector-component-log-file)
+ [ライセンス](#iotsitewise-opcua-collector-component-licenses)
+ [変更ログ](#iotsitewise-opcua-collector-component-changelog)
+ [関連情報](#iotsitewise-opcua-collector-component-see-also)

## バージョン
<a name="iotsitewise-opcua-collector-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 3.1.x
+ 3.0.x
+ 2.6.x
+ 2.5.x
+ 2.4.x
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## タイプ
<a name="iotsitewise-opcua-collector-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="iotsitewise-opcua-collector-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 要件
<a name="iotsitewise-opcua-collector-component-requirements"></a>

このコンポーネントには次の要件があります。
+ Greengrass コアデバイスは、次のいずれかのプラットフォームで実行する必要があります。
  + OS: Ubuntu 20.04 以降

    アーキテクチャ: x86\$164 (AMD64) または ARMv8 (Aarch64)
  + OS: Red Hat Enterprise Linux (RHEL) 8

    アーキテクチャ: x86\$164 (AMD64) または ARMv8 (Aarch64)
  + OS: Amazon Linux 2

    アーキテクチャ: x86\$164 (AMD64) または ARMv8 (Aarch64)
  + OS: Debian 11

    アーキテクチャ: x86\$164 (AMD64) または ARMv8 (Aarch64)
  + OS: Windows Server 2019 以降

    アーキテクチャ: x86\$164 (AMD64)
+ Greengrass コアデバイスは、OPC UA サーバーへのアウトバウンドネットワーク接続を許可する必要があります。

## 依存関係
<a name="iotsitewise-opcua-collector-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#iotsitewise-opcua-collector-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

次の表では、このコンポーネントのすべてのバージョンの依存関係を一覧表示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.3.0 <3.0.0 | ハード | 
| [ストリームマネージャー](stream-manager-component.md) | >2.0.10<3.0.0 | ハード | 
| [シークレットマネージャー](secret-manager-component.md) | >=2.0.8 <3.0.0 | ハード | 

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 構成
<a name="iotsitewise-opcua-collector-component-configuration"></a>

このコンポーネントに設定パラメータはありません。

 AWS IoT SiteWise コンソールまたは API を使用して、IoT SiteWise OPC UA コレクターコンポーネントを設定できます。詳細については、「AWS IoT SiteWise  ユーザーガイド」の「[ステップ 4: データソースを追加する - オプション](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-gateway-ggv2.html#add-data-sources-console)」を参照してください。

## 入力データ
<a name="iotsitewise-opcua-collector-component-input-data"></a>

このコンポーネントは、次の形式のデータのみを受け入れ、他のすべてのデータは無視され、破棄されます。次の表は、OPC UA データ型を SiteWise に相当するものにマッピングしています。


|  **SiteWise データ型**  |  **OPC UA データ型**  |  **説明**  | 
| --- | --- | --- | 
|  `STRING`  |  `String` `Guid` `XmlElement`  |  最大長 1024 バイトの文字列。  | 
|  `INTEGER`  |  `SByte` `Byte` `Int16` `UInt16` `Int32` `UInt32`\$1 `Int64`\$1  |  `-2,147,483,648 to 2,147,483,647` からの範囲の符号付き 32 ビット整数。  | 
|  `DOUBLE`  |  `UInt32`\$1 `Int64`\$1 `Float` `Double`  |  範囲が `–10^100 to 10^100` および `IEEE 754` の倍精度浮動小数点数。  | 
|  `BOOLEAN`  |  `Boolean`  |  `true` または `false`  | 

\$1 OPC UA データ型 `UInt32` と `Int64` のとき、SiteWise がその値を表すことができる場合は SiteWise データ型は `INTEGER` になります。それ以外の場合は `DOUBLE` になります。

## 出力データ
<a name="iotsitewise-opcua-collector-component-output-data"></a>



このコンポーネントは、 AWS IoT Greengrass ストリームマネージャーに`BatchPutAssetPropertyValue`メッセージを書き込みます。詳細は、「AWS IoT SiteWise API リファレンス」の「[BatchPutAssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html)」を参照してください。

## ローカルログファイル
<a name="iotsitewise-opcua-collector-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.iot.SiteWiseEdgeCollectorOpcua.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.iot.SiteWiseEdgeCollectorOpcua.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.iot.SiteWiseEdgeCollectorOpcua.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.iot.SiteWiseEdgeCollectorOpcua.log -Tail 10 -Wait
  ```

------

## ライセンス
<a name="iotsitewise-opcua-collector-component-licenses"></a>

<a name="component-core-software-license"></a>このコンポーネントは、[Greengrass Core ソフトウェアライセンス契約](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)に従ってリリースされています。

## 変更ログ
<a name="iotsitewise-opcua-collector-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
| 3.1.0 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
| 3.0.3 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
| 3.0.2 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
| 3.0.1 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
| 3.0.0 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
| 2.6.0 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
| 2.5.1 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
| 2.5.0 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
|  2.4.2  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html) | 
|  2.4.1  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html) | 
|  2.4.0  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
|  2.3.0  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html) | 
|  2.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
|  2.1.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
|  2.1.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
|  2.0.3  |  バグ修正と機能向上。  | 
|  2.0.2  |  エッジとのアセット優先度同期のバグ修正と機能向上。  | 
|  2.0.1  |  当初のバージョン  | 

## 関連情報
<a name="iotsitewise-opcua-collector-component-see-also"></a>
+ *AWS IoT SiteWise ユーザーガイド*の[「 AWS IoT SiteWiseとは](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/what-is-sitewise.html)」を参照してください。

# IoT SiteWise OPC UA データソースシミュレーター
<a name="iotsitewise-opcua-data-source-simulator-component"></a>

IoT SiteWise OPC UA データソースシミュレーターコンポーネント (`aws.iot.SiteWiseEdgeOpcuaDataSourceSimulator`) は、サンプルデータを生成するローカル OPC UA サーバーを起動します。この OPC UA サーバーを使用して、 AWS IoT SiteWise ゲートウェイ上の [IoT SiteWise OPC UA コレクターコンポーネント](iotsitewise-opcua-collector-component.md)によって読み取られたデータソースをシミュレートします。その後、このサンプルデータを使用して AWS IoT SiteWise 機能を調べることができます。 AWS IoT SiteWise ゲートウェイの詳細については、「 *AWS IoT SiteWise ユーザーガイド*」の[「エッジ AWS IoT SiteWise での の使用](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/gateways-ggv2.html)」を参照してください。

**Topics**
+ [バージョン](#iotsitewise-opcua-data-source-simulator-component-versions)
+ [タイプ](#iotsitewise-opcua-data-source-simulator-component-type)
+ [オペレーティングシステム](#iotsitewise-opcua-data-source-simulator-component-os-support)
+ [要件](#iotsitewise-opcua-data-source-simulator-component-requirements)
+ [依存関係](#iotsitewise-opcua-data-source-simulator-component-dependencies)
+ [構成](#iotsitewise-opcua-data-source-simulator-component-configuration)
+ [ローカルログファイル](#iotsitewise-opcua-data-source-simulator-component-log-file)
+ [変更ログ](#iotsitewise-opcua-data-source-simulator-component-changelog)
+ [関連情報](#iotsitewise-opcua-data-source-simulator-component-see-also)

## バージョン
<a name="iotsitewise-opcua-data-source-simulator-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 1.0.x

## タイプ
<a name="iotsitewise-opcua-data-source-simulator-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="iotsitewise-opcua-data-source-simulator-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Windows

## 要件
<a name="iotsitewise-opcua-data-source-simulator-component-requirements"></a>

このコンポーネントには次の要件があります。
+ Greengrass コアデバイスは、ローカルホストのポート 4840 を使用できる必要があります。このコンポーネントのローカル OPC UA サーバーは、このポートで実行されます。

## 依存関係
<a name="iotsitewise-opcua-data-source-simulator-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#iotsitewise-opcua-data-source-simulator-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

次の表では、このコンポーネントのすべてのバージョンの依存関係を一覧表示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.3.0 <3.0.0 | ハード | 

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 構成
<a name="iotsitewise-opcua-data-source-simulator-component-configuration"></a>

このコンポーネントに設定パラメータはありません。

## ローカルログファイル
<a name="iotsitewise-opcua-data-source-simulator-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.iot.SiteWiseEdgeOpcuaDataSourceSimulator.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.iot.SiteWiseEdgeOpcuaDataSourceSimulator.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.iot.SiteWiseEdgeOpcuaDataSourceSimulator.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.iot.SiteWiseEdgeOpcuaDataSourceSimulator.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="iotsitewise-opcua-data-source-simulator-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  1.0.0  |  当初のバージョン Windows Server 2016 以降のサポートを追加。  | 

## 関連情報
<a name="iotsitewise-opcua-data-source-simulator-component-see-also"></a>
+ *AWS IoT SiteWise ユーザーガイド*の[「 AWS IoT SiteWiseとは](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/what-is-sitewise.html)」を参照してください。

# IoT SiteWise パブリッシャー
<a name="iotsitewise-publisher-component"></a>

IoT SiteWise パブリッシャーコンポーネント (`aws.iot.SiteWiseEdgePublisher`) を使用すると、 AWS IoT SiteWise ゲートウェイはエッジから にデータをエクスポートできます AWS クラウド。

 AWS IoT SiteWise ゲートウェイの詳細については、「 *AWS IoT SiteWise ユーザーガイド*」の[「エッジ AWS IoT SiteWise での の使用](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/gateways-ggv2.html)」を参照してください。

**Topics**
+ [バージョン](#iotsitewise-publisher-component-versions)
+ [タイプ](#iotsitewise-publisher-component-type)
+ [オペレーティングシステム](#iotsitewise-publisher-component-os-support)
+ [要件](#iotsitewise-publisher-component-requirements)
+ [依存関係](#iotsitewise-publisher-component-dependencies)
+ [設定](#iotsitewise-publisher-component-configuration)
+ [入力データ](#iotsitewise-publisher-component-input-data)
+ [ローカルログファイル](#iotsitewise-publisher-component-log-file)
+ [トラブルシューティングとデバッグ](#iotsitewise-publisher-component-debug)
+ [ライセンス](#iotsitewise-publisher-component-licenses)
+ [変更ログ](#iotsitewise-publisher-component-changelog)
+ [関連情報](#iotsitewise-publisher-component-see-also)

## バージョン
<a name="iotsitewise-publisher-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 4.1.x
+ 4.0.x
+ 3.2.x
+ 3.1.x
+ 3.0.x
+ 2.4.x
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## タイプ
<a name="iotsitewise-publisher-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="iotsitewise-publisher-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Server 

## 要件
<a name="iotsitewise-publisher-component-requirements"></a>

このコンポーネントには次の要件があります。
+ Greengrass コアデバイスは、次のいずれかのプラットフォームで実行する必要があります。
  + OS: Ubuntu 18.04 以降

    アーキテクチャ: x86\$164 (AMD64) または ARMv8 (Aarch64)
  + OS: Red Hat Enterprise Linux (RHEL) 8

    アーキテクチャ: x86\$164 (AMD64) または ARMv8 (Aarch64)
  + OS: Amazon Linux 2

    アーキテクチャ: x86\$164 (AMD64) または ARMv8 (Aarch64)
  + OS: Debian 11

    アーキテクチャ: x86\$164 (AMD64) または ARMv8 (Aarch64)
  + OS: Windows Server 2019 以降

    アーキテクチャ: x86\$164 (AMD64)
+ Greengrass コアデバイスはインターネットに接続する必要があります。
+ Greengrass コアデバイスは、`iotsitewise:BatchPutAssetPropertyValue` アクションを実行する権限を付与されている必要があります。詳細については、[「 コアデバイスが AWS サービスとやり取りすることを許可する](https://docs.aws.amazon.com/greengrass/v2/developerguide/device-service-role.html)」を参照してください。  
**Example アクセス許可ポリシー**  

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": "iotsitewise:BatchPutAssetPropertyValue",
              "Resource": "*"
          }
      ]
  }
  ```

------

### エンドポイントおよびポート
<a name="iotsitewise-publisher-component-endpoints"></a>

このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。


| Endpoint | ポート | 必要 | 説明 | 
| --- | --- | --- | --- | 
|  `data.iotsitewise.region.amazonaws.com`  | 443 | はい |  データの発行先 AWS IoT SiteWise。  | 

## 依存関係
<a name="iotsitewise-publisher-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#iotsitewise-publisher-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

次の表に、このコンポーネントのバージョン 2.0.x から 2.2.x までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.3.0<3.0.0 | ハード | 
| [ストリームマネージャー](stream-manager-component.md) | >=2.0.10<3.0.0 | ハード | 

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 設定
<a name="iotsitewise-publisher-component-configuration"></a>

このコンポーネントに設定パラメータはありません。

 AWS IoT SiteWise コンソールまたは API を使用して、IoT SiteWise パブリッシャーコンポーネントを設定できます。詳細については、「AWS IoT SiteWise ユーザーガイド」の「[ステップ 3: パブリッシャーの設定 (オプション)](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-gateway-ggv2.html#configure-publisher)」を参照してください。

## 入力データ
<a name="iotsitewise-publisher-component-input-data"></a>



このコンポーネントは、 AWS IoT Greengrass ストリームマネージャーから`PutAssetPropertyValueEntry`メッセージを読み取ります。詳細については、AWS IoT SiteWise API リファレンスの「[PutAssetPropertyValueEntry](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_PutAssetPropertyValueEntry.html)」を参照してください。

## ローカルログファイル
<a name="iotsitewise-publisher-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.iot.SiteWiseEdgePublisher.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.iot.SiteWiseEdgePublisher.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.iot.SiteWiseEdgePublisher.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.iot.SiteWiseEdgePublisher.log -Tail 10 -Wait
  ```

------

## トラブルシューティングとデバッグ
<a name="iotsitewise-publisher-component-debug"></a>

このコンポーネントには、お客様が問題を特定して解決するのに役立つ新しいイベントログが含まれています。ログファイルはローカルログファイルとは別のもので、次の場所にあります。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

```
/greengrass/v2/work/aws.iot.SiteWiseEdgePublisher/logs/IotSiteWisePublisherEvents.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\work\aws.iot.SiteWiseEdgePublisher\logs\IotSiteWisePublisherEvents.log
```

------

このログには、詳細情報とトラブルシューティングの手順が含まれています。トラブルシューティングに関する情報は診断結果とともに提供され、問題の解決方法の説明と、場合によっては詳細情報へのリンクが含まれます。診断情報には次のものが含まれます。
+ 重要度レベル
+ タイムスタンプ
+ イベント固有の追加情報

**Example ログの例**  

```
accountBeingThrottled:
  Summary: Data upload speed slowed due to quota limits
  Level: WARN
  Timestamp: '2023-06-09T21:30:24.654Z'
  Description: The IoT SiteWise Publisher is limited to the "Rate of data points ingested"
    quota for a customers account. See the associated documentation and associated
    metric for the number of requests that were limited for more information. Note
    that this may be temporary and not require any change, although if the issue continues
    you may need to request an increase for the mentioned quota.
  FurtherInformation:
  - https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
  - https://docs.aws.amazon.com/iot-sitewise/latest/userguide/troubleshooting-gateway.html#gateway-issue-data-streams
  AssociatedMetrics:
  - Name: TotalErrorCount
    Description: The total number of errors of this type that occurred.
    Value: 327724.0
  AssociatedData:
  - Name: AggregatePropertyAliases
    Description: The aggregated property aliases of the throttled data.
    FileLocation: /greengrass/v2/work/aws.iot.SiteWiseEdgePublisher/./logs/data/AggregatePropertyAliases_1686346224654.log
```

## ライセンス
<a name="iotsitewise-publisher-component-licenses"></a>

<a name="component-core-software-license"></a>このコンポーネントは、[Greengrass Core ソフトウェアライセンス契約](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)に従ってリリースされています。

## 変更ログ
<a name="iotsitewise-publisher-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
| 4.1.4 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
| 4.1.3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
| 4.1.2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
| 4.1.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
| 4.1.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  4.0.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  4.0.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  4.0.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  4.0.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  3.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  3.1.4  |   バージョン 3.1.4 は 2025 年 2 月 20 日に廃止されました。このバージョンの改善は、このコンポーネントのそれ以降のバージョンで利用できます。  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  3.1.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  3.1.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  3.1.1  |   バージョン 3.1.1 は 2024 年 3 月 12 日に廃止されました。このバージョンの改善は、このコンポーネントのそれ以降のバージョンで利用できます。  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  3.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  3.0.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.4.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.4.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.3.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.3.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.3.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.2.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.2.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.2.1  |   このバージョンは、HTTP プロキシ設定をサポートしていません。バージョン 2.2.2 以降では、この機能のサポートが再導入されています。  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.2.0  |   このバージョンは、HTTP プロキシ設定をサポートしていません。バージョン 2.2.2 以降では、この機能のサポートが再導入されています。  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.1.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.1.3  |   このバージョンは、米国東部 (オハイオ）、カナダ (中部）、 AWS GovCloud (米国東部) の各リージョンを除き、利用できなくなりました。このコンポーネントバージョンを実行するには Java バージョン 11 以上が必要です。このバージョンの改善は、このコンポーネントのそれ以降のバージョンで利用できます。  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.1.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.1.1  |  バグ修正と機能向上。  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.0.2  |  バグ修正と機能向上。  | 
|  2.0.1  |  当初のバージョン  | 

## 関連情報
<a name="iotsitewise-publisher-component-see-also"></a>
+ *AWS IoT SiteWise ユーザーガイド*の[「 AWS IoT SiteWiseとは](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/what-is-sitewise.html)」。

# IoT SiteWise プロセッサ
<a name="iotsitewise-processor-component"></a>

IoT SiteWise プロセッサコンポーネント (`aws.iot.SiteWiseEdgeProcessor`) を使用すると、 AWS IoT SiteWise Classic ストリーム、V2 ゲートウェイがエッジでデータを処理できます。

このコンポーネントを使用すると、 AWS IoT SiteWise ゲートウェイはアセットモデルとアセットを使用してゲートウェイデバイスのデータを処理できます。 AWS IoT SiteWise ゲートウェイの詳細については、「 *AWS IoT SiteWise ユーザーガイド*」の[「エッジ AWS IoT SiteWise での の使用](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/gateways-ggv2.html)」を参照してください。

**注記**  
データ処理パック (DPP) 機能は、2025 年 11 月 7 日以降、新規のお客様には提供されなくなります。DPP を使用する場合は、その日付より前にサインアップします。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「*AWS IoT SiteWise ユーザーガイド*」の「[AWS IoT SiteWise Monitor 可用性の変更](https://docs.aws.amazon.com/iot-sitewise/latest/appguide/iotsitewise-dpp-availability-change.html)」を参照してください。

**Topics**
+ [バージョン](#iotsitewise-processor-component-versions)
+ [タイプ](#iotsitewise-processor-component-type)
+ [オペレーティングシステム](#iotsitewise-processor-component-os-support)
+ [要件](#iotsitewise-processor-component-requirements)
+ [依存関係](#iotsitewise-processor-component-dependencies)
+ [設定](#iotsitewise-processor-component-configuration)
+ [ローカルログファイル](#iotsitewise-processor-component-log-file)
+ [ライセンス](#iotsitewise-processor-component-licenses)
+ [変更ログ](#iotsitewise-processor-component-changelog)
+ [関連情報](#iotsitewise-processor-component-see-also)

## バージョン
<a name="iotsitewise-processor-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 3.5.x
+ 3.4.x
+ 3.3.x
+ 3.2.x
+ 3.1.x
+ 3.0.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## タイプ
<a name="iotsitewise-processor-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="iotsitewise-processor-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Server 

## 要件
<a name="iotsitewise-processor-component-requirements"></a>

このコンポーネントには次の要件があります。
+ Greengrass コアデバイスは、次のいずれかのプラットフォームで実行する必要があります。
  + OS: Ubuntu 20.04 以降

    アーキテクチャ: x86\$164 (AMD64)
  + OS: Red Hat Enterprise Linux (RHEL) 8

    アーキテクチャ: x86\$164 (AMD64)
  + OS: Amazon Linux 2

    アーキテクチャ: x86\$164 (AMD64)
  + OS: Windows Server 2019 以降

    アーキテクチャ: x86\$164 (AMD64)
  + OS: Debian 11 (Bullseye) 以降

    アーキテクチャ: x86\$164 (AMD64)
+ Greengrass コアデバイスは、ポート 443 のインバウンドトラフィックを許可する必要があります。
+ Greengrass コアデバイスは、ポート 443 と 8883 のアウトバウンドトラフィックを許可する必要があります。
+ 次のポートは、 での使用のために予約されています AWS IoT SiteWise。80、443、3001、4569、4572、8000、8081、8082、8084、8085、8086、8445、9000、9500、11080、および 50010。トラフィック用の予約ポートを使用すると、接続が切断されることがあります。
**注記**  
ポート 8087 が必要になるのは、このコンポーネントのバージョン 2.0.15 以降のみです。
+ [Greengrass デバイスロール](https://docs.aws.amazon.com/greengrass/v2/developerguide/device-service-role.html)には、 AWS IoT Greengrass V2 デバイスで AWS IoT SiteWise ゲートウェイを使用できるようにするアクセス許可が必要です。詳細については、「*AWS IoT SiteWise ユーザーガイド*」の「[Requirements](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/configure-gateway-ggv2.html#gateway-requirements)」を参照してください。

### エンドポイントおよびポート
<a name="iotsitewise-processor-component-endpoints"></a>

このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。


| Endpoint | ポート | 必要 | 説明 | 
| --- | --- | --- | --- | 
|  `model.iotsitewise.region.amazonaws.com`  | 443 | はい |   AWS IoT SiteWise アセットとアセットモデルに関する情報を取得します。  | 
|  `edge.iotsitewise.region.amazonaws.com`  | 443 | はい |  コアデバイスの AWS IoT SiteWise ゲートウェイ設定に関する情報を取得します。  | 
|  `ecr.region.amazonaws.com`  | 443 | はい |  Amazon Elastic Container Registry から AWS IoT SiteWise Edge ゲートウェイの Docker イメージをダウンロードします。  | 
|  `iot.region.amazonaws.com`  | 443 | はい |   AWS アカウントのデバイスエンドポイントを取得します。  | 
|  `sts.region.amazonaws.com`  | 443 | はい |  の ID を取得します AWS アカウント。  | 
|  `monitor.iotsitewise.region.amazonaws.com`  | 443 | 不可 |  コアデバイスの AWS IoT SiteWise Monitor ポータルにアクセスする場合に必要です。  | 

## 依存関係
<a name="iotsitewise-processor-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#iotsitewise-processor-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

次の表に、このコンポーネントのバージョン 2.0.x から 2.1.x までの依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [トークン交換サービス](token-exchange-service-component.md) | >=2.0.3 <3.0.0 | ハード | 
| [ストリームマネージャー](stream-manager-component.md) | >=2.0.10 <3.0.0 | ハード | 
| [Greengrass CLI](greengrass-cli-component.md) | >=2.3.0 <3.0.0 | ハード | 

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 設定
<a name="iotsitewise-processor-component-configuration"></a>

このコンポーネントに設定パラメータはありません。

## ローカルログファイル
<a name="iotsitewise-processor-component-log-file"></a>

このコンポーネントは次のログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.iot.SiteWiseEdgeProcessor.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.iot.SiteWiseEdgeProcessor.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.iot.SiteWiseEdgeProcessor.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.iot.SiteWiseEdgeProcessor.log -Tail 10 -Wait
  ```

------

## ライセンス
<a name="iotsitewise-processor-component-licenses"></a>

このコンポーネントには、次のサードパーティーソフトウェア/ライセンス品が含まれています。

### サードパーティーライセンス
<a name="w2ab1c24b8d120c25b5b1b1"></a>
+ Apache-2.0
+ MIT
+ BSD-2-Clause
+ BSD-3-Clause
+ CDDL-1.0
+ CDDL-1.1
+ ISC
+ Zlib
+ GPL-3.0-with-GCC-exception
+ パブリックドメイン
+ Python-2.0
+ Unicode-DFS-2015
+ BSD-1-Clause
+ OpenSSL
+ EPL-1.0
+ EPL-2.0
+ GPL-2.0-with-classpath-exception
+ MPL-2.0
+ CC0-1.0
+ JSON

<a name="component-core-software-license"></a>このコンポーネントは、[Greengrass Core ソフトウェアライセンス契約](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)に従ってリリースされています。

## 変更ログ
<a name="iotsitewise-processor-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
| 3.5.1 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 3.4.0 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 3.3.1 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 3.3.0 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html) | 
|  3.2.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  3.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  3.1.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  3.1.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  3.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  3.0.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.2.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.1.37 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.1.35 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.1.34 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.1.33 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.1.32 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.1.31 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.1.29 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.1.28 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.1.24 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.1.23 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  2.1.21  |   2.0.x から 2.1.x にアップグレードすると、ローカルデータが失われます。  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  2.0.16  |  このバージョンには、バグ修正と機能向上が含まれています。  | 
|  2.0.15  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  2.0.14  |  このバージョンには、バグ修正と機能向上が含まれています。  | 
|  2.0.13  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  2.0.9  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  2.0.7  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  2.0.6  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  2.0.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  2.0.2  |  当初のバージョン  | 

## 関連情報
<a name="iotsitewise-processor-component-see-also"></a>
+ *AWS IoT SiteWise ユーザーガイド*の[「 AWS IoT SiteWiseとは](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/what-is-sitewise.html)」を参照してください。