Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerFlex Gateway ポリシー開発キット (PDK) を使用して新しいカスタムポリシーの開発を開始するには、新しいカスタムポリシープロジェクトを生成します。
新しいプロジェクトを作成するには、次のタスクを完了します。
カスタムポリシープロジェクトを作成する前に、すべての PDK 前提条件がインストール済みであることを確認してください。
カスタムポリシープロジェクトを作成するには、PDK CLI create コマンドを実行します。<my-custom-policy> には新しいポリシー名を指定してください
anypoint-cli-v4 pdk policy-project create --name <my-custom-policy>
| グループ ID が要求された場合は、「グループ ID のトラブルシューティング」を参照してください。 |
create コマンドを実行すると指定した名前でカスタムポリシープロジェクトが作成されます。プロジェクトは、ポリシーと同じ名前の新しいディレクトリか、または --output-dir フラグで指定したディレクトリに保存されます。以下のチュートリアルでは、このディレクトリをプロジェクトのルートディレクトリと呼びます。
新しいポリシーの assetID は、ポリシーの名前を小文字にしてスペースを - に置き換えた文字列になります。たとえば、My Header Injection Policy という名前のポリシーの assetID は、my-header-injection-policy になります。
新しいポリシーの groupID は、Anypoint CLI で設定した組織の ID です。
create コマンドは、次のフラグをサポートします。
| フラグ | デフォルト値 | 必須 | 説明 |
|---|---|---|---|
|
なし |
はい |
新しいポリシーの名前。 |
|
なし |
いいえ |
新しいポリシーの説明。 |
|
|
いいえ |
新しいポリシーが作成されるディレクトリ。 |
|
|
いいえ |
新しいポリシーのバージョン。 |
|
なし |
いいえ |
ポリシーを所有する組織の組織 ID。 |
新しいポリシープロジェクトを作成したら、make setup コマンドを実行して、追加のソフトウェア連動関係をダウンロードする必要があります。
make setup
make setup コマンドを実行すると、ポリシーのルートディレクトリに、次のディレクトリツリーに示すディレクトリとファイルが作成されます。
├─ definition/ # Contains the files that describe the policy Definition │ ├── target/ # Contains the build definition asset files │ └── gcl.yaml # GCL file managed by the developer that describes the policy Definition ├─ target/ # Contains the implementation asset files and the output of the policy build ├─ src/ # Contains the implementation source code ├─ playground/ # Contains the artifacts required for running the policy locally ├─ tests/ # Contains the source and configuration files to write and run integration tests ├─ Makefile # Provides all the callable actions required during the policy development lifecycle ├─ Cargo.toml # Rust language standard file that contains the metadata required to build the policy └─.project.yaml # Project manifest used by PDK
2 つの別々のターゲットディレクトリです。
definition/target/: Exchange にパブリッシュされたポリシーアセット定義が保存されます。
target/: ポリシーの Exchange アセット実装用のファイルとプロジェクトビルドの出力が保存されます。
両方のターゲットディレクトリとそのコンテンツは .gitignore ファイルに保存されます。make build コマンドを使用して、各デバイス上でターゲットをコンパイルする必要があります。たとえば、チームでポリシーを開発する場合は、チームとしてポリシーとソースコードをリモートリポジトリにパブリッシュできますが、各チームメンバーがポリシーの作業に取り掛かるためには、自分のデバイス上でターゲットをビルドする必要があります。
definition ディレクトリには、ポリシーのメタデータと設定プロパティを定義する gcl.yaml ファイルが保存されます。
gcl.yaml の設定については、policy-pdk-create-schema-definition.adocを参照してください。
Flex Gateway のカスタムポリシーは Rust プログラミング言語で開発され、WebAssembly バイナリにコンパイルされます。
Cargo.toml は、Rust プロジェクトのマニフェストファイルです。[package] セクションには、ポリシーの実装に関する基本情報が含まれています。Cargo.toml で指定されたバージョンは、ポリシーアセットのバージョンと一致します。ポリシーのバージョンは、Cargo.toml のバージョン番号を編集することで管理できます。バージョンの形式は <major-version>.<minor-version>.<patch-version> です。
src ディレクトリにはポリシーのソースコードが保存されます。
lib.rs: ポリシーの動作を実装するメソッドのセットが保存されます。PDK は、これらのメソッドをインクルードしてカスタムポリシーの動作を実装します。これらのメソッドについての詳細は、Rust でのカスタムポリシー機能の実装. For complete policy examples, see カスタムポリシーの例を参照してください。
generated/config.rs および generated/mod.rs: gcl.yaml で定義されているポリシーの設定を、lib.rs やポリシーのソースファイルで使用できるようにする自動生成モジュールです。
Makefile には、make コマンドなど、ポリシー開発のライフサイクルに必要な呼び出し可能なアクションがすべて含まれています。すべての make コマンドは、カスタムポリシーディレクトリのルートレベルで実行します。
make setup: Makefile の残りのゴールに必要な PDK の内部連動関係をインストールします。
プロジェクトの設定についての詳細は、PDK ビルド環境のセットアップを参照してください。
make build-asset-files: ポリシーのビルド、実行、パブリッシュに必要なすべてのポリシーアセットファイルを生成します。このコマンドは、gcl.yaml ファイルで定義されている最新の設定で config.rs ソースコードファイルを更新します。
ポリシーのコンパイルの詳細については、カスタムポリシーのコンパイルを参照してください。
make build: make build-asset-files コマンドを実行して、ポリシーの WebAssembly バイナリをコンパイルします。
ポリシーのコンパイルの詳細については、カスタムポリシーのコンパイルを参照してください。
make run: コンテナ化された Docker 環境でポリシーの現在のビルドを簡単に実行する方法を提供します。
ポリシーの実行とデバッグの詳細については、PDK デバッグプレイグラウンドでのカスタムポリシーのデバッグを参照してください。
make test: PDK が提供するテストフレームワークを使用して、tests/ に保存されているテストを実行します。
ポリシーのテストの詳細については、インテグレーションテストの作成を参照してください。
make publish: ポリシーアセットを Exchange でパブリッシュします。
Exchange でのポリシーのパブリッシュについての詳細は、Exchange へのカスタムポリシーのアップロードを参照してください。
make release: ポリシーアセットを Exchange でリリースします。
Exchange でのポリシーのリリースについての詳細は、Exchange へのカスタムポリシーのアップロードを参照してください。
make help: PDK が提供するすべての make コマンドをリスト表示します。