as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
AWS
ドキュメント
Support
Contact Us
My Cases
開発
設計と開発
公開
リファレンス
サポート

アプリのマニフェストでランタイムモジュールを設定する方法

アプリのマニフェストでランタイムモジュールを設定する方法

ランタイムモジュールは、アプリのアーキテクチャにおける重要なコンポーネントの1つで、アプリのコンポーネントの実行環境を定義するものです。コードがどのように解釈されて実行されるかはランタイムモジュールによって決定され、その影響はパフォーマンス、メモリ使用量、機能に及びます。

ランタイムモジュールが不可欠な理由は、次のような役割を担っているためです。

  • アプリのコンポーネントと基盤のシステムとの互換性を確保する。
  • コンポーネントタイプ(対話型、タスク、サービス)に基づいてリソースの使用量を最適化する。
  • 適切なプロセス管理とコンポーネントの分離を実現する。

ランタイムモジュールを定義するためのガイドライン

アプリのマニフェストでランタイムモジュールを定義するときは、以下のガイドラインに従ってください。

対話型コンポーネント

対話型コンポーネントには、次のランタイムモジュールのいずれかを使用します。

  • /com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0
  • /com.amazon.kepler.runtime.keplerscript_2@IKeplerScript(新しい規則、検証ツールで警告が表示される場合があります)

マニフェストエントリの例

クリップボードにコピーしました。

[components]
[[components.interactive]]
runtime-module = "/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0"

タスクコンポーネントまたはサービスコンポーネント

タスクコンポーネントまたはサービスコンポーネントでは、タスクやサービスが対話型コンポーネントと同じプロセスを共有していれば、対話型コンポーネントと同じランタイムモジュールを使用できます。

マニフェストエントリの例

クリップボードにコピーしました。

[[components.interactive]]
id = "<アプリパッケージ名>.main"
runtime-module = "/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0" 
launch-type = "singleton"

[[components.service]]
id = "<アプリパッケージ名>.service"
runtime-module = "/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0"
launch-type = "singleton"

タスクコンポーネントまたはサービスコンポーネントが対話型コンポーネントと同じプロセスを共有していない場合は、headlessランタイムのいずれかを使用します。これらのランタイムは、より小さいメモリフットプリントで動作します。

/com.amazon.kepler.headless.runtime.loader_2@IKeplerScript_2_0

マニフェストエントリの例

クリップボードにコピーしました。

[[components.service]]
id = "<アプリパッケージ名>.service"
runtime-module = "/com.amazon.kepler.headless.runtime.loader_2@IKeplerScript_2_0"
launch-type = "singleton"

プロセスグループの一貫性

同じプロセスグループ内のコンポーネントは、同じruntime-moduleを使用する必要があります。

バージョンの一貫性

マニフェスト内のすべてのランタイムモジュールには、常に同じKeplerScriptバージョンを使用する必要があります(バージョンは@記号の後の番号で示されます)。たとえば、バージョン2とバージョン1のランタイムモジュールを同じマニフェストに混在させることはできません。

検証の警告とエラー

上記のガイドラインに従っていない場合は、VPTでアプリのマニフェストを検証したときに警告メッセージまたはエラーメッセージが表示されます。

以下のメッセージは、VPTから表示される警告とエラーの例を示しています。

例1: プロセスグループ内のランタイムモジュールに一貫性がない

クリップボードにコピーしました。

manifest.toml:32:5 error: [processes.group] Inconsistent runtime modules in process group.Found multiple runtime modules: '/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0' (com.amazon.samplepkg.component.a), '/com.amazon.kepler.headless.runtime.loader_2@IKeplerScript_2_0' (com.amazon.samplepkg.component.b, com.amazon.samplepkg.component.c)
  help: All components in a process group must have the same runtime module if declared

例2: ランタイムモジュールのバージョンに一貫性がない

クリップボードにコピーしました。

manifest.toml:10:6 error: [components.runtime-module] Inconsistent runtime module versions found: 'IKeplerScript_1_0' (com.amazon.samplepkg.component.main), 'IKeplerScript_2_0' (com.amazon.samplepkg.component.main2, com.amazon.samplepkg.component.main3)
  help: All runtime modules declared must use the same version

Last updated: 2025年9月30日