アプリの変数とシークレットの設定 app-variables

IMPORTANT
Adobe LLM Appsは現在Betaにいます。
ここに示す機能、ワークフロー、UIは、必ずしも製品の最終状態を表すものではありません。 Betaに参加するには、llm-apps-beta@adobe.comに電子メールを送信します。

変数とシークレットを使用して、アクションハンドラーで値をハードコーディングせずにアプリを設定します。 例えば、製品カタログ APIのURLを設定して、ステージングのテストサービスと実稼動環境のライブサービスを使用するように、ハンドラーコードを変更せずに設定します。

変数には、機密性のない設定が保持されます。 シークレットは、API キーやアクセストークンなどの機密性の高い値を対象としています。

IMPORTANT
UIは現在​変数のみをサポートしています。 シークレットのサポートは、今後のリリースで予定されています。 それまでは、パスワード、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を上書きします。 変数を追加すると、アクションが​ not ​によって自動的に変更されます。ハンドラー​ は ​で変数を読み取る必要があります。

手順1:UIでの変数の追加 add-a-variable

  1. アプリを開き、左側のナビゲーションで「設定」を選択します。

  2. 「変数と秘密鍵」タブを開きます。

  3. Workspace​で、ステージ​または​ 実稼動 ​を選択します。

  4. 「追加」を選択します。

    変数と秘密鍵 – 「追加」ボタン付きの空のステージワークスペース ​

  5. ダイアログで、次のように入力します。

    • 名前: GREETING_PREFIX。
    • 種類: 変数​を選択したままにします。
    • 値: Good day。

    変数または秘密鍵を追加 – GREETINGPREFIXが「良い日」に設定

  6. 変数を保存するには、追加​を選択します。

変数は、名前、種類、値、最終更新日​のテーブルに表示されます。 値をコピーするには、隣接するコピーコントロールを使用します。

変数と秘密鍵 – ステージワークスペースに保存されたGREETINGPREFIX

IMPORTANT
保存すると、選択した環境の設定に変数が追加されます。 再びデプロイするまで、は デプロイされたアプリを更新しません。

手順2: ハンドラーで変数を読み取る use-a-variable

ハンドラーリポジトリで、actions/<action-name>/index.jsを開きます。 ハンドラーが2番目の引数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に設定された呼び出しは、デフォルトのHello, Ada!ではなくGood day, Ada!を返します。 後で値をHowdyに変更すると、別のハンドラーの編集なしで、再デプロイ後に挨拶が変更されます。

コード の名前は、UIの名前と完全に一致している必要があります。​変数が設定されていない場合、getVariableはundefinedを返します。 例のように、適切なデフォルトを選択するか、アクションで設定が必要な場合は明確なエラーを返します。

NOTE
変数は、アプリのアクションハンドラーでのみ使用できます。ウィジェットで自動的に使用できるのは​ 個ではなく ​個です。

ハンドラーの変更の準備ができたら、それらをコミットしてアプリのハンドラーリポジトリにプッシュします。 次のデプロイメントでは、最新のプッシュコードを使用します。 ハンドラーの編集について詳しくは、生成ハンドラーのカスタマイズ ​を参照してください。

ステップ 3:デプロイとテスト deploy-and-verify

  1. [Workspace ]​で選択した環境と同じ環境にアプリ (/help/guides/deploy-your-app.md)をデプロイします。
  2. nameがAdaに設定されているサポートされているLLM プラットフォームからアクションを呼び出します。 ChatGPT プラグインのテスト ​またはClaude コネクタのテスト ​を参照してください。
  3. 応答がGood day, Ada!であることを確認してください。 応答は、ハンドラーが設定された変数を読み取り、デフォルトの挨拶を上書きすることを確認します。

他の環境を設定するには、Workspace​でその環境を選択し、適切な値で設定を繰り返してから、アプリをそこにデプロイしてテストします。

