AWS IoT Greengrass開發套件命令列介面 - AWS IoT Greengrass

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS IoT Greengrass開發套件命令列介面

開AWS IoT Greengrass發套件命令列介面 (GDK CLI) 提供的功能可協助您開發自訂 Greeng rass 元件。您可以使用 GDK CLI 來建立、建置和發佈自訂元件。使用 GDK CLI 建立元件存放庫時,您可以從 Greengr ass 軟體目錄中的範本或社群元件開始。然後,您可以選擇將文件打包為 ZIP 存檔的構建系統,使用 Maven 或 Gradle 構建腳本,或運行自定義構建命令。建立元件之後,您可以使用 GDK CLI 將其發佈到AWS IoT Greengrass服務,因此您可以使用AWS IoT Greengrass主控台或 API 將元件部署到 Greengrass 核心裝置。

當您在沒有 GDK CLI 的情況下開發 Greengrass 元件時,每次建立元件的新版本時,都必須更新元件方案檔案中的版本和成品 URI。當您使用 GDK CLI 時,它可以在您每次發佈新版本的元件時為您自動更新版本和成品 URI。

GDK CLI 是開放原始碼的,可在上 GitHub使用。您可以自訂和擴充 GDK CLI,以滿足您的元件開發需求。我們邀請您在 GitHub 存儲庫上打開問題並提取請求。您可以通過以下鏈接找到 GDK CLI 源代碼:https://github.com/aws-greengrass/ aws-greengrass-gdk-cli.

必要條件

要安裝和使用 Greengrass 開發工具包 CLI,您需要以下內容:

  • AWS 帳戶。如果您沒有帳戶,請參閱 設置一個 AWS 帳戶

  • 具有網際網路連線的視窗、macOS 或類似 UNIX 的開發電腦。

  • 對於 GDK CLI 1.1.0 或更新版本,Python 3.6 或更新版本已安裝在您的開發計算機上。

    對於開發計算機上安裝的 GDK CLI 版本 1.0.0,Python 3.8 或更高版本。

  • Git 安裝在您的開發計算機上。

  • AWS Command Line Interface(AWS CLI)在您的開發計算機上安裝和配置憑據。如需詳細資訊,請參閱《AWS Command Line Interface使用指南》AWS CLI中的〈安裝、更新AWS CLI和解除安裝〉和〈定〉

    注意

    如果您使用樹莓派或其他 32 位 ARM 設備,請安裝 AWS CLI V1。 AWS CLIV2 不適用於 32 位元 ARM 裝置。如需詳細資訊,請參閱安裝、更新和解除安裝AWS CLI版本 1

  • 若要使用 GDK CLI 將元件發行至AWS IoT Greengrass服務,您必須具備下列權限:

    • s3:CreateBucket

    • s3:GetBucketLocation

    • s3:PutObject

    • greengrass:CreateComponentVersion

    • greengrass:ListComponentVersions

  • 若要使用 GDK CLI 建置其成品存在於 S3 儲存貯體中而非本機檔案系統中的元件,您必須具備下列權限:

    • s3:ListBucket

    此功能適用於 GDK CLI 1.1.0 版及更新版本。

變更記錄

下表說明 GDK CLI 每個版本中的變更。如需詳細資訊,請參閱上的 GDK CLI 發行版本頁面 GitHub。

版本

變更

1.6.2

錯誤修復和改進
  • 修復了 Windows gradlew.bat 由於相對路徑而無法正常工作的問題。

  • 對日誌記錄,測試和打包進行小幅改進。

1.6.1

錯誤修復和改進
  • 新增 CLI 引數剖析的安全性修正程式。

  • 使 GDK 獲取最新的 Greengrass 測試框架(GTF)發行名稱作為默認的 GTF 版本。

  • 讓 GDK 建議使用舊版 GTF 的客戶,將其更新為最新版本。

1.6.0

新功能
  • 在和指令期間,針對 Greengrass 方案結構描述新增配方驗證檢查。component build component publish此更新可協助開發人員在元件建立程序的早期元件配方中找出可行動的問題。

  • 將置信度測試套件添加到可以通過test-e2e init命令拉下的模板。此置信度測試套件包括八個通用測試,可以使用和擴展以滿足基本組件測試需求。

