Greengrass CLIについてまとめてみた

2024/12/08に公開

はじめに

AWS IoT GreengrassではコンポーネントのデプロイなどでGreengrass CLIソフトウェアを用いる。
個人用にまとめる。

Greengrass CLIとは

Greengrass CLIとは、コアデバイスでローカル環境上でコンポーネントを開発およびデバッグするために使用できるCLI環境。
Greengrass CLIでは、下記のコマンドが使用できる。

  • component
  • deployment
  • log
  • get-debug-password

Component

componentコマンドを使用することで、コアデバイス上のローカルコンポーネントとやり取りすることができる。
下記のコマンドがある。

details
ローカルコンポーネントの詳細を表示することができる。

greengrass-cli component details --name <component-name>

list
コアデバイスにインストールされている各コンポーネントの名前、バージョン、ステータス、および設定を取得する。

greengrass-cli component list

restart
コンポーネントを再起動する

greengrass-cli component restart --names <component-name>

stop
実行中のコンポーネントを停止する。

greengrass-cli component stop --names <component-name>

Deployment

deploymentコマンドを使用することで、コアデバイス上のローカルコンポーネントとやり取りすることができる。
個人的にはdeploymentでエラーになると、componentコマンドで検索しても表示されないので、その際は下記のdeploymentのサブコマンドで確認する必要がある。

create
指定したレシピ、アーティファクト、ランタイム引数を使用して、ローカルデプロイを作成または更新する。

greengrass-cli deployment create \
--recipeDir path/to/component/recipe \
--artifactDir path/to/artifact/folder \
--merge "<component-name>=<component-version>"

ローカルコンポーネントを削除する場合は下記のコマンドを実行する。
ローカルデプロイから削除するターゲットコンポーネントは--removeで、
クラウドデプロイからマージされたコンポーネントは--groupIdオプションの記述が必要。

greengrass-cli deployment create \
--remove <component-name> \
--groupId <groupId>

list
過去10回分のローカルデプロイのステータスを取得する。

greengrass-cli deployment list

status
特定のデプロイメントのステータスを取得する。
ローカルデプロイが上手くいかなかったらstatusコマンドでエラー内容を確認できる。

greengrass-cli deployment status -i <deployment-id>

Discussion