

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

# 開始使用軟體套件目錄
<a name="getting-started-with-software-package-catalog"></a>

您可以透過 AWS 管理主控台、 AWS IoT Core API 操作和 AWS Command Line Interface () 來建置和維護 AWS IoT Device Management 軟體套件目錄AWS CLI。

**注意**  
啟用 AWS IoT 機群索引是使用軟體套件目錄的必要條件。基本操作，例如在 中建立軟體套件版本 AWS 管理主控台 ，以及使用 `CreatePackage` API 命令，會在未啟用 AWS IoT 機群索引的情況下失敗。  
如需搭配 Software Package Catalog 使用 AWS IoT 機群索引的詳細資訊，請參閱 [準備機群索引](preparing-fleet-indexing.md)。

**使用主控台**

若要使用 AWS 管理主控台，請登入 AWS 您的帳戶並導覽至 [AWS IoT Core](https://console.aws.amazon.com/iot/home)。在導覽窗格中，選擇**軟體套件**。然後，您可以從本章節建立管理套件及其版本。

**使用 API 或 CLI 操作**

您可以使用 AWS IoT Core API 操作來建立和管理 Software Package Catalog 功能。如需詳細資訊，請參閱 [AWS IoT API 參考](https://docs.aws.amazon.com/iot/latest/apireference/)和 [AWS SDK 與工具組](https://aws.amazon.com/developer/tools/)。這些 AWS CLI 命令也會管理您的目錄。如需詳細資訊，請參閱 [AWS IoT CLI 指令參考](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/index.html)。

**Topics**
+ [建立軟體套件和套件版本](creating-package-and-version.md)
+ [透過 AWS IoT 任務部署套件版本](deploying-package-version.md)
+ [將套件版本與 AWS IoT 物件建立關聯](associating-package-version.md)

# 建立軟體套件和套件版本
<a name="creating-package-and-version"></a>

您可以使用下列步驟，透過 AWS 管理主控台建立套件和初始版本物件。

**若要建立軟體套件**

1. 登入 AWS 您的帳戶並導覽至 [AWS IoT 主控台](https://console.aws.amazon.com/iot/home)。

1.  在導覽窗格中，選擇**軟體套件**。

1.  在 **AWS IoT 軟體套件**頁面上，選擇**建立套件**。**啟用套件管理的相依性**對話方塊隨即出現。

1.  在**機群索引**下，選取**新增裝置軟體套件和版本**。這是軟體套件目錄的必要條件，並會提供機群的機群索引和指標。

1. 【選用】 如果您想要 AWS IoT 任務在任務成功完成時更新保留的具名影子，請選取**從任務自動更新影子**。如果您不希望 AWS IoT 任務進行此更新，請取消選取此核取方塊。

1.  【選用】 若要授予 AWS IoT 任務更新預留具名影子的權限，請在**選取角色**下選擇**建立角色**。如果您不希望 AWS IoT 任務進行此更新，則不需要此角色。

1. 建立或選取角色。

   1. 若您**沒有此用途的角色**：顯示**建立角色**對話方塊時，請輸入**角色名稱**，然後選擇**建立**。

   1. 若您**具有此用途的角色**：針對**選取角色**，請選擇您的角色，然後確定已選取**將政策附加至 IAM 角色**核取方塊。

1. 選擇**確認**。**建立新套件**頁面隨即出現。

1. 在**套件詳細資訊**下，輸入**套件名稱**。

1. 在**套件描述**下，輸入相關資訊協助您識別管理此套件。

1. [選用] 您可以使用標籤來協助您分類管理此套件。若要新增標籤，請展開**標籤**，選擇**新增**標籤，然後輸入金鑰-值配對。您最多可輸入 50 個標籤。如需詳細資訊，請參閱[標記您的 AWS IoT 資源](https://docs.aws.amazon.com/iot/latest/developerguide/tagging-iot.html)。

**若要在建立新套件時新增套裝版本**

1. 在**初始版本**下，輸入**版本名稱**。

   建議您使用 [SemVer 格式](https://semver.org/) (例如 `1.0.0.0`) 來專屬識別您的套件版本。您也可以使用更適合您使用案例的其他格式方式。如需詳細資訊，請參閱[套件版本生命週期](preparing-to-use-software-package-catalog.md#package-version-lifecycle)。

1. 在**版本描述**下，輸入相關資訊協助您識別管理此套件版本。
**注意**  
**預設版本**核取方塊會停用，因為套件版本是在 `draft` 狀態下建立的。您可以在建立套件版本之後，以及將狀態變更為 時，命名預設版本`published`。如需詳細資訊，請參閱[套件版本生命週期](preparing-to-use-software-package-catalog.md#package-version-lifecycle)。

1. [選用] 若要協助您管理此版本或將資訊傳送給您的裝置，請為**版本屬性**輸入一或多個名稱/值配對。為您輸入的每個名稱/值配對選擇**新增屬性**。如需詳細資訊，請參閱[版本屬性](preparing-to-use-software-package-catalog.md#version-attributes)。

1. [選用] 您可以使用標籤來協助您分類管理此套件。若要新增標籤，請展開**標籤**，選擇**新增**標籤，然後輸入金鑰-值配對。您最多可輸入 50 個標籤。如需詳細資訊，請參閱[標記您的 AWS IoT 資源](https://docs.aws.amazon.com/iot/latest/developerguide/tagging-iot.html)。

1. 選擇**下一步**。

**將軟體物料清單與套件版本建立關聯 （選用）**

1. 在**步驟 3：SBOMs（選用）** 上，選擇預設 SBOM 檔案格式和驗證模式，用於驗證您的軟體物料清單，然後再與套件版本相關聯。 ****

1. 在**新增 SBOM 檔案**視窗中，輸入代表您版本控制的 Amazon S3 儲存貯體的 Amazon Resource Name (ARN)，如果預設類型無法運作，則輸入偏好的 SBOM 檔案格式。
**注意**  
如果您的套件版本有多個軟體物料清單，您可以新增單一 SBOM 檔案或包含多個 SBOMs 的單一 zip 檔案。

1. 在**新增的 SBOM 檔案**視窗中，您可以檢視您為套件版本新增的 SBOM 檔案。

1. 選擇**建立套件和版本**。套件版本頁面隨即出現，您可以在**新增的 SBOM 檔案視窗中查看 SBOM 檔案**的驗證狀態。當 SBOM 檔案經過驗證`In progress`時，初始狀態將為 。
**注意**  
SBOM 檔案驗證狀態為 `Invalid file`、`Not started`、`Validated (CycloneDX)`、、 `In progress` `Validated (SPDX)`和驗證失敗原因。

# 透過 AWS IoT 任務部署套件版本
<a name="deploying-package-version"></a>

您可以使用下列步驟，透過 AWS 管理主控台部署套件版本。

**先決條件：**

開始之前，請執行以下動作：
+ 向 註冊 AWS IoT 物件 AWS IoT Core。如需將裝置新增至其中的指示 AWS IoT Core，請參閱[建立物件](https://docs.aws.amazon.com/iot/latest/developerguide/create-iot-resources.html#create-aws-thing)。
+ 【選用】 建立 AWS IoT 物件群組或動態物件群組，以您要部署套件版本的裝置為目標。如需相關指示建立物件群組，請參閱[建立靜態物件群組](https://docs.aws.amazon.com/iot/latest/developerguide/thing-groups.html#create-thing-group)。如需相關指示建立動態物件群組，請參閱[建立動態物件群組](https://docs.aws.amazon.com/iot/latest/developerguide/dynamic-thing-groups.html#create-dynamic-thing-group)。
+ 建立軟體套件和套件版本。如需詳細資訊，請參閱[建立軟體套件和套件版本](creating-package-and-version.md)。
+ 建立任務文件。如需詳細資訊，請參閱[準備任務文件和套件版本以進行部署](https://docs.aws.amazon.com/iot/latest/developerguide/preparing-jobs-for-service-package-catalog.html#preparing-to-deploy)。

**部署 AWS IoT 任務**

1. 在 [AWS IoT 主控台](https://console.aws.amazon.com/iot/home)上，選擇**軟體套件**。

1. 選擇您要部署的軟體套件。**軟體套件詳細資訊**頁面隨即顯示。

1. 在**版本**之下選擇您要部署的套件版本，然後選擇**部署任務版本**。

1. 若這是您第一次透過此入口網站部署任務，您會看到附有規範說明的對話方塊。請檢閱資訊，然後選擇**確認**。

1. 輸入部署操作的名稱，或在**名稱**欄位保留自動產生的名稱。

1. [選用] 在**描述**欄位中，輸入識別部署目的或內容的描述，或保留自動產生的資訊。

   **注意：**建議您不要在任務名稱和描述欄位中使用個人識別資訊。

1. [選用] 新增任何要與此任務建立關聯的標籤。

1. 選擇**下一步**。

1. 在**任務目標**之下，選擇應負責接收任務的物件或物件群組。

1. 在**任務檔案**欄位中，指定任務文件 JSON 檔案。

1. 開啟**與套件目錄服務整合的任務**。

1. 選取任務文件中所指定的套件和版本。
**注意**  
您必須選擇在任務文件中所指定的相同套件和套件版本。您可以納入更多項目，但該任務只會針對任務文件中包含的套件和版本發出指示。如需詳細資訊，請參閱[部署時命名套件和版本](https://docs.aws.amazon.com/iot/latest/developerguide/preparing-jobs-for-service-package-catalog.html#naming-package-versions)。

1. 選擇**下一步**。

1. 在任務組態頁面上，選取任務組態對話方塊中下列任一任務類型：
   + **快照任務**：快照任務在目標裝置和群組上完成執行後即完成。
   + **連續任務**：連續任務適用於物件群組，並在稍後新增至所指定目標群組的任何裝置上執行。

1. 在**其他組態 - 選用**對話方塊中，檢閱下列選用任務組態，並視需要進行選擇。如需詳細資訊，請參閱[任務推展、排程和中止組態](https://docs.aws.amazon.com/iot/latest/developerguide/jobs-configurations-details.html#job-rollout-abort-scheduling)和[任務執行逾時和重試組態](https://docs.aws.amazon.com/iot/latest/developerguide/jobs-configurations-details.html#job-timeout-retry)。
   + 推展組態
   + Scheduling configuration (排程組態)
   + 任務執行逾時組態
   + 任務執行重試組態
   + 中止組態

1. 檢視任務選擇，然後選擇**送出**。

建立任務後，主控台會產生 JSON 簽章，並將其放置在您的任務文件中。您可以使用 AWS IoT 主控台來檢視任務的狀態，或取消或刪除任務。若要管理任務，請前往[主控台的任務中心](https://console.aws.amazon.com/iot/home#/jobhub)。

# 將套件版本與 AWS IoT 物件建立關聯
<a name="associating-package-version"></a>

在裝置上安裝軟體後，您可以將套件版本與 AWS IoT 物件的預留具名影子建立關聯。如果 AWS IoT 任務已設定為在任務部署並成功完成之後更新物件的預留具名影子，則您不需要完成此程序。如需詳細資訊，請參閱[預留已命名影子](preparing-to-use-software-package-catalog.md#reserved-named-shadow)。

**先決條件：**

開始之前，請執行以下動作：
+ 建立 AWS IoT 實物或實物，並透過 建立遙測 AWS IoT Core。如需詳細資訊，請參閱 [入門 AWS IoT Core](https://docs.aws.amazon.com/iot/latest/developerguide/iot-gs.html)。
+  建立軟體套件和套件版本。如需詳細資訊，請參閱[建立軟體套件和套件版本](creating-package-and-version.md)。
+  在裝置上安裝套件版本軟體。

**注意**  
將套件版本與 AWS IoT 物件建立關聯並不會在實體裝置上更新或安裝軟體。套件版本必須部署至裝置。

**將套件版本與 AWS IoT 物件建立關聯**

1. 在 [AWS IoT 主控台](https://console.aws.amazon.com/iot/home)瀏覽窗格中，展開**所有裝置**選單，然後選擇**物件**。

1. 從清單中識別您要更新的 AWS IoT 物件，然後選擇物件名稱以顯示其詳細資訊頁面。

1. 在**詳細資訊**區段中，選擇**套件和版本**。

1.  選擇**新增至套件和版本**。

1.  針對**選擇裝置套件**，選擇您想要的軟體套件。

1.  針對**選擇版本**，選擇您想要的軟體版本。

1.  選擇**新增裝置套件**。

    套件和版本會顯示在**所選套件和版本**清單中。

1.  針對您要與此物件建立關聯的每個套件和版本重複這些步驟。

1.  完成後，請選擇**新增套件和版本詳細資訊**。**物件詳細資訊**頁面隨即開啟，您可以在清單中看到新的套件與版本。