スクリプト制御のモニターの実行環境

$env 変数のプロパティを使って、Synthetics スクリプト制御のモニター(Scripted BrowserAPI Test)を多くのコンテキストに対応させることができます。

$env プロパティのリファレンス

$env は、「environment」[環境]の略称です。以下で説明するプロパティを使用して、実行時に、スクリプトで実行時環境に関する重要な情報を埋め込んで、使用することができます。

プロパティ タイプ 説明 scripted browser で利用できる? scripted API で利用できる?
$env.JOB_ID 文字列 実行中のジョブを特定するユニークな ID (`UUIDv4`) はい はい
$env.MONITOR_TYPE 文字列 ジョブを実行しているモニターのタイプ はい はい
$env.API_VERSION 文字列 このモニターが利用している API バージョン はい はい
$env.LOCATION 文字列 ジョブの実行場所 (例: aws-us-east-1 や (プライベートロケーションの場合) 123-my_location-81D) はい はい
$env.PROXY_HOST 文字列 HTTP トラフィックのメトリクスを収集するプロキシのホスト いいえ はい
$env.PROXY_PORT 数値 HTTP トラフィックのメトリクスを収集するプロキシのポート番号 いいえ はい

$env をインポートする必要はありません。$browser$http 変数のように利用できます。

console.log('running in ' + $env.LOCATION);
$browser.get('https://example.com');

プロキシプロパティの理解

HTTP トラフィックのメトリクスを解析、収集するには、Synthetics は、トラフィックが概念的なファンネル (HTTP リクエスト/レスポンスを解析し、情報の収集が可能なソフトウェアコンポーネント) を通過するようにしてください。

Scripted Browser では、HTTP プロキシを使わずに済む方法を考えたので、設定は必要ありません。API Test では、$http オブジェクトを提供しています。これには、リクエストが、我々の内部の HTTP プロキシを通過するようにあらかじめ設定されています。よって、プロキシの設定を気にする必要なく、テストをかけます。

しかし、時には、上記の方法では不足であるかもしません。HTTP トラフィックのメトリクスを収集するのは変わらないが、HTTP トラフィックの生成を別の方法で行いたいことがあるかもしれません。そのために、PROXY_HOSTPROXY_PORT を公開しています。スクリプト内でこのプロパティを使うことで、トラフィックのメトリクスが収集され続けることを保証します。

関連情報

関連する情報は以下のとおりです。