使用 Image Assistant CLI 操作以编程方式创建 AppStream 2.0 映像 - Amazon AppStream on

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

使用 Image Assistant CLI 操作以编程方式创建 AppStream 2.0 映像

您可以通过连接到映像生成器并使用 Image Assistant 图形用户界面 (GUI) 或命令行界面 (CLI) 操作来创建 Amazon AppStream 2.0 映像。Image Assistant CLI 操作提供了与 Image Assistant GUI 类似的功能。通过这些操作,您可以以编程方式执行以下操作:

  • 管理映像中包含的应用程序。

  • 保存、更新和重置默认应用程序设置。

  • 启用或禁用 AppStream 2.0 动态应用程序框架。

  • 指定标签。

  • 创建映像。

您可以使用这些操作将 AppStream 2.0 映像创建与持续集成或部署软件开发过程集成。

要使用 Image Assistant CLI 操作,请在映像生成器上使用您选择的命令行 shell。例如,您可以使用 Windows 命令提示符或 PowerShell.

注意

映像生成器必须使用 2019 年 7 月 26 日或之后发布的 AppStream 2.0 代理版本。如果没有映像生成器,您必须创建一个。有关更多信息,请参阅 启动映像生成器来安装和配置流式处理应用程序

使用 Image Assistant CLI 操作创建默认应用程序和 Windows 设置

您可以创建默认应用程序和 Windows 设置,以便用户可以快速开始使用他们的应用程序。创建这些设置时, AppStream 2.0 将 Windows 默认用户配置文件替换为您配置的配置文件。然后使用 Windows 默认用户配置文件在队列实例中为用户创建初始设置。如果您使用 Image Assistant CLI 操作创建这些设置,则应用程序安装程序或自动化应该会直接修改 Windows 默认用户配置文件。

要使用其他 Windows 用户的配置文件覆盖 Windows 默认用户配置文件,您也可以使用 Image Assistant update-default-profile CLI 操作。

有关配置默认应用程序和 Windows 设置的更多信息,请参阅中的 “为 AppStream 2.0 用户创建默认应用程序和 Windows 设置”默认应用程序和 Windows 设置及应用程序启动性能

使用 Image Assistant CLI 操作优化应用程序的启动性能

AppStream 2.0 允许您为用户的流媒体会话优化应用程序的启动性能。使用 Image Assistant CLI 操作执行此操作时,您可以指定要针对应用程序启动进行优化的文件。通过将文件添加到应用程序优化清单,您可以缩短在新队列实例上首次启动该应用程序所需的时间。但是,这也增加了队列实例做好准备以供用户使用的时间。优化清单是每个应用程序的行分隔文本文件。

注意

如果您同时使用 Image Assistant CLI 操作和 Image Assistant GUI 来配置应用程序优化清单,则两份清单将会合并。

以下是应用程序优化清单文件的示例:

C:\Program Files (x86)\Notepad++\autoCompletion C:\Program Files (x86)\Notepad++\localization C:\Program Files (x86)\Notepad++\plugins C:\Program Files (x86)\Notepad++\themes C:\Program Files (x86)\Notepad++\updater C:\Program Files (x86)\Notepad++\userDefineLangs C:\Program Files (x86)\Notepad++\change.log C:\Program Files (x86)\Notepad++\config.xml C:\Program Files (x86)\Notepad++\contextMenu.xml C:\Program Files (x86)\Notepad++\doLocalConf.xml C:\Program Files (x86)\Notepad++\functionList.xml C:\Program Files (x86)\Notepad++\langs.model.xml C:\Program Files (x86)\Notepad++\license.txt C:\Program Files (x86)\Notepad++\notepad++.exe C:\Program Files (x86)\Notepad++\readme.txt C:\Program Files (x86)\Notepad++\SciLexer.dll C:\Program Files (x86)\Notepad++\shortcuts.xml C:\Program Files (x86)\Notepad++\stylers.model.xml

有关优化应用程序启动性能的更多信息,请参阅中的 “优化应用程序的启动性能默认应用程序和 Windows 设置及应用程序启动性能

以编程方式创建 AppStream 2.0 映像的过程概述

