

终止支持通知：2026 年 10 月 7 日， AWS 将停止对的支持。 AWS IoT Greengrass Version 1 2026 年 10 月 7 日之后，您将无法再访问这些 AWS IoT Greengrass V1 资源。如需了解更多信息，请访问[迁移自 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Greengrass 连接器入门 (CLI)
<a name="connectors-cli"></a>

此功能适用于 AWS IoT Greengrass 酷睿 v1.7 及更高版本。

本教程介绍如何使用 AWS CLI 来处理连接器。

使用连接器可加快开发生命周期。连接器是预先构建、可重复使用的模块，可以更加轻松地与服务、协议和资源进行交互。它们可以帮助您将业务逻辑更快地部署到 Greengrass 设备。有关更多信息，请参阅 [使用 Greengrass 连接器与服务和协议集成](connectors.md)。

在本教程中，您将配置和部署 [ Twilio 通知](twilio-notifications-connector.md)连接器。连接器接收 Twilio 消息信息作为输入数据，然后触发 Twilio 文本消息。下图中将显示数据流。

![\[从 Lambda 函数到 Twilio 通知连接器再到 Twilio 的数据流。\]](http://docs.aws.amazon.com/zh_cn/greengrass/v1/developerguide/images/connectors/twilio-solution.png)


配置连接器后，您便可创建 Lambda 函数和订阅。
+ 该函数将评估来自温度传感器的模拟数据。它有条件地将 Twilio 消息信息发布到 MQTT 主题。这是连接器订阅的主题。
+ 该订阅允许函数发布到主题，并允许连接器接收来自该主题的数据。

Twilio 通知连接器需要 Twilio 身份验证令牌，才能与 Twilio API 进行交互。该令牌是在群组资源中创建 AWS Secrets Manager 和引用的文本类型密钥。这样就可以 AWS IoT Greengrass 在 Greengrass 内核上创建密钥的本地副本，在那里对其进行加密并可供连接器使用。有关更多信息，请参阅 [将机密部署到核 AWS IoT Greengrass 心](secrets.md)。

本教程包含以下概括步骤：

1. [创建 Secrets Manager 密钥](#connectors-cli-create-secret)

1. [创建资源定义和版本](#connectors-cli-create-resource-definition)

1. [创建连接器定义和版本](#connectors-cli-create-connector-definition)

1. [创建 Lambda 函数部署程序包](#connectors-cli-create-deployment-package)

1. [创建 Lambda 函数](#connectors-cli-create-function)

1. [创建函数定义和版本](#connectors-cli-create-function-definition)

1. [创建订阅定义和版本](#connectors-cli-create-subscription-definition)

1. [创建组版本](#connectors-cli-create-group-version)

1. [创建 部署。](#connectors-cli-create-deployment)

1. [测试解决方案](#connectors-cli-test-solution)

完成本教程大约需要 30 分钟。

**使用 AWS IoT Greengrass API**

使用 Greengrass 组及组组件（例如，组中的连接器、函数和资源）时，了解以下模式会很有帮助。
+ 在层次结构顶部，组件有一个 *定义* 对象，该对象是*版本* 对象的容器。反过来，版本又是实际连接器、函数或其他组件类型的容器。
+ 当您部署到 Greengrass 核心时，将部署一个特定的组版本。组版本可包含每种类型的组件的一个版本。核心是必需的，而其他组件可根据需要提供。
+ 版本是不可变的，因此当您要进行更改时必须创建新版本。

**提示**  
如果您在运行 AWS CLI 命令时收到错误，请添加该`--debug`参数，然后重新运行该命令以获取有关该错误的更多信息。

 AWS IoT Greengrass API 允许您为组件类型创建多个定义。例如，您可以在每次创建 `FunctionDefinition` 时都创建一个 `FunctionDefinitionVersion` 对象，也可以向现有定义添加新版本。这种灵活性使您能够自定义版本管理系统。

## 先决条件
<a name="connectors-cli-prerequisites"></a>

要完成此教程，需要：
+ Greengrass 组和 Greengrass Core（v1.9.3 或更高版本）。要了解如何创建 Greengrass 组和核心，请参阅 [入门 AWS IoT Greengrass](gg-gs.md)。“入门”教程还包含用于安装 AWS IoT Greengrass Core 软件的步骤。
+ Python 3.7 安装在 AWS IoT Greengrass 核心设备上。
+  AWS IoT Greengrass 必须配置为支持本地密钥，如[密钥要求](secrets.md#secrets-reqs)中所述。
**注意**  
此要求包括允许访问您的 Secrets Manager 密钥。如果使用的是默认 Greengrass 服务角色，则 Greengrass 有权获得名称以 *greengrass-* 开头的密钥的值。
+ Twilio 账户 SID、身份验证令牌和支持 Twilio 的电话号码。创建 Twilio 项目后，项目控制面板上会显示这些值。
**注意**  
您可以使用 Twilio 试用账户。如果您使用的是试用账号，则必须将非 Twilio 收件人的电话号码添加到经过验证的电话号码列表中。 有关更多信息，请参阅[如何使用您的免费 Twilio 试用账户](https://www.twilio.com/docs/usage/tutorials/how-to-use-your-free-trial-account)。
+ AWS CLI 已在您的计算机上安装和配置。有关更多信息，请参阅 *AWS Command Line Interface 用户指南*中的[安装 AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) 和[配置 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)。

   

  本教程中的示例是针对 Linux 及其他基于 Unix 的系统编写的。如果您使用的是 Windows，请参阅[为 AWS Command Line Interface指定参数值](https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html)以了解语法上的差异。

  如果命令包含 JSON 字符串，本教程提供了在单行包含 JSON 的示例。在某些系统上，使用此格式可能会更容易地编辑和运行命令。

## 步骤 1：创建 Secrets Manager 密钥
<a name="connectors-cli-create-secret"></a>

在此步骤中，您将使用 AWS Secrets Manager API 为您的 Twilio 身份验证令牌创建密钥。

1. 首先，创建该密钥。
   + *twilio-auth-token*替换为你的 Twilio 身份验证令牌。

   ```
   aws secretsmanager create-secret --name greengrass-TwilioAuthToken --secret-string twilio-auth-token
   ```
**注意**  
*默认情况下，Greengrass 服务角色 AWS IoT Greengrass 允许获取名称以 greengrass-开头的机密的值。*有关更多信息，请参阅[密钥要求](secrets.md#secrets-reqs)。

1. 从输出中复制该密钥的 `ARN`。您将使用此密钥创建并配置 Twilio 通知连接器。

## 步骤 2：创建资源定义和版本
<a name="connectors-cli-create-resource-definition"></a>

在此步骤中，您将使用 AWS IoT Greengrass API 为您的 Secrets Manager 密钥创建密钥资源。

1. 创建一个包含初始版本的资源定义。
   + *secret-arn*替换`ARN`为您在上一步中复制的密钥。

    

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

   ```
   aws greengrass create-resource-definition --name MyGreengrassResources --initial-version '{
       "Resources": [
           {
               "Id": "TwilioAuthToken",
               "Name": "MyTwilioAuthToken",
               "ResourceDataContainer": {
                   "SecretsManagerSecretResourceData": {
                       "ARN": "secret-arn"
                   }
               }
           }
       ]
   }'
   ```

------
#### [ JSON Single-line ]

   ```
   aws greengrass create-resource-definition \
   --name MyGreengrassResources \
   --initial-version '{"Resources": [{"Id": "TwilioAuthToken", "Name": "MyTwilioAuthToken", "ResourceDataContainer": {"SecretsManagerSecretResourceData": {"ARN": "secret-arn"}}}]}'
   ```

------

1. 从输出中复制该资源定义的 `LatestVersionArn`。您将使用此值向部署到核心的组版本添加资源定义版本。

## 步骤 3：创建连接器定义和版本
<a name="connectors-cli-create-connector-definition"></a>

在此步骤中，您将为 Twilio 通知连接器配置参数。

1. 创建包含初始版本的连接器定义。
   + *account-sid*用你的 Twilio 账户 SID 替换。
   + *secret-arn*替换为你的 Sec `ARN` rets Manager 密钥。连接器使用此参数获取本地密钥的值。
   + *phone-number*替换为支持 Twilio 的电话号码。Twilio 使用此参数来启动文本消息。可在输入消息负载中覆盖此参数。采用以下格式：`+19999999999`。

    

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

   ```
   aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{
       "Connectors": [
           {
               "Id": "MyTwilioNotificationsConnector",
               "ConnectorArn": "arn:aws:greengrass:region::/connectors/TwilioNotifications/versions/4",
               "Parameters": {
                   "TWILIO_ACCOUNT_SID": "account-sid",
                   "TwilioAuthTokenSecretArn": "secret-arn",
                   "TwilioAuthTokenSecretArn-ResourceId": "TwilioAuthToken",
                   "DefaultFromPhoneNumber": "phone-number"
               }
           }
       ]
   }'
   ```

------
#### [ JSON Single-line ]

   ```
   aws greengrass create-connector-definition \
   --name MyGreengrassConnectors \
   --initial-version '{"Connectors": [{"Id": "MyTwilioNotificationsConnector", "ConnectorArn": "arn:aws:greengrass:region::/connectors/TwilioNotifications/versions/4", "Parameters": {"TWILIO_ACCOUNT_SID": "account-sid", "TwilioAuthTokenSecretArn": "secret-arn", "TwilioAuthTokenSecretArn-ResourceId": "TwilioAuthToken", "DefaultFromPhoneNumber": "phone-number"}}]}'
   ```

------
**注意**  
`TwilioAuthToken` 是上一步中创建密钥资源时所使用的 ID。

1. 从输出中复制该连接器定义的 `LatestVersionArn`。您将使用此值向部署到核心的组版本添加连接器定义版本。

## 步骤 4：创建 Lambda 函数部署程序包
<a name="connectors-cli-create-deployment-package"></a>

要创建 Lambda 函数，您必须先创建一个包含函数代码和依赖项的 Lambda 函数*部署包*。Greengrass Lambda 函数需要 [AWS IoT Greengrass Core 软件开发工具包](lambda-functions.md#lambda-sdks-core)来执行各项任务，例如在核心环境中与 MQTT 消息通信和访问本地机密等。本教程将创建一个 Python 函数，因此您需要在部署包中使用 Python 版本的软件开发工具包。

1. <a name="download-ggc-sdk"></a> 从[AWS IoT Greengrass 核心软件开发工具包](what-is-gg.md#gg-core-sdk-download)下载页面，将适用于 Python 的 AWS IoT Greengrass 酷睿 SDK 下载到你的电脑上。

1. <a name="unzip-ggc-sdk"></a>解压缩下载的程序包以获取软件开发工具包。软件开发工具包是 `greengrasssdk` 文件夹。

1. 将以下 Python 代码函数保存在名为 `temp_monitor.py` 的本地文件中。

   ```
   import greengrasssdk
   import json
   import random
   
   client = greengrasssdk.client('iot-data')
   
   # publish to the Twilio Notifications connector through the twilio/txt topic
   def function_handler(event, context):
       temp = event['temperature']
       
       # check the temperature
       # if greater than 30C, send a notification
       if temp > 30:
           data = build_request(event)
           client.publish(topic='twilio/txt', payload=json.dumps(data))
           print('published:' + str(data))
           
       print('temperature:' + str(temp))
       return
   
   # build the Twilio request from the input data
   def build_request(event):
       to_name = event['to_name']
       to_number = event['to_number']
       temp_report = 'temperature:' + str(event['temperature'])
   
       return {
           "request": {
               "recipient": {
                   "name": to_name,
                   "phone_number": to_number,
                   "message": temp_report
               }
           },
           "id": "request_" + str(random.randint(1,101))
       }
   ```

1. 将以下项目压缩到名为 `temp_monitor_python.zip` 的文件中。在创建 ZIP 文件时，仅包含代码和依赖项，而不包含文件夹。
   + **temp\$1monitor.py**。应用程序逻辑。
   + **greengrasssdk**。发布 MQTT 消息的 Python Greengrass Lambda 函数所需的库。

   此即 Lambda 函数部署程序包。

## 步骤 5：创建 Lambda 函数
<a name="connectors-cli-create-function"></a>

现在，创建一个使用部署程序包的 Lambda 函数。

1. <a name="cli-create-empty-lambda-role"></a>创建 IAM 角色，以便您可以在创建该函数时传入角色 ARN。

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

   ```
   aws iam create-role --role-name Lambda_empty --assume-role-policy '{
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "lambda.amazonaws.com"
               },
              "Action": "sts:AssumeRole"
           }
       ]
   }'
   ```

------
#### [ JSON Single-line ]

   ```
   aws iam create-role --role-name Lambda_empty --assume-role-policy '{"Version": "2012-10-17",		 	 	  "Statement": [{"Effect": "Allow", "Principal": {"Service": "lambda.amazonaws.com"},"Action": "sts:AssumeRole"}]}'
   ```

------
**注意**  
AWS IoT Greengrass 不使用这个角色，因为你的 Greengrass Lambda 函数的权限是在 Greengrass 群组角色中指定的。对于本教程，您将创建一个空角色。

1. <a name="cli-copy-lambda-role-arn"></a>从输出中复制 `Arn`。

1. 使用 AWS Lambda API 创建 TempMonitor 函数。以下命令假定该 zip 文件位于当前目录中。
   + 将 *role-arn* 替换为复制的 `Arn`。

   ```
   aws lambda create-function \
   --function-name TempMonitor \
   --zip-file fileb://temp_monitor_python.zip \
   --role role-arn \
   --handler temp_monitor.function_handler \
   --runtime python3.7
   ```

1. 发布该函数的版本。

   ```
   aws lambda publish-version --function-name TempMonitor --description 'First version'
   ```

1. 为发布的版本创建别名。

   Greengrass 组可以按别名（推荐）或版本引用 Lambda 函数。使用别名，您可以更轻松地管理代码更新，因为您在更新函数代码时，不必更改订阅表或组定义。相反，您只需将别名指向新的函数版本。
**注意**  
AWS IoT Greengrass **不支持 \$1LATEST 版本的 Lambda 别名。**

   ```
   aws lambda create-alias --function-name TempMonitor --name GG_TempMonitor --function-version 1
   ```

1. 从输出中复制 `AliasArn`。在为订阅配置函数 AWS IoT Greengrass 和创建订阅时，您可以使用此值。

现在，您可以为配置函数了 AWS IoT Greengrass。

## 步骤 6：创建函数定义和版本
<a name="connectors-cli-create-function-definition"></a>

要在 AWS IoT Greengrass 核心上使用 Lambda 函数，您需要创建一个函数定义版本，该版本通过别名引用 Lambda 函数并定义组级配置。有关更多信息，请参阅 [使用组特定的配置控制 Greengrass Lambda 函数的执行](lambda-group-config.md)。

1. 创建一个包含初始版本的函数定义。
   + *alias-arn*替换`AliasArn`为您在创建别名时复制的。

    

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

   ```
   aws greengrass create-function-definition --name MyGreengrassFunctions --initial-version '{
       "Functions": [
           {
               "Id": "TempMonitorFunction",
               "FunctionArn": "alias-arn",
               "FunctionConfiguration": {
                   "Executable": "temp_monitor.function_handler",
                   "MemorySize": 16000,
                   "Timeout": 5
               }
           }
       ]
   }'
   ```

------
#### [ JSON Single-line ]

   ```
   aws greengrass create-function-definition \
   --name MyGreengrassFunctions \
   --initial-version '{"Functions": [{"Id": "TempMonitorFunction", "FunctionArn": "alias-arn", "FunctionConfiguration": {"Executable": "temp_monitor.function_handler", "MemorySize": 16000,"Timeout": 5}}]}'
   ```

------

1. 从输出中复制 `LatestVersionArn`。您将使用此值向部署到核心的组版本添加函数定义版本。

1. 从输出中复制 `Id`。您在稍后更新该函数时将使用此值。

## 步骤 7：创建订阅定义和版本
<a name="connectors-cli-create-subscription-definition"></a>

<a name="connectors-how-to-add-subscriptions-p1"></a>在该步骤中，您将添加一个订阅，使 Lambda 函数将输入数据发送到连接器。此连接器定义它订阅的 MQTT 主题，因此该订阅使用其中一个主题。这与示例函数发布到的主题相同。

<a name="connectors-how-to-add-subscriptions-p2"></a>在本教程中，您还可以创建订阅，允许该函数接收来自连接器的模拟温度读数， AWS IoT 并 AWS IoT 允许从连接器接收状态信息。

1. 创建一个订阅定义，其中包含带有订阅的初始版本。
   + *alias-arn*替换`AliasArn`为在创建函数别名时复制的。将此 ARN 用于使用它的两个订阅。

    

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

   ```
   aws greengrass create-subscription-definition --initial-version '{
       "Subscriptions": [
           {
               "Id": "TriggerNotification",
               "Source": "alias-arn",
               "Subject": "twilio/txt",
               "Target": "arn:aws:greengrass:region::/connectors/TwilioNotifications/versions/4"
           },        
           {
               "Id": "TemperatureInput",
               "Source": "cloud",
               "Subject": "temperature/input",
               "Target": "alias-arn"
           },
           {
               "Id": "OutputStatus",
               "Source": "arn:aws:greengrass:region::/connectors/TwilioNotifications/versions/4",
               "Subject": "twilio/message/status",
               "Target": "cloud"
           }
       ]
   }'
   ```

------
#### [ JSON Single-line ]

   ```
   aws greengrass create-subscription-definition \
   --initial-version '{"Subscriptions": [{"Id": "TriggerNotification", "Source": "alias-arn", "Subject": "twilio/txt", "Target": "arn:aws:greengrass:region::/connectors/TwilioNotifications/versions/4"},{"Id": "TemperatureInput", "Source": "cloud", "Subject": "temperature/input", "Target": "alias-arn"},{"Id": "OutputStatus", "Source": "arn:aws:greengrass:region::/connectors/TwilioNotifications/versions/4", "Subject": "twilio/message/status", "Target": "cloud"}]}'
   ```

------

1. 从输出中复制 `LatestVersionArn`。您将使用此值向部署到核心的组版本添加订阅定义版本。

## 步骤 8：创建组版本
<a name="connectors-cli-create-group-version"></a>

现在已准备就绪，可以创建一个包含要部署的所有项目的组版本。要实现此目的，需要创建一个引用每种组件类型的目标版本的组版本。

首先，获取核心定义版本的组 ID 和 ARN。这些值是创建组版本所必需的。

1. 获取组的 ID 和最新组版本：

   1. <a name="get-group-id-latestversion"></a>获取目标 Greengrass 群 IDs 组和群组版本。此过程假定这是最新的组和组版本。以下查询将返回最近创建的组。

      ```
      aws greengrass list-groups --query "reverse(sort_by(Groups, &CreationTimestamp))[0]"
      ```

      或者，您也可以按名称查询。系统不要求组名称是唯一的，所以可能会返回多个组。

      ```
      aws greengrass list-groups --query "Groups[?Name=='MyGroup']"
      ```
**注意**  
<a name="find-group-ids-console"></a>您也可以在 AWS IoT 控制台中找到这些值。组 ID 显示在组的**设置**页面上。群组版本显示 IDs 在群组的 “**部署**” 选项卡上。

   1. <a name="copy-target-group-id"></a>从输出中复制目标组的 `Id`。您将使用此值获取核心定义版本及部署组的时间。

   1. <a name="copy-latest-group-version-id"></a>从输出中复制 `LatestVersion`，这是添加到组的最后一个版本的 ID。您将使用此值获取核心定义版本。

1. 获取核心定义版本的 ARN：

   1. 获取组版本。在此步骤中，我们假定最新组版本包含一个核心定义版本。
      + *group-id*替换为你为`Id`该群组复制的。
      + *group-version-id*替换为你为`LatestVersion`该群组复制的。

      ```
      aws greengrass get-group-version \
      --group-id group-id \
      --group-version-id group-version-id
      ```

   1. 从输出中复制 `CoreDefinitionVersionArn`。

1. 创建组版本。
   + *group-id*替换为你为`Id`该群组复制的。
   + *core-definition-version-arn*替换`CoreDefinitionVersionArn`为你为核心定义版本复制的。
   + *resource-definition-version-arn*替换为您`LatestVersionArn`为资源定义复制的。
   + *connector-definition-version-arn*替换为您`LatestVersionArn`为连接器定义复制的。
   + *function-definition-version-arn*替换`LatestVersionArn`为你为函数定义复制的。
   + *subscription-definition-version-arn*替换为您`LatestVersionArn`为订阅定义复制的内容。

   ```
   aws greengrass create-group-version \
   --group-id group-id \
   --core-definition-version-arn core-definition-version-arn \
   --resource-definition-version-arn resource-definition-version-arn \
   --connector-definition-version-arn connector-definition-version-arn \
   --function-definition-version-arn function-definition-version-arn \
   --subscription-definition-version-arn subscription-definition-version-arn
   ```

1. 从输出中复制 `Version` 的值。这是组版本的 ID。您将使用此值部署组版本。

## 步骤 9：创建部署
<a name="connectors-cli-create-deployment"></a>

将组部署到核心设备。

1. <a name="check-gg-daemon-is-running"></a>在核心设备终端中，确保 AWS IoT Greengrass 守护程序正在运行。

   1. 要检查进程守护程序是否正在运行，请执行以下操作：

      ```
      ps aux | grep -E 'greengrass.*daemon'
      ```

      如果输出包含 `root` 的 `/greengrass/ggc/packages/1.11.6/bin/daemon` 条目，则表示进程守护程序正在运行。

   1. 启动进程守护程序：

      ```
      cd /greengrass/ggc/core/
      sudo ./greengrassd start
      ```

1. <a name="create-deployment"></a>创建 部署。
   + *group-id*替换为你为`Id`该群组复制的。
   + *group-version-id*替换为你`Version`为新群组版本复制的版本。

   ```
   aws greengrass create-deployment \
   --deployment-type NewDeployment \
   --group-id group-id \
   --group-version-id group-version-id
   ```

1. <a name="copy-deployment-id"></a>从输出中复制 `DeploymentId`。

1. <a name="get-deployment-status"></a>获取部署状态。
   + *group-id*替换为你为`Id`该群组复制的。
   + *deployment-id*替换为您`DeploymentId`为部署复制的。

   ```
   aws greengrass get-deployment-status \
   --group-id group-id \
   --deployment-id deployment-id
   ```

   如果状态为 `Success`，则部署成功。有关问题排查帮助，请参阅[故障排除 AWS IoT Greengrass](gg-troubleshooting.md)。

## 测试解决方案
<a name="connectors-cli-test-solution"></a>

1. <a name="choose-test-page"></a>在 AWS IoT 主机主页上，选择**测试**。

1. 对于**订阅主题**，请使用以下值，然后选择**订阅**。Twilio 通知连接器向此主题发布状态信息。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v1/developerguide/connectors-cli.html)

1. 对于**发布到主题**，请使用以下值，然后选择**发布** 来调用函数。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v1/developerguide/connectors-cli.html)

   如果成功，收件人将收到短信，控制台将在[输出数据](twilio-notifications-connector.md#twilio-notifications-connector-data-output)中显示 `success` 状态。

   现在，将输入消息中的 `temperature` 更改为 **29** 并发布。由于此值小于 30，因此该 TempMonitor 函数不会触发 Twilio 消息。

## 另请参阅
<a name="connectors-cli-see-also"></a>
+ [使用 Greengrass 连接器与服务和协议集成](connectors.md)
+ [AWS提供的 Greengrass 连接器](connectors-list.md)
+ [Greengrass 连接器入门（控制台）](connectors-console.md)
+ [AWS Secrets Manager 命令](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager)*参考中的AWS CLI 命令*
+ <a name="see-also-iam-cli"></a>AWS Identity and Access Management 命令*参考@@ [中的 (IAM)AWS CLI 命令](https://docs.aws.amazon.com/cli/latest/reference/iam)*
+ <a name="see-also-lambda-cli"></a>[AWS Lambda 命令](https://docs.aws.amazon.com/cli/latest/reference/lambda)*参考中的AWS CLI 命令*
+ <a name="see-also-gg-cli"></a>[AWS IoT Greengrass 命令](https://docs.aws.amazon.com/cli/latest/reference/greengrass/index.html)*参考中的AWS CLI 命令*