錯誤修復和改進
  • test-e2e命令使用的默認 Greengrass 測試框架(GTF)版本更新為 1.2.0 版本。

1.5.0

錯誤修復和改進

如果是,則更新excludes建置選項識別的模build_systemzip。此版本現在將根據通配符符識別匹配路徑名的 glob 模式。這會啟用要排除哪些目錄的自訂規格。

1.4.0
新功能
  • 添加一個新config命令,該命令啟動交互式提示以修改現有 GDK 配置文件中的字段。

  • 在繼續之前,修改gdk component buildgdk component publish命令以驗證方案大小是否在 Greengrass 要求範圍內(<= 16000 字節)。

錯誤修復和改進
  • 當配方語法錯誤阻止構建完成以進行感知時,在gdk component build命令的輸出中添加其他日誌記錄。

  • 由於otf-version將開放測試框架重命名為 Greengrass 測試框架,因此將gtf-optionsgtf-version分別重命名為和。otf-options

1.3.0
新功能
  • 添加一個新test-e2e命令,以支持使用開放 end-to-end 測試框架組件的測試。

  • 加入新的組態選項zip_name,以透過 zip 建置系統支援可設定的 zip 檔案名稱。

  • 將 GDK 配置檔案中的region屬性設為可選。

錯誤修復和改進
  • 修正使用引數初始化 GDK 專案時,即使指定的範本或儲存庫不存在,也會建立新目錄的--name問題。

1.2.3
錯誤修復和改進
  • 修正值區建立因錯誤處理不正確而失敗的問題。

  • 修復了組件配方中的列表結構被刪除的問題。

1.2.2
錯誤修復和改進
  • 配方鍵不再區分大小寫。

  • 在建立新值區之前,新增檢查以判斷值區中是否存在值區中,AWS 區域且使用者可以存取。要求使用者擁有GetBucketLocation權限。

  • 修正 GDK CLI 組態檔中excludes關鍵字的問題。

1.2.1
錯誤修復和改進
  • 接受gdk-config.json檔案中區域組態項目AWS 區域中的加拿大 (中部ca-central-1) ()。

  • 修正publish指令的 --region GDK CLI 引數的問題。

1.2.0
新功能
  • options項目新增至 GDK CLI build 組態檔中的組態。支持excludesoptions使用zip構建系統時從 zip 工件中排除某些文件。

  • 添加gradlew構建系統以使用搖籃包裝來構建組件。

  • 為構建選gradle項添加對 Kotlin DSL 構建文件的支持。

  • 將項options目新增至 GDK CLI publish 組態檔中的組態。在將檔案上傳options到 Amazon S3 時,支援file_upload_args下列項目以提供額外的引數。

錯誤修復和改進
  • 修復了 Gradle 構建在運行構建命令之前未清理的問題。

  • 修復了構建命令失敗時構建未退出的問題。

  • 改進了gdk component list命令的輸出格式。

1.1.0

新功能
  • 添加對搖籃構建系統的支持。

  • 添加對 Windows 設備上的 Maven 構建系統的支持。

  • --bucket引數加入至元件發佈指令。您可以使用此引數來指定 GDK CLI 上傳元件成品的確切值區。

  • --name參數添加到組件 init 命令。您可以使用此選項來指定 GDK CLI 初始化元件的資料夾。

  • 添加對 S3 存儲桶中但不存在於本地組件構建文件夾中的組件成品的支持。您可以使用此功能來降低大型元件成品的頻寬成本,例如機器學習模型。

錯誤修復和改進
  • 更新元件發佈指令,以檢查元件是否在發佈元件之前建置。如果未建立元件,此指令現在會為您建置元件

  • 修正 ZIP 檔案名稱包含大寫字母時,zip 建置系統無法在 Windows 裝置上建置的問題。

  • 改進了日誌消息格式,並將默認日誌級別更改為INFO在運行 Python 版本比 3.8 以前的設備上。

  • 將最低版本要求更改為 Python 3.6。

1.0.0

初始版本。