Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerBAT CLI では、Anypoint Platform とのインテグレーションを介して API 機能監視コマンドラインインターフェースが提供されます。コマンドラインインターフェースでは、テストをローカルで実行し、継続的に API テストを行うために監視をスケジュールできます。CLI-xAPI を使用してクラウドでテストをスケジュールできます。
このリファレンスでは、bat
コマンドで使用できる構文と主要なオプションについて説明します。bat
コマンドを使用して、テストのデバッグと実行、テストをスケジュールするためのログイン情報の取得、テストのスケジュール、テストスケジュールのリスト、追加操作の実行ができます。
コマンドを正常に実行するには、BAT CLI でログインするアカウントに、コマンドで実行しているアクションで必要な権限が必要です。
bat
コマンドを使用して Anypoint Platform で対応するアクションを実行するには、次の権限が必要です。
権限 | アクション |
---|---|
Create Applications (アプリケーションの作成) (Runtime Manager) |
非公開の場所の作成 |
Delete Applications (アプリケーションの削除) (Runtime Manager) |
非公開の場所の削除 |
Manage Settings (設定の管理) (Runtime Manager) |
非公開の場所の更新 |
View Environment (環境の表示) |
BAT CLI を使用したログイン |
View Organization (組織の表示) |
BAT CLI を介したシークレットマネージャーの使用 |
Exchange Contributor (Exchange コントリビューター) (Exchange) |
監視の作成または変更、スケジュールの追加または変更 |
Exchange Administrator (Exchange 管理者) (Exchange) |
監視の作成、変更、削除、スケジュールの追加、変更、削除 |
Grant access to secrets (シークレットへのアクセス権の付与) (シークレットマネージャー) |
シークレットマネージャーの使用 |
bat
コマンドを使用して API 機能監視アクションを実行するには、まず次のいずれかのログイン方法を使用してログインする必要があります。
bat [login --client-id --client-secret [--profile=<value>] --host=<value>]
このオプションでは、接続アプリケーションからクライアント ID とクライアントシークレットを使用して Anypoint Platform アカウントにログインします。これは、MFA (多要素認証) を使用するログインに代わる方法を提供します。そのため、2 番目の要素は不要です。組織の除外リストに含まれていない限り、非 SSO アカウントでは MFA が必須になりました。組織のシステム管理者が設定する接続アプリケーションについての詳細は、「接続アプリケーション」を参照してください。
bat [<file> … | <option> …]
各項目は次のとおりです。
file
はパスおよびファイル名への相対パスです。
file には次の基本名のいずれかと次の拡張子のいずれかが必要です。
基本ファイル名: main、bat
拡張子: .yaml または .yml
引数を付けずに bat を実行すると、BAT は現在のディレクトリで YAML を読み取り、指定されたテストを実行します。
環境用に、config
フォルダーを作成して config
で別の設定ファイルを追加できます。
bat ~/path/to/folder/
目的のフォルダーから実行します。BAT は bat.yaml
ファイルと main.dwl
ファイルを検索して実行します。
bat ./folder/file.dwl
目的のファイルを使用して実行します。プロジェクトのルートは現在のフォルダーです。
プロジェクトのルートはインポートを解決し、ライブラリおよびファイルを読み込むために使用されます。
bat
コマンドのオプション--help
コマンドの使い方に関する情報を表示します。
--validate | -V
ファイルまたはフォルダーを検証します。また、--config
と連携して特定の設定の検証も行います。
--config=<name>
設定ファイルを (config
フォルダーから) 選択し、結果をグローバル変数として登録します。
--version
インストールされた BAT のバージョン番号およびラッパーを標準出力に出力します。最新バージョンがインストールされていない場合、そのバージョンがダウンロードされます。
--update
BAT CLI を最新バージョンに更新して、現在のフォルダーの .bat-version
ファイルを設定します。プログラムは、テストを実行するときには常に .bat-version
の設定を使用します。指定されたバージョンがインストールされていない場合は、実行前にダウンロードされてインストールされます。
--debug
実行中は、トラブルシューティング情報を標準出力に送信します。
--track
ローカル実行からデータを送信します。
--bat-version=<version>
指定されたバージョンを使用して BAT を実行します。
--init-folder
現在のディレクトリで監視を作成すると生成される exchange.json
ファイルと main.dwl
ファイルを保存します。省略可能。
--init
基本的なプロジェクトフォルダーをセットアップする bat init
コマンドと同じです。このフォルダーには以下のファイルが含まれます。
. ├── bat.yaml ├── config │ ├── default.dwl │ ├── devx.dwl │ ├── qax.dwl │ └── stgx.dwl └── tests └── HelloWorld.dwl
--password=<value>
値は Anypoint Platform ユーザー名に対応するパスワードです。存在しない場合は、環境変数 ANYPOINT_PASSWORD の値が使用されます。この変数の値が設定されていない場合は、ログイン情報ファイルのデフォルトパスワードが使用されます。
--profile=<value>
プロファイルは次のとおりです。
Anypoint Platform の場所にアクセスし、BAT セッション間でログイン情報を保持するためのプロファイルの名前。このオプションを使用すれば、セッション間で再ログインする必要がなくなります。省略可能。
テストをスケジュールするためのプロファイルの名前であり、使用した BAT ログインプロファイルとは異なる場合があります。デフォルトでは、BAT はスケジュール用のログインプロファイルを使用します。省略可能。
存在しない場合は、環境変数 ANYPOINT_PROFILE の値が使用されます。この変数の値が設定されていない場合は、デフォルトプロファイルが使用されます。
--username=<value>
値は Anypoint Platform ユーザー名です。存在しない場合は、環境変数 ANYPOINT_USERNAME の値が使用されます。この変数の値が設定されていない場合は、ログイン情報ファイルのデフォルトユーザー名が使用されます。
--useProxy
プロキシ経由で Anypoint Platform にアクセスする必要があるシステムでは、各 bat
コマンドでこのオプションを使用します。
--client-id
接続アプリケーションのクライアント ID。接続アプリケーションを使用してログインする場合、ログインコマンドでこのオプションを使用する必要があります。
--client-secret
接続アプリケーションのクライアントシークレット。接続アプリケーションを使用してログインする場合、ログインコマンドでこのオプションを使用する必要があります。
bat
コマンド次の bat
コマンドは、クラウドのインテグレーションの管理や、Anypoint Platform を使用したテストや監視のスケジュールや設定に使用できます。
init
設定ファイル、HelloWorld 基本テスト、yaml 記述子ファイルの入った基本プロジェクトフォルダーをセットアップします。
schedule ls | list
特定のプロファイルの組織に存在するすべてのスケジュールをリストします。
schedule create [--cron="<expression>"] [--location=<id>]
Cron 式を使用し、テストおよびすべてのファイルが含まれる ZIP ファイルを生成して、スケジューラーを作成します。Cron 式を入力しない場合、テストは 15 分ごとに実行するようにスケジュールされます。
schedule endpoint <monitor-URL> [--cron="<expression>"] [--name=<suiteName>] [--location=<id>] [--new-relic-license-key=<newRelicLicenseKey>] [--slack-webhook=<slackWebHook>] [--email-list=<emails>] [--sumo-logic-endpoint=<sumoLogicEndpoint>] [--pager-duty-routing-key=<pagerDutyRoutingKey>] [--custom-report-url=<customReportUrl>] [--custom-report-headers=<header1,header2,…,headerN>] [--custom-report-transformation=<pathToDwlFile>][--init-folder] [--status-code=<code>]
URL (例: http://example.com
) を使用して Exchange で監視を作成します。必要に応じて、オプションを追加して別のパラメーターで bat.yaml
を生成できます。
[--cron="<expression>"]
デフォルトでは、テストは 15 分ごとに実行するようにスケジュールされます。Cron 式を使用して変更できます。
[--name="<suiteName>"]
スイートの名前を設定します。
[--location="<id>"]
監視の特定の場所 ID を設定します。
[--new-relic-license-key="<newRelicLicenseKey>"]
New Relic レポートを bat.yaml に追加します。
[--slack-webhook="<slackWebHook>"]
Slack レポートを bat.yaml に追加します。
[--sumo-logic-endpoint="<sumoLogicEndpoint>"]
Sumo Logic レポートを bat.yaml に追加します。
[--pager-duty-routing-key="<pagerDutyRoutingKey>"]
PagerDuty レポートを bat.yaml に追加します。
[--custom-report-url="<customReportUrl>"] [--custom-report-headers="<header1,header2,…,headerN>"] | [--custom-report-transformation="<pathToDwlFile>"]
カスタムレポートを bat.yaml ファイルに追加し、必要に応じて変換ファイルを追加できます。
[--init-folder]
生成された exchange.json、bat.yaml、main.dml を現在のディレクトリに保存します。
[--status-code=<code>]
コードを、テストテンプレート用の HTTP コードとして使用します。
schedule rm | remove <id>
その ID を基準にスケジュールを削除します。
schedule disable <id>
指定された ID で特定されるスケジュールを無効にします。
schedule enable <id>
指定された ID で特定されるスケジュールを有効にします。このコマンドは、bat schedule disable <id>
コマンドで無効にしたスケジュールを有効にする場合のみ使用します。
whoami
基本ユーザー情報を標準出力に送信します。--profile
オプションを使用すると、他のプロファイルを使用することができます。
worker register [--name=<value>]
マシン名を使用して投稿を生成し、ダミーの対象を作成します。
worker unregister [--name=<value>]
ワーカーの登録を解除します。
worker id
ワーカー ID を取得します。
location create <name>
Anypoint Platform の特定のプロファイルの組織で非公開の場所を作成します。非公開の場所と公開された場所についての詳細は、「公開 API のエンドポイントの監視」および「非公開 API のエンドポイントの監視」を参照してください。
location delete <id>
Anypoint Platform の特定のプロファイルの組織の非公開の場所のリストから非公開の場所を削除します。
id
場所を識別する ID を指定します。bat location ls
コマンドを実行して ID を取得できます。
location ls|list
Anypoint Platform の特定のプロファイルの組織に存在する非公開の場所と公開された場所をリストします。これは target ls|list
に代わるコマンドです。
location update <id>
ID で指定された場所を更新します。ワーカーの新しいバージョンが使用できる場合は、最新バージョンを使用して場所を更新します。このオプションは、Mule の場所でのみ有効です。
get_token
ログイン情報ファイルで Anypoint Platform にアクセスするためのトークンを返します。プロファイルを生成するには最初に bat login
を実行する必要があります。
grant
Anypoint シークレットマネージャーに保存されている共有シークレットにアクセスする権限を API 機能監視に付与します。テストで使用する共有シークレットにアクセスする権限またはレポーターにアクセスする権限を API 機能監視に付与する必要があります。
共有シークレットを使用するようにテストまたはレポーターを設定する前に bat grant
コマンドを実行します。コマンドで作成する別名は、テストおよびレポーターの設定で指定する別名です。
bat grant -g=MySecretGroupName -s=MyAlias1:MySecretName1,MyAlias2:MySecretName2,…,MyAliasN:MySecretNameN [--forceUpdate]
共有シークレットが保存されている Anypoint シークレットマネージャーのグループの名前を指定します。
別名、コロン、共有シークレットの名前を指定します。別名は英数字の任意の組み合わせになります。共有シークレットの名前は、グループの共有シークレットを識別する名前です。1 つのコマンドを使用して、同じグループの複数の共有シークレットを使用する権限を BAT CLI に付与する場合、各 alias:name
のペアをカンマで区切ります。
+シークレットは、BAT CLI を使用している環境にあるシークレットグループで作成されている必要があります。BAT CLI を使用している環境を確認するには、コマンド bat whoami
を実行します。出力には環境の ID があります。アクセス権のある環境をリストするには、コマンド bat environment ls
を実行します。bat whoami
コマンドの ID とリストされた環境の ID を照合します。シークレットグループが含まれる環境に切り替える必要がある場合、コマンド bat environment switch name を実行します。name は環境の名前です。
API 機能監視が共有シークレットへのアクセス権を失い、再度アクセス権を付与する必要がある場合、このオプションを指定します。
execution ls|list
指定されたプロファイルで実行されている監視をリストします。プロファイルが指定されていない場合、デフォルトプロファイルが使用されます。リストされた監視はすべて、現在の環境にある、BAT CLI で記述および開始された現在のプロファイルの監視で、Anypoint Platform でオンラインで作成されています。
出力は次のようになります。
Last executions: daily-retail-test:1.0.1 PASSED 10 seconds ago internal-run-api-check:1.0.0 PASSED 11 minutes ago
environment ls|list
environment switch <name>
ls
と list
の 2 つのオプションは、指定されたプロファイルで使用できる環境をリストします。プロファイルが指定されていない場合、デフォルトプロファイルが使用されます。
switch
オプションを使用すると、リストされたいずれかの環境を使用できます。環境 Sandbox
を使用する次の例のように、環境の名前をコマンドの最後に追加します。
bat environment switch Sandbox
bat.yaml ファイルから複数のテストファイルを実行します。
bat bat.yaml
単一のファイルを実行します。
bat ./test/myFile.dwl
インストールされたバージョンを判断します。
bat --version
最新バージョンでない場合の出力例:
Updating Version: You have an older BAT version. The new version is downloaded in /Users/<username>/.bat/bat-cli-1.0.51 Downloading version 1.0.51. Please wait`....................... BAT Wrapper: 1.0.53 BAT Version: 1.0.51