配置应用程序变量和密钥 app-variables
使用变量和密钥配置应用程序,而无需在其操作处理程序中对值进行硬编码。 例如,将产品目录API URL配置为使用暂存中的测试服务和生产中的实时服务,而不更改处理程序代码。
变量包含非敏感设置。 密钥用于敏感值,如API密钥和访问令牌。
在本指南中:了解如何添加应用程序变量并在操作处理程序中读取它。 部署应用程序并检查处理程序是否使用预期值。
开始之前 before-you-begin
您需要:
- 访问您应用程序的处理程序存储库以更新需要读取变量的处理程序。
@adobe/llm-apps-runtime1.1.0或更高版本。 在使用下面的帮助程序之前检查版本。
要检查版本,请在处理程序存储库中运行以下命令:
npm ls @adobe/llm-apps-runtime
如果版本低于1.1.0,请升级该版本,然后提交并推送package.json和package-lock.json:
npm install @adobe/llm-apps-runtime@latest
管理变量 manage-variables
每个环境 暂存 或 生产 都有自己的变量。 在添加、更新或删除变量之前检查Workspace。 更改将在下次将应用程序部署到该环境时生效。
添加变量 add-variable-to-app
此示例使用值为Good day的非敏感变量GREETING_PREFIX覆盖处理程序的默认问候语Hello。 添加变量 不 会自动更改操作:处理程序 必须 读取变量。
步骤1:在UI中添加变量 add-a-variable
-
打开您的应用,然后在左侧导航中选择设置。
-
打开 变量和密钥 选项卡。
-
在 Workspace 中,选择 暂存 或生产。
-
选择添加。
-
在对话框中,输入:
- 名称:
GREETING_PREFIX。 - 类型:保持选择变量。
- 值:
Good day。
- 名称:
-
要保存变量,请选择添加。
该变量出现在表中,具有其名称、类型、值和 上次更新时间 日期。 要复制值,请使用相邻的复制控件。
步骤2:读取处理程序中的变量 use-a-variable
在处理程序存储库中,打开actions/<action-name>/index.js。 请确保处理程序接受第二个参数extra,并使用getVariable读取变量:
const { getVariable } = require('@adobe/llm-apps-runtime');
module.exports = async ({ name = 'there' } = {}, extra) => {
const prefix = getVariable(extra, 'GREETING_PREFIX') || 'Hello';
return {
content: [{ type: 'text', text: `${prefix}, ${name}!` }]
};
};
使用值Good day,将name设置为Ada的调用返回Good day, Ada!,而不是默认的Hello, Ada!。 如果您稍后将值更改为Howdy,则问候语会在您重新部署后发生更改,而无需进行其他处理程序编辑。
代码 中的名称必须 与UI中的名称完全匹配。 如果未设置变量,getVariable将返回undefined。 如示例所示,选择合适的默认值;如果操作需要设置,则返回一个清除错误。
当处理程序更改准备就绪时,提交这些更改并将其推送到应用程序的处理程序存储库。 下一个部署使用最新的推送代码。 要了解有关编辑处理程序的详细信息,请参阅自定义生成的处理程序。
步骤3:部署和测试 deploy-and-verify
- 将您的应用程序部署到您在 Workspace 中选择的相同环境。
- 在将
name设置为Ada的情况下,从支持的LLM平台中调用操作。 请参阅测试ChatGPT插件或测试Claude连接器。 - 确认响应为
Good day, Ada!。 响应将验证处理程序是否读取您配置的变量并覆盖其默认问候语。
要配置其他环境,请在 Workspace 中选择该环境,使用相应的值重复安装,然后在其中部署和测试应用程序。
node server/local.js --param 'LLMA_VARIABLE_NAMES=["GREETING_PREFIX"]' --param GREETING_PREFIX=Howdy更新变量 update-or-delete
-
在变量行中选择编辑控件。
-
查看变量的 当前值 并输入新值。
-
选择更新。
-
再次将应用程序部署到同一环境,并验证更改后的行为。
更新变量只会更改其值。 您 无法 重命名变量。 要使用其他名称,请删除现有变量、添加新变量并更新处理程序以读取新名称。
删除变量 delete-a-variable
-
检查是否有任何操作仍需要变量。 如有必要,请先更新并推送处理程序1。
-
选择变量行上的删除控件。 要删除多个条目,请选中它们的复选框,然后选择删除。
-
在确认对话框中查看名称,然后选择删除。
-
再次将应用程序部署到同一环境。
规则和限制 good-to-know
LLMA_和MCP_SERVER_URL开头的名称。疑难解答 verify-configuration
API_BASE_URL。LLMA_开头且不是MCP_SERVER_URL的名称。getVariable is not a function