您可以将 Image Assistant CLI 操作与应用程序安装自动化一起使用,创建完全编程的 AppStream 2.0 映像创建工作流程。在应用程序安装自动化完成之后、映像创建之前,请使用 Image Assistant CLI 操作指定以下内容:

  • 您的用户可以启动的可执行文件

  • 您应用程序的优化清单

  • 其他 AppStream 2.0 图像元数据

以下高级概述描述了以编程方式创建 AppStream 2.0 映像的过程。

  1. 使用应用程序安装自动化在映像生成器上安装所需的应用程序。此安装可能包括用户将启动的应用程序、所有依赖关系和后台应用程序。

  2. 确定要优化的文件和文件夹。

  3. 如果适用,使用 Image Asadd-application sistant CLI 操作为 AppStream 2.0 映像指定应用程序元数据和优化清单。

  4. 要为 AppStream 2.0 映像指定其他应用程序,请根据需要对每个应用程序重复步骤 1 到 3。

  5. 如果适用,请使用 Image Assistant update-default-profile CLI 操作覆盖默认 Windows 配置文件,并为用户创建默认应用程序和 Windows 设置。

  6. 使用 Image Assistant create-image CLI 操作来创建映像。

用于创建和管理 AppStream 2.0 映像的图像助手 CLI 操作

本节介绍可用于创建和管理 AppStream 2.0 映像的 Image Assistant CLI 操作。

在 Windows 映像生成器上,包含命令行界面的可执行文件位于:C:\Program Files\ Amazon\ PhotonConsoleImageBuilder\\ Image-Assistant.exe。为方便起见,此可执行文件包含在 Windows PATH 变量中。这让您可以调用 Image Assistant CLI 操作,而无需指定可执行文件的绝对路径。要调用这些操作,请键入 image-assistant.exe 命令。

在 Linux 镜像生成器上,图像助手工具位于 /usr/local/appstream /image-assistant/AppStreamImageAssistant,符号链接位于 /bin/AppStreamImageAssistant。

help 操作

检索所有 Image Assistant CLI 操作的列表。列表中的每个操作均提供了描述和使用语法。要显示特定操作的帮助,请键入操作的名称并指定 -help 参数。例如:

add-application --help

摘要

help

输出

将可用操作的列表及其功能描述打印到标准输出中。

add-application 操作

将应用程序添加到 AppStream 2.0 用户的应用程序列表中。此列表中的应用程序包含在应用程序目录中。当用户登录 AppStream 2.0 流媒体会话时,会向他们显示应用程序目录。

注意

如果您需要更改应用程序配置,请删除该应用程序并添加具有更新设置的应用程序。

摘要

add-application --name <value> --absolute-app-path <value> [--display-name <value>] [--absolute-icon-path <value>] [--working-directory <value>] [--launch-parameters <""-escaped value>] [--absolute-manifest-path <value>]

选项

--name(字符串)

应用程序的唯一名称。最大长度为 256 个字符。最多可以添加 50 个应用程序。不能使用空格字符。

--absolute-app-path(字符串)

应用程序的可执行文件、批处理文件或脚本的绝对路径。该路径必须指向有效文件。

--display-name(字符串)

应用程序目录中为应用程序显示的名称。如果您不指定显示名称, AppStream 2.0 会创建一个派生自可执行文件名的名称。创建的名称没有文件扩展名,并使用下划线代替空格。最大长度为 256 个字符。

--absolute-icon-path(字符串)

应用程序图标的绝对路径。该路径必须指向以下任一类型的有效的图标文件:.jpg、.png 或 .bmp。最大尺寸为:256 像素 x 256 像素。如果未指定路径,则使用可执行文件的默认图标(如果有)。如果可执行文件的默认图标不可用,则使用默认 AppStream 2.0 应用程序图标。

--working-directory(字符串)

启动应用程序时应用程序的初始工作目录。

--absolute-manifest-path(字符串)

新的行分隔文本文件的路径。该文件指定了在将队列实例提供给用户进行流式传输之前要优化的文件的绝对路径。该路径必须指向有效的文本文件。

消息输出

