dt-js-runtime について
Dynatrace JavaScript Runtime の開発リファレンススキルです。AppEngine サンドボックスで JavaScript または TypeScript 関数を作成する開発者向けに、エントリーポイント、実行制限、利用可能な API、dtctl による実行方法を案内します。
主な機能
- 01非同期デフォルト関数の契約を説明
- 02実行制限と利用可能なモジュールを案内
- 03fetch、認証情報ボルト、外部通信許可リストを解説
- 04dtctl によるコードファイルの実行
- 05JSON 関数入力の受け付け
活用シーン
- 01関数のエントリーポイント形式を確認
- 02利用可能な Web API や Node.js モジュールを検索
- 03アプリをデプロイせず dtctl で関数をテスト
- 04ランタイム関数に JSON 入力を渡す
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ dynatrace/ dynatrace-for-ai --skill dt-js-runtimeインストール後、Claude Code で/dt-js-runtimeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/apis-and-modules.mdfetch.mdlimits-and-restrictions.mdsdk.mdreferences/sdks/app-engine-registry/appEngineRegistryAppsClient.mdappEngineRegistrySchemaManifestClient.mdREADME.mdtypes.mdreferences/sdks/app-environment/functions.mdREADME.mdtypes.mdreferences/sdks/app-settings-v1/appSettingsObjectsClient.mdREADME.mdtypes.mdreferences/sdks/app-settings-v2/appSettingsObjectsClient.mdREADME.mdtypes.mdreferences/sdks/app-utils/README.mdreferences/sdks/automation-utils/constants.mdfunctions.mdREADME.mdtypes.mdreferences/sdks/automation/actionExecutionsClient.mdactionsSampleResultClient.mdbusinessCalendarsClient.mdeventTriggersClient.mdexecutionsClient.mdREADME.mdschedulesClient.mdschedulingRulesClient.md詳細
Dynatrace JavaScript ランタイム
Dynatrace JS ランタイムは、JavaScript/TypeScript を実行するサーバーサイドの AppEngine サンドボックスです。
関数の契約
すべてのエントリーポイントで、デフォルトの非同期関数をエクスポートする必要があります。
export default async function () {
// ...
return result;
}
ES モジュール構文が必須です。TypeScript も使用できます(型注釈、インターフェース、ジェネリクス)。その他のエクスポート形式はサポートされていません。
参照資料
まずここから始め、必要なファイルだけを読み込んでください。
| ファイル | 読み込むタイミング |
|---|---|
| references/limits-and-restrictions.md | タイムアウト/メモリ/I/O のクォータ、禁止事項(eval、WebSocket、ソケット、ファイルシステム) |
| references/apis-and-modules.md | 利用可能な Web API と Node.js 互換モジュール(fetch、crypto、streams、buffer など) |
| references/fetch.md | 内部の /platform/... API または外部 URL の呼び出し、認証情報ボールト、送信先許可リスト |
| references/sdk.md | @dynatrace-sdk/* パッケージを使用する場合。インデックスから、該当する SDK ごとのファイルに進めます |
dtctl で関数を実行する
dtctl exec function を使用すると、アプリをデプロイせずに JS ランタイムのコードを実行できます。
# Run inline code
dtctl exec function --code 'export default async function() { return "hello" }'
# Run from file
dtctl exec function -f script.js
# Pass JSON input — the parsed object is the function's argument
dtctl exec function -f script.js --payload '{"key":"value"}'
関数は省略可能なパラメーターを受け取ることができます。--payload は解析され、その引数として直接渡されます。event.payload フィールドにはラップされません。
export default async function(payload) {
// with --payload '{"key":"value"}', payload is {"key": "value"}
return payload.key;
}
認証のセットアップ、コンテキストの切り替え、および exec function の全リファレンスについては、dynatrace-control スキルを読み込んでください。
コメント
Markdown 対応