NOTE
ステージと実稼動には​ 独立した設定 ​があります。 一方の環境の変更は、もう一方の環境に影響を与えることはありません​ 1}。 ​必要に応じて、両方の環境で同じ名前を使用し、それぞれに適切な値を選択します。
TIP
デプロイする前にローカルでテストするには、​ ローカルハンドラーの開発とテスト ​を参照し、変数をローカルサーバーに渡します。
node server/local.js --param 'LLMA_VARIABLE_NAMES=["GREETING_PREFIX"]' --param GREETING_PREFIX=Howdy

変数の更新 update-or-delete

  1. 変数の行の編集コントロールを選択します。

  2. 変数の​ 現在の値 ​を確認し、新しい値​を入力します。

    Update GREETINGPREFIX – 値をGood dayからHowdy に変更します

  3. 「更新」を選択します。

  4. アプリを同じ環境に再びデプロイし、変更された動作を確認します。

変数を更新すると、値のみが変更されます。 変数の名前を​変更できません。 別の名前を使用するには、既存の変数を削除し、新しい変数を追加し、ハンドラーを更新して新しい名前を読み取ります。

変数の削除 delete-a-variable

  1. アクションに引き続き変数が必要かどうかを確認します。 必要に応じて、ハンドラー​ first ​を更新してプッシュします。

  2. 変数の行の削除コントロールを選択します。 複数のエントリを削除するには、チェックボックスを選択し、削除​を選択します。

  3. 確認ダイアログで名前を確認し、削除​を選択します。

    GREETINGPREFIXを削除 – パーマネント削除を確認

  4. アプリを同じ環境に再びデプロイします。

IMPORTANT
削除を取り消すことはできません。できません。 正しい変数を選択したことを確認します。 デプロイ済みアプリは、次のデプロイメントまで既存の設定を保持します。 そのデプロイメントの後、ハンドラー​は削除された変数を受け取らなくなるため、変数を必要とするアクションが失敗する可能性があります。

ルールと制限 good-to-know

項目
ルール
名前
最大64文字:大文字、数字、アンダースコア(数字で始まらない)。 アプリと環境ごとに​は一意である必要があり、ハンドラーと一致する必要があります。
予約済みの名前
LLMA_とMCP_SERVER_URLで始まる名前。
値
必須 (最大500文字)。 プラットフォームは、先頭と末尾のスペースを削除します。
制限
50の変数を割り当てることができます。
視認性
変数の値は表示およびコピー可能です。 計画的なシークレットのサポートにより、保存された値は非表示のままになります。
変更点
選択した環境への次のデプロイメントに対して有効になります。

トラブルシューティング verify-configuration

表示される内容
実行内容
Add​は無効で、ページに​ Workspaceの制限が ​に達していることが表示されます
不要になった変数を削除します。
大文字、数字、アンダースコアのみを使用
名前を変更(例:API_BASE_URL)。
この名前はプラットフォームによって予約されています
LLMA_で始まらずMCP_SERVER_URLではない名前を選択してください。
この名前の変数は既に存在します
代わりに、既存の変数を更新してください。
この変数は別の場所で変更されました
ページを更新して、もう一度試してください。
変数を読み込めませんでした
ページをリロードします。 エラーが解決しない場合は、アプリにアクセスできることを確認してください。
アクションは新しい値を使用しません
変数を保存して​ 後に ​をデプロイし、同じ環境をテストしたことを確認してください。 ハンドラーの変更をプッシュし、変数名が​ 正確に ​と一致することを確認します。 最終更新日​は、アプリのデプロイ時ではなく、値を保存した際に表示されます。
getVariable is not a function
このアプリは1.1.0より古いランタイムを使用しています。 開始する前にの説明に従ってアップグレードしてから、デプロイします。
変数を削除すると、アクションが失敗します
変数を再度追加するか、ハンドラーを更新して不要にしてデプロイします。

次の手順 whats-next

recommendation-more-help
llm-apps-help-main-toc