退出代码 打印到标准输出的消息 描述
0 {"status": 0, "message": "Success"} 该应用程序已成功添加。
1 {"status": 1, "message": "Administrator privileges are required to perform this operation"} 必须有管理员权限才能完成操作。
1 {"status": 1, "message": "Unable to add more than 50 apps to the catalog."} 无法添加应用程序,因为可以添加到 AppStream 2.0 应用程序目录的最大应用程序数为 50。
1 {"status": 1, "message": "Name is not unique"} AppStream 2.0 应用程序目录中已存在具有该名称的应用程序。
1 {“状态”:1,“消息”:“找不到文件 (absolute-app-path)”} 找不到为 absolute-app-path 指定的文件。
1 {"status": 1, "message": "Unsupported file extension"} Absolute-app-path 参数仅支持以下文件类型:.exe 和 .bat。
1 {"status": 1, "message": "Directory not found (working-directory)" 找不到为 working-directory 指定的目录。
1 {"status": 1, "message": "Optimization-manifest not found: <filename>"} 找不到为 optimization-manifest 指定的文件。
1 {"status": 1, "message": "File not found: <filename>"} 找不到优化清单中指定的文件。
255 {"status": 255, "message": <error message>} 出现意外错误。请重试该请求。如果错误仍然存在,请联系AWS Support寻求帮助。有关更多信息,请参阅AWS Support中心

remove-application 操作

从 AppStream 2.0 映像的应用程序列表中删除应用程序。该应用程序未被卸载或修改,但用户将无法从 AppStream 2.0 应用程序目录启动它。

摘要

remove-application --name <value>

选项

--name(字符串)

要删除的应用程序的唯一标识符。

消息输出

退出代码 打印到标准输出的消息 描述
0 {"status": 0, "message": "Success"} 该应用程序已成功删除。
1 {"status": 1, "message": "Administrator privileges are required to perform this operation"} 必须有管理员权限才能完成操作。
1 {"status": 1, "message": "App not found"} 在 AppStream 2.0 应用程序目录中找不到指定的应用程序。
255 {"status": 255, "message": <error message>} 出现意外错误。请重试该请求。如果错误仍然存在,请联系AWS Support寻求帮助。有关更多信息,请参阅AWS Support中心

list-applications 操作

列出应用程序目录中指定的所有应用程序。

摘要

list-applications

消息输出

退出代码 打印到标准输出的消息 描述
0 {"status": 0, "message": "Success", "applications": [ {..app1.. }, { ..app2.. }]} AppStream 2.0 应用程序目录中的应用程序列表。
255 {"status": 255, "message": <error message>} 出现意外错误。请重试该请求。如果错误仍然存在,请联系AWS Support寻求帮助。有关更多信息,请参阅AWS Support中心

update-default-profile 操作

将指定的 Windows 用户的配置文件复制到 Windows 默认用户配置文件。进行流式传输的新用户将继承存储在指定配置文件中的设置。

注意

Linux 图像助手 CLI 工具不支持此操作。

摘要

update-default-profile [--profile <value>]

选项

--profile(字符串)

Windows 配置文件将被复制到 Windows 默认用户配置文件的用户的名称。名称应使用以下格式:

"<domain>\<username>"

如果映像生成器未加入 Microsoft Active Directory 域,请为该域输入句点“.”。如果不指定用户,使用 AppStream 2.0 模板用户帐户。

消息输出

退出代码 打印到标准输出的消息 描述
0 {"status": 0, "message": "Success"} 用户设置已成功复制到默认 Windows 配置文件。
1 {"status": 1, "message": "Administrator privileges are required to perform this operation"} 必须有管理员权限才能完成操作。
1 {"status": 1, "message": "Unable to copy file or folder: <path>. <reason>"} 无法复制用户设置,因为文件或文件夹不可用。
1 {"status": 1, "message": "Cannot copy a domain user when not joined to a domain""} 指定了 Microsoft Active Directory 域用户,但映像生成器未加入 Active Directory 域。
255 {"status": 255, "message": <error message>} 出现意外错误。请重试该请求。如果错误仍然存在,请联系AWS Support寻求帮助。有关更多信息,请参阅AWS Support中心

reset-user-profile 操作

删除指定用户的 Windows 用户配置文件。

注意

Linux 图像助手 CLI 工具不支持此操作。

摘要

reset-user-profile [--profile <value>]

选项

--profile(字符串)

Windows 配置文件将被删除的 Windows 用户的名称。名称应使用以下格式:

"<domain>\<username>"

如果映像生成器未加入 Microsoft Active Directory 域,请为该域输入句点“.”。

消息输出

退出代码 打印到标准输出的消息 描述
0 {"status": 0, "message": "Success"} 已成功删除指定的用户设置。
1 {"status": 1, "message": "Administrator privileges are required to perform this operation"} 必须有管理员权限才能完成操作。
1 {"status": 1, "message": "Unable to copy file or folder: <path>. <reason>"} 无法重置用户设置,因为文件或文件夹不可用。
1 {"status": 1, "message": "Cannot copy a domain user when not joined to a domain""} 指定了 Microsoft Active Directory 域用户,但映像生成器未加入 Active Directory 域。
255 {"status": 255, "message": <error message>} 出现意外错误。请重试该请求。如果错误仍然存在,请联系AWS Support寻求帮助。有关更多信息,请参阅AWS Support中心

create-image 操作

启动图像创建工作流程,生成可用于 AppStream 2.0 队列的 AppStream 2.0 图像。

摘要

create-image --name <value> [--description <value>] [--display-name <value>] [--enable-dynamic-app-catalog] | [--no-enable-dynamic-app-catalog] [--use-latest-agent-version] | [--no-use-latest-agent-version] [--tags <value>] [--dry-run]

选项

--name(字符串)

AppStream 2.0 映像的名称。此名称在Amazon Web Services 账户和AWS地区中必须是唯一的。最大长度为 100 个字符。允许使用的字符包括:

a-Z、A-Z、0-9、下划线(_)、连字符(-)或句点(.)

映像名称不能以以下任何前缀开头:'aws'、'appstream' 和 'amazon'。这些前缀留待AWS使用。

--description(字符串)

要为映像显示的描述。最大长度为 256 个字符。

--display-name(字符串)

要为映像显示的名称。最大长度为 256 个字符。

--enable-dynamic-app-catalog | --no-enable-dynamic-app-catalog

启用或禁用对 AppStream 2.0 动态应用程序框架的支持。如果您未指定任一参数,则系统不会启用对动态应用程序框架的支持。

动态应用程序框架在 AppStream 2.0 流媒体实例中提供操作,您可以使用这些操作来构建动态应用程序提供商。动态应用程序提供程序可以使用这些操作修改您的用户可以实时访问的应用程序目录。有关更多信息,请参阅使用 AppStream 2.0 动态应用程序框架构建动态应用程序提供商

--use-latest-agent-version | --no-use-latest-agent-version

指定是将映像固定到当前安装的 AppStream 2.0 代理版本,还是始终使用最新的代理版本。如果您未指定任一参数,则映像将固定到当前安装的 AppStream 2.0 代理版本。有关更多信息,请参阅管理 AppStream 2.0 代理版本

--tags(字符串)

要与映像关联的标签。标签是键值对。采用以下格式:

--tags "mykey" "myval" "mykey2" "myval2"

有关标签的更多信息,请参阅 标记您的亚马逊AppStream2.0 资源

--dry-run(字符串)

在不创建映像的情况下执行验证。在创建映像之前,请使用此命令确定映像是否存在任何问题。

消息输出

退出代码 打印到标准输出的消息 描述
0 {"status": 0, "message": "Success"} 创建映像的工作流已成功启动。
1 {"status": 1, "message": "Administrator privileges are required to perform this operation"} 必须有管理员权限才能完成操作。
1 {"status": 1, "message": "An image with the given name already exists"} 具有指定名称的图像已存在于Amazon Web Services 账户中。
1 {"status": 1, "message": "Invalid value (tags)"} 指定的标签无效。
255 {"status": 255, "message": <error message>} 出现意外错误。请重试该请求。如果错误仍然存在,请联系AWS Support寻求帮助。有关更多信息,请参阅AWS Support中心