デプロイメント - AWS IoT Greengrass

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

デプロイメント

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

ローカルデプロイの進行状況を監視するには、status サブコマンドを使用します。コンソールを使用してローカルデプロイの進行状況を監視することはできません。

サブコマンド

作成

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

概要
greengrass-cli deployment create --recipeDir path/to/component/recipe [--artifactDir path/to/artifact/folder ] [--update-config {component-configuration}] [--groupId <thing-group>] [--merge "<component-name>=<component-version>"]... [--runWith "<component-name>:posixUser=<user-name>[:<group-name>]"]... [--systemLimits "{component-system-resource-limits}]"]... [--remove <component-name>,...] [--failure-handling-policy <policy name[ROLLBACK, DO_NOTHING]>]
引数
  • --recipeDir-r。コンポーネントレシピファイルが格納されているフォルダへのフルパス。

  • --artifactDir-a。デプロイに含めるアーティファクトファイルが含まれるフォルダへのフルパス。アーティファクトフォルダには、以下のディレクトリ構造が含まれている必要があります。

    /path/to/artifact/folder/<component-name>/<component-version>/<artifacts>
  • --update-config-c。デプロイの設定引数。JSON 文字列または JSON ファイルとして提供されます。JAON 文字列の形式は次のようになります。

    { \ "componentName": { \ "MERGE": {"config-key": "config-value"}, \ "RESET": ["path/to/reset/"] \ } \ }

    MERGE および RESET は大文字と小文字を区別するため、大文字にする必要があります。

  • --groupId-g。デプロイのターゲットとなるモノグループ。

  • --merge-m。追加または更新するターゲットコンポーネントの名前とバージョン。コンポーネント情報は、<component>=<version> の形式で提供する必要があります。指定する追加コンポーネントごとに個別の引数を使用します。必要に応じて、--runWith 引数を指定して、コンポーネントを実行するための posixUserposixGroup、および windowsUser 情報を提供します。

  • --runWith。汎用コンポーネントまたは Lambda コンポーネントを実行するための posixUserposixGroup、および windowsUser 情報。<component>:{posixUser|windowsUser}=<user>[:<=posixGroup>] 形式でこの情報を提供する必要があります。たとえば、HelloWorld:posixUser=ggc_user:ggc_groupHelloWorld:windowsUser=ggc_user と指定することができます。指定する追加オプションごとに個別の引数を使用します。

    詳細については、「コンポーネントを実行するユーザーを設定する」を参照してください。

  • --systemLimits。コアデバイス上の汎用および非コンテナ型 Lambda コンポーネントのプロセスに適用されるシステムリソースの制限。各コンポーネントのプロセスが使用できる CPU および RAM の最大使用数を設定できます。シリアル化された JSON オブジェクトまたは JSON ファイルへのファイルパスを指定します。JSON オブジェクトは次の形式である必要があります。

    { \ "componentName": { \ "cpus": cpuTimeLimit, \ "memory": memoryLimitInKb \ } \ }

    各コンポーネントに対して、次のシステムリソース制限を設定できます。

    • cpusこのコンポーネントのプロセスがコアデバイスで使用できる CPU 時間の最大量。コアデバイスの合計 CPU 時間は、デバイスの CPU コア数と同じです。例えば、4 つの CPU コアを持つコアデバイスの場合は、この値を 2 に設定することで、このコンポーネントのプロセスを各 CPU コアの 50% の使用率に制限することができます。CPU コアが 1 つのデバイスの場合は、この値を 0.25 に設定することで、このコンポーネントのプロセスを CPU の 25% の使用率に制限することができます。この値を CPU コア数よりも大きい数値に設定した場合、 AWS IoT Greengrass Core ソフトウェアはコンポーネントの CPU 使用率を制限しません。

    • memoryこのコンポーネントのプロセスがコアデバイスで使用できる RAM の最大量 (キロバイト単位)。

    詳細については、「コンポーネントのシステムリソース制限を設定する」を参照してください。

    この機能は、Linux コアデバイス上の Greengrass nucleus コンポーネントの v2.4.0 以降および Greengrass CLI で使用できます。 AWS IoT Greengrass 現在、Windows コアデバイスではこの機能をサポートしていません。

  • --remove。ローカルデプロイから削除するターゲットコンポーネントの名前。クラウドデプロイからマージされたコンポーネントを削除するには、ターゲットモノグループのグループ ID を次の形式で指定する必要があります。

    Greengrass nucleus v2.4.0 and later
    --remove <component-name> --groupId <group-name>
    Earlier than v2.4.0
    --remove <component-name> --groupId thinggroup/<group-name>
  • --failure-handling-policy。デプロイが失敗したときに実行されるアクションを定義します。指定できるアクションは次の 2 つです。

    • ROLLBACK

    • DO_NOTHING

    この機能は Greengrass nucleus の v2.11.0 以降で使用できます。

出力

次の例は、このコマンドを実行したときに生成される出力を示しています。

$ sudo greengrass-cli deployment create \ --merge MyApp1=1.0.0 \ --merge MyApp2=1.0.0 --runWith MyApp2:posixUser=ggc_user \ --remove MyApp3 \ --recipeDir recipes/ \ --artifactDir artifacts/ Local deployment has been submitted! Deployment Id: 44d89f46-1a29-4044-ad89-5151213dfcbc

キャンセル

指定されたデプロイをキャンセルします。

概要
greengrass-cli deployment cancel -i <deployment-id>
引数

-i。キャンセルするデプロイの一意の識別子。デプロイ ID は create コマンドの出力で返されます。

出力
  • なし

list

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

概要
greengrass-cli deployment list
引数

なし

出力

次の例は、このコマンドを実行したときに生成される出力を示しています。デプロイのステータスに応じて、出力には IN_PROGRESSSUCCEEDED、または FAILED のいずれかのステータス値が表示されます。

$ sudo greengrass-cli deployment list 44d89f46-1a29-4044-ad89-5151213dfcbc: SUCCEEDED Created on: 6/27/23 11:05 AM

status

特定のデプロイのステータスを取得します。

概要
greengrass-cli deployment status -i <deployment-id>
引数

-i。 デプロイの ID。

出力

次の例は、このコマンドを実行したときに生成される出力を示しています。デプロイのステータスに応じて、出力には IN_PROGRESSSUCCEEDED、または FAILED のいずれかのステータス値が表示されます。

$ sudo greengrass-cli deployment status -i 44d89f46-1a29-4044-ad89-5151213dfcbc 44d89f46-1a29-4044-ad89-5151213dfcbc: FAILED Created on: 6/27/23 11:05 AM Detailed Status: <Detailed deployment status> Deployment Error Stack: List of error codes Deployment Error Types: List of error types Failure Cause: Cause