配置 IDT 设置以运行Amazon IoT Greengrass资格审查套件 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

配置 IDT 设置以运行Amazon IoT Greengrass资格审查套件

在运行测试之前,必须配置Amazon凭证和主机上的设备。

配置Amazon在配置 .json 中的凭证

您必须在<device_tester_extract_location>/configs/config.json文件。使用适用于的 IDT 的凭证Amazon IoT Greengrass在中创建的 V2 用户创建和配置Amazon Web Services 账户. 您可以采用以下两种方法之一来指定凭证:

  • 在凭证文件中

  • 作为环境变量

IDT 使用与 Amazon CLI 相同的凭证文件。有关更多信息,请参阅配置和凭证文件

凭证文件的位置因您使用的操作系统而异:

  • macOS、Linux:~/.aws/credentials

  • Windows: C:\Users\UserName\.aws\credentials

添加您的Amazon凭证到credentials文件,格式如下:

[default] aws_access_key_id = <your_access_key_id> aws_secret_access_key = <your_secret_access_key>

将 IDT 配置为Amazon IoT Greengrass要使用的 V2Amazon凭证credentials文件中,编辑config.json文件,如下所示:

{ "awsRegion": "region", "auth": { "method": "file", "credentials": { "profile": "default" } } }
注意

如果您未使用default Amazon配置文件中的配置文件名,请确保在您的config.json文件。有关更多信息,请参阅命名配置文件

环境变量是由操作系统维护且由系统命令使用的变量。如果您关闭 SSH 会话,则不会保存它们。适用于的 IDTAmazon IoT GreengrassV2 可以使用AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY环境变量来存储Amazon凭证。

要在 Linux、macOS 或 Unix 上设置这些变量,请使用 export

export AWS_ACCESS_KEY_ID=<your_access_key_id> export AWS_SECRET_ACCESS_KEY=<your_secret_access_key>

要在 Windows 上设置这些变量,请使用 set

set AWS_ACCESS_KEY_ID=<your_access_key_id> set AWS_SECRET_ACCESS_KEY=<your_secret_access_key>

要配置 IDT 以使用环境变量,请编辑 config.json 文件中的 auth 部分。示例如下:

{ "awsRegion": "region", "auth": { "method": "environment" } }

配置 device.json

除了Amazon凭证,适用于的 IDTAmazon IoT GreengrassV2 需要有关运行测试的设备的信息。例如信息包括 IP 地址、登录信息、操作系统和 CPU 架构。

您必须使用位于 <device_tester_extract_location>/configs/device.json 中的 device.json 模板提供此信息:

[ { "id": "<pool-id>", "sku": "<sku>", "features": [ { "name": "arch", "value": "x86_64 | armv6l | armv7l | aarch64" }, { "name": "ml", "value": "dlr | tensorflowlite | dlr,tensorflowlite | no" }, { "name": "docker", "value": "yes | no" }, { "name": "streamManagement", "value": "yes | no" } ], "devices": [ { "id": "<device-id>", "operatingSystem": "linux", "connectivity": { "protocol": "ssh", "ip": "<ip-address>", "port": 22, "auth": { "method": "pki | password", "credentials": { "user": "<user-name>", "privKeyPath": "/path/to/private/key", "password": "<password>" } } } } ] } ]
注意

只有当 method 设置为 pki 时才指定 privKeyPath

只有当 method 设置为 password 时才指定 password

包含值的所有属性都为必填属性,如下所述:

id

一个用户定义的字母数字 ID,用于唯一地标识称作设备池的设备集合。属于池的设备必须具有相同的硬件。运行一组测试时,池中的设备将用于对工作负载进行并行化处理。多个设备用于运行不同测试。

sku

唯一标识所测试设备的字母数字值。该 SKU 用于跟踪符合条件的主板。

注意

如果您想在Amazon Partner设备目录,您在此处指定的 SKU 必须与您在列表过程中使用的 SKU 相匹配。

features

包含设备支持的功能的数组。所有功能都是必需的。

arch

测试运行验证的受支持的操作系统体系结构。有效值为:

  • x86_64

  • armv6l

  • armv7l

  • aarch64

ml

验证设备是否满足使用Amazon-提供的机器学习 (ML) 组件。

启用此功能还会验证设备可以使用深度学习运行时TensorFlow 精简版ML 框架.

有效值为dlrtensorflowlite,或者no.

docker

验证设备是否满足使用Amazon-提供的 Docker 应用程序管理器 (aws.greengrass.DockerApplicationManager) 组件。

启用此功能还会验证设备可以下载 Docker 容器映像Amazon Elastic Container Registry (Amazon ECR).

有效值为yes或者no.

streamManagement

验证设备是否可以下载、安装和运行Amazon IoT Greengrass流管理器.

有效值为yes或者no.

注意

IDT v4.2.0 和更高版本支持测试mldocker, 和streamManagement功能。如果不希望测试这些功能,请将相应的值设置为no.

devices.id

用户定义的测试的设备的唯一标识符。

devices.operatingSystem

设备操作系统。目前,唯一支持的值是 linux

connectivity.protocol

用于与此设备通信的通信协议。目前,唯一支持的值是。ssh用于物理设备。

connectivity.ip

测试的设备 IP 地址。

此属性仅在 connectivity.protocol 设置为 ssh 时适用。

connectivity.port

可选。用于 SSH 连接的端口号。

默认值为 22。

此属性仅在 connectivity.protocol 设置为 ssh 时适用。

connectivity.auth

连接的身份验证信息。

此属性仅在 connectivity.protocol 设置为 ssh 时适用。

connectivity.auth.method

用于通过给定的连接协议访问设备的身份验证方法。

支持的值为:

  • pki

  • password

connectivity.auth.credentials

用于身份验证的凭证。

connectivity.auth.credentials.password

该密码用于登录到正在测试的设备。

此值仅在 connectivity.auth.method 设置为 password 时适用。

connectivity.auth.credentials.privKeyPath

用于登录所测试设备的私有密钥的完整路径。

此值仅在 connectivity.auth.method 设置为 pki 时适用。

connectivity.auth.credentials.user

用于登录所测试设备的用户名。

配置用户数据。json

适用于的 IDTAmazon IoT GreengrassV2 还需要有关测试工件位置和Amazon IoT Greengrass软件版本。

您必须使用位于 <device_tester_extract_location>/configs/userdata.json 中的 userdata.json 模板提供此信息:

{ "TempResourcesDirOnDevice": "/path/to/temp/folder", "InstallationDirRootOnDevice": "/path/to/installation/folder", "GreengrassNucleusZip": "/path/to/aws.greengrass.nucleus.zip" }

包含值的所有属性都为必填属性,如下所述:

TempResourcesDirOnDevice

被测设备上用于存储测试工件的临时文件夹的完整路径。请确保不需要 sudo 权限才能写入此目录。

注意

IDT 完成测试运行后,将删除此文件夹的内容。

InstallationDirRootOnDevice

要在其中安装的设备上的文件夹的完整路径Amazon IoT Greengrass.

GreengrassNucleusZip

Greengrass 原核 ZIP 的完整路径 (greengrass-nucleus-latest.zip) 文件。

注意

有关适用于 IDT 的 Greengrass 核心和 Greengrass CLI 支持版本的信息Amazon IoT Greengrass,请参阅适用于 的最新版本的 IDTAmazon IoT GreengrassV2.