APIkit for AsyncAPI モジュールリファレンス

コラボレーション、アプリケーションの構築、コードベースの管理を行うには、APIkit for AsyncAPI の連動関係、名前空間、スキーマ情報に関する基礎を学びます。

連動関係

<dependency>
  <groupId>org.mule.modules</groupId>
  <artifactId>mule-asynckit-module</artifactId>
  <version>LATEST_VERSION</version> (1)
  <classifier>mule-plugin</classifier>
</dependency>
1 LATEST_VERSION​ を入手するには、『APIkit Release Notes』を確認してください。

名前空間とスキーマ

xmlns:apikit-asyncapi="http://www.mulesoft.org/schema/mule/apikit-asyncapi"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/apikit-asyncapi http://www.mulesoft.org/schema/mule/apikit-asyncapi/current/mule-apikit-asyncapi.xsd">

設定

設定

デフォルト設定

パラメーター

名前 説明 デフォルト値 必須

Name (名前)

String (文字列)

この設定の名前。コネクタはこの名前の設定を参照します。

なし

はい

Api Definition (API 定義)

String (文字列)

API 定義。

なし

はい

Disable Content Validation (コンテンツ検証を無効化)

Boolean (ブール)

ペイロードコンテンツ検証を無効にします。

false

いいえ

Kafka Config (Kafka 設定)

Kafka 設定​ の配列

Kafka サーバー設定のリスト。アプリケーションを作成するためにスキャフォールディングされる仕様にリストされている Kafka サーバーごとに 1 つ。

なし

いいえ

Anypoint MQ Configs (Anypoint MQ 設定)

Anypoint MQ 設定​ の配列

AMQ 設定のリスト。

なし

いいえ

Solace Configs (Solace 設定)

Solace 設定​ の配列

Solace 設定のリスト。

なし

いいえ

Salesforce Pub/Sub Configs (Salesforce Pub/Sub 設定)

Salesforce Pub/Sub Connector 設定​ の配列

SalesforcePubSub 設定のリスト。

なし

いいえ

Name (名前)

String (文字列)

他のコンポーネント内のこの要素を参照するために使用するこの要素の識別子。

なし

はい

サポートされるメッセージブローカー

メッセージブローカー 説明 サポートされるプロトコル 設定の詳細

Anypoint MQ

Anypoint MQ による非同期メッセージングをサポートします。

anypointmq

Anypoint MQ 設定は、AsyncAPI 仕様のサーバーオブジェクトで指定されます。​Message Listener​ と ​Subscribe​ 操作をサポートします。

Kafka

Apache Kafka による非同期メッセージングをサポートします。

kafka、kafka-secure

Kafka 設定は、AsyncAPI 仕様のサーバーオブジェクトで指定されます。​Message Listener​ と ​Subscribe​ 操作をサポートします。

Salesforce Platform イベント

Salesforce Pub/Sub 用 Anypoint Connector (Salesforce Pub/Sub Connector) を使用して、非同期 API 仕様を実装できます。

salesforcepubsub*

プロパティファイルで接続の詳細を確認できます。​Message Listener​ と ​Subscribe​ 操作、および ​Message Listener​ と ​Publish​ 操作をサポートします。

Message Listener​ 操作では、AsyncAPI 仕様 ​defaultContentType​ は application/JSON である必要があります。

Publish​ 操作では、ペイロードは JSON である必要があります。APIkit for AsyncAPI モジュールは、JSON ペイロードをオブジェクトの配列型に変換します。

Solace PUB/SUB+

Solace PubSub+ Connector を使用して非同期 API 仕様の実装をサポートします。

solace

プロパティファイルで接続の詳細を確認できます。​Message Listener​ および ​Publish​ 操作をサポートします。

*​ Salesforce Pub/Sub Connector 1.0.15 以降では、Anypoint Connector を使用する必要があります。

関連操作

関連付けられたソース

メッセージの検証

明示的に制限されていない限り、JSON スキーマ検証では項目の省略と追加が許可されます。次の表のスキーマに対してメッセージの検証を確認します。

スキーマ定義 メッセージ 有効

{ A: integer, B: string }

{A, B}

はい

{ A: integer, B: string }

{C, D}

はい

{ A: integer, B: string } required [A, B]

{C, D}

いいえ

{ A: integer, B: string } required [A, B]

{A, B, C}

はい

{ A: integer, B: string } required [A, B] ​additionalProperties​ = ​false

{A, B, C}

いいえ

{ A: integer, B: string } required [A, B] ​additionalProperties​ = ​false

{A, B}

いいえ

  • required​ 項目は、JSON オブジェクトで必須の項目のリストを指定します。

  • additionalProperties​ 項目は、JSON オブジェクトに追加プロパティを含めることができるかどうかを指定します。

スキーマでは、API 仕様で ​required​ と ​additionalProperties​ を指定する必要があります。

項目値は、検証の一環としてスキーマで指定された型に対してチェックされます。

仕様で操作に複数のメッセージスキーマが関連付けられている場合、検証は次の原則に従います。

  • メッセージはすべてのスキーマに対して検証される。

  • 少なくとも 1 つのスキーマに準拠している場合、メッセージは有効であるとみなされる。

  • メッセージが少なくとも 1 つのスキーマに準拠していない場合、そのメッセージは無効とみなされる。

スキーマ定義 メッセージ 有効

{ A: integer, B: string } required [A, B] ​additionalProperties​ = ​false​ { C: integer, D: string } required [C, D] ​additionalProperties​ = ​false

{A, B}

はい

{ A: integer, B: string } required [A, B] ​additionalProperties​ = ​false​ { C: integer, D: string } required [C, D] ​additionalProperties​ = ​false

{B, C}

いいえ

{ A: integer, B: string } required [A, B] ​additionalProperties​ = ​false​ { C: integer, D: string } required [C, D] ​additionalProperties​ = ​false

{A, B, C}

いいえ

{ A: integer, B: string } required [A, B] ​additionalProperties​ = ​false​ { C: integer, D: string } required [C, D] ​additionalProperties​ = ​false

{C, D}

はい

操作

Publish

<apikit-asyncapi:publish>

パラメーター

名前 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

なし

はい

Content (コンテンツ)

Binary (バイナリ)

処理するバイナリコンテンツ。

#[payload]

いいえ

Disable Content Validation (コンテンツ検証を無効化)

Boolean (ブール)

コンテンツの検証が無効になっているかどうかを示します。

False

いいえ

Config Ref (設定参照)

ConfigurationProvider

このコンポーネントを実行するために使用する設定の名前。

なし

はい

Channel Name (チャネル名)

String (文字列)

Channel name (チャネル名)

なし

はい

Server Name (サーバー名)

String (文字列)

Server name (サーバー名)

なし

はい

Target Variable (対象変数)

String (文字列)

操作の出力が配置される変数の名前。

なし

いいえ

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。その式の結果は対象変数に保存されます。

#[payload]

いいえ

エラーのマッピング

エラーのマッピング​ の配列

エラーのマッピングのセット。

なし

いいえ

出力

項目 説明

Type (型)

パブリッシュ応答

次の設定の場合

スロー

  • APIKIT-ASYNCAPI:INTERNAL_SERVER_ERROR

  • APIKIT-ASYNCAPI:PUBLISHING_ERROR

  • APIKIT-ASYNCAPI:VALIDATION_ERROR

ソース

Message Listener

<apikit-asyncapi:message-listener>

パラメーター

名前 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

なし

はい

Disable Content Validation (コンテンツ検証を無効化)

Boolean (ブール)

ペイロードコンテンツの検証を無効にします。

なし

いいえ

Channel Name (チャネル名)

String (文字列)

Channel name (チャネル名)

なし

はい

サーバー

Array of String (文字列の配列)

リスンするサーバーのリスト。

なし

いいえ

出力 MIME タイプ

String (文字列)

この操作で生成されるペイロードの MIME タイプ。

なし

いいえ

Output Encoding (出力エンコード)

String (文字列)

この操作で生成されるペイロードのエンコード。

なし

いいえ

Primary Node Only (プライマリノードのみ)

Boolean (ブール)

クラスターでの実行時、このソースをプライマリノード上でのみ実行する必要があるかどうかを指定します。

なし

いいえ

Config Ref (設定参照)

ConfigurationProvider

このコンポーネントを実行するために使用する設定の名前。

なし

はい

Streaming Strategy (ストリーミング戦略)

繰り返し可能なストリームを指定および設定します。

なし

いいえ

Redelivery Policy (再配信ポリシー)

Redelivery Policy (再配信ポリシー)

同じメッセージの再配信を処理するためのポリシー。

なし

いいえ

出力

項目 説明

Type (型)

任意の種別

Attributes Type (属性型)

次の設定の場合

Kafka 設定

項目 説明 デフォルト値 必須

Server Key (サーバーキー)

String (文字列)

AsyncAPI 設定内のサーバー設定の識別子。

なし

はい

Producer Config Ref (プロデューサー設定参照)

String (文字列)

Kafka プロデューサー設定への参照。

なし

いいえ

Consumer Config Ref (コンシューマー設定参照)

String (文字列)

Kafka コンシューマー設定への参照。

なし

いいえ

サーバーキーは、サーバー設定を一意に識別するために必要です。プロデューサーおよびコンシューマー設定の参照は省略可能であり、Kafka 実装の特定のセットアップと要件によって異なります。

Anypoint MQ 設定

項目 説明 デフォルト値 必須

Server Key (サーバーキー)

String (文字列)

AsyncAPI のサーバー設定の識別子。

なし

はい

Config Ref (設定参照)

String (文字列)

Anypoint MQ 設定の詳細への参照。

なし

いいえ

サーバーキーは、サーバー設定を一意に識別するために必要です。設定参照は省略可能であり、設定の詳細を指定するために使用されます。

Solace 設定

項目 説明 デフォルト値 必須

Server Key (サーバーキー)

String (文字列)

AsyncAPI 仕様で設定されたサーバーキー。

なし

はい

Config Ref (設定参照)

String (文字列)

Solace 接続の設定名への参照。

なし

いいえ

サーバーキーは、サーバー設定を一意に識別するために必要です。設定参照は省略可能であり、設定の詳細を指定するために使用されます。

Solace PubSub+ Connector の制限

APIkit for AsyncAPI の Solace PubSub+ Connector には次の制限があります。

  • Solace PubSub+ Connector は、​message listener​ および ​publish​ 操作の ​destinations​ の ​queue​ および ​topic​ をサポートします。ただし、APIkit for AsyncAPI 実装では、​destination​ の値として ​queue​ の使用のみがサポートされています。

  • 同じ型の演算子のみを同じ ​destination​ の ​queue​ にマップする必要があります。

Salesforce Pub/Sub Connector 設定

項目 説明 デフォルト値 必須

Server Key (サーバーキー)

String (文字列)

AsyncAPI 仕様で設定されたサーバーキー。

なし

はい

Config Ref (設定参照)

String (文字列)

Salesforce Pub/Sub Connector 設定の名前への参照。

なし

いいえ

サーバーキーは、サーバー設定を一意に識別するために必要です。設定参照は省略可能であり、設定の詳細を指定するために使用されます。

Repeatable In Memory Stream (反復可能なメモリ内ストリーム)

項目 説明 デフォルト値 必須

Initial Buffer Size (初期バッファサイズ)

Number (数値)

ストリームをコンシュームし、ランダムアクセスを提供するために割り当てられたメモリ量。ストリームにバッファ容量より大きいデータが含まれる場合、バッファは ​bufferSizeIncrement​ 属性に従って上限の ​maxInMemorySize​ まで拡張されます。

なし

いいえ

Buffer Size Increment (バッファサイズ増分)

Number (数値)

バッファサイズが初期サイズを超えた場合に、どれだけ拡張するか。値を 0 またはそれ以下に設定すると、バッファは拡張されません。バッファが満杯になると ​STREAM_MAXIMUM_SIZE_EXCEEDED​ エラーが返されます。

なし

いいえ

Max Buffer Size (最大バッファサイズ)

Number (数値)

使用されるメモリの最大量。これを超えると、​STREAM_MAXIMUM_SIZE_EXCEEDED​ エラーが発生します。0 以下の値は無制限を意味します。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE (バイト)

  • KB

  • MB

  • GB

これらの属性は、この単位で表されます。

なし

いいえ

Repeatable File Store Stream (反復可能なファイルストアストリーム)

項目 説明 デフォルト値 必須

In Memory Size (メモリ内サイズ)

Number (数値)

データをメモリ内に保持するためにストリームで使用する最大メモリを定義します。このサイズを超えると、ストリームはコンテンツをディスクにバッファします。

Buffer Unit (バッファ単位)

Enumeration (列挙)。次のいずれかになります。

  • BYTE (バイト)

  • KB

  • MB

  • GB

maxInMemorySiz​ を表す単位。

なし

いいえ

Redelivery Policy (再配信ポリシー)

項目 説明 デフォルト値 必須

Max Redelivery Count (最大再配信数)

Number (数値)

正常に処理されずにプロセス失敗メッセージがトリガーされるまでにメッセージを再配信できる最大回数。

なし

いいえ

Message Digest Algorithm (メッセージダイジェストアルゴリズム)

String (文字列)

安全なハッシュアルゴリズム。

SHA-256

いいえ

Message Identifier (メッセージ識別子)

Redelivery Policy Message Identifier (再配信ポリシーメッセージ識別子)

メッセージを識別するために使用される戦略。

なし

いいえ

Object Store (オブジェクトストア)

ObjectStore

各メッセージの再配信カウンターが保存されるオブジェクトストア。

なし

いいえ

Redelivery Policy Message Identifier (再配信ポリシーメッセージ識別子)

項目 説明 デフォルト値 必須

Use Secure Hash (セキュアハッシュを使用)

Boolean (ブール)

再配信されたメッセージの識別にセキュアハッシュアルゴリズムを使用するかどうか。

なし

いいえ

Id Expression (ID 式)

String (文字列)

メッセージがいつ再配信されたのかを判断するために使用する式。このプロパティは、​useSecureHash​ が ​false​ の場合に設定できます。

なし

いいえ

パブリッシュ応答

項目 説明 デフォルト値 必須

Response Data (応答データ)

Object (オブジェクト)

要求に応答してサーバーが返すデータ。

なし

いいえ

エラーのマッピング

項目 説明 デフォルト値 必須

Source (ソース)

Enumeration (列挙)。次のいずれかになります。

  • ANY

  • REDELIVERY_EXHAUSTED​

  • TRANSFORMATION

  • EXPRESSION

  • SECURITY

  • CLIENT_SECURITY​

  • SERVER_SECURITY​

  • ROUTING

  • CONNECTIVITY

  • RETRY_EXHAUSTED​

  • TIMEOUT

操作中に発生したエラーの種類。

なし

はい

Target (対象)

String (文字列)

エラーに対処する必要がある特定のコンポーネントまたはモジュール。

なし

はい

Kafka Message Attributes (Kafka メッセージ属性)

項目 説明 デフォルト値 必須

Channel Name (チャネル名)

String (文字列)

メッセージがパブリッシュまたはコンシュームされる Kafka チャネル (トピック) の名前。

なし

はい

Channel Parameters (チャネルパラメーター)

Object (オブジェクト)

チャネルに固有の追加パラメーターまたは設定。

なし

いいえ

Creation Timestamp (作成時のタイムスタンプ)

DateTime

メッセージが作成されたときのタイムスタンプ。

なし

いいえ

Headers (ヘッダー)

Object (オブジェクト)

メッセージに関連付けられたメタデータ (通常はキー-値ペア)

なし

いいえ

Key (キー)

String (文字列)

このキーにより、メッセージが送信される Kafka トピック内のパーティションが決まります。

なし

いいえ

Leader Epoch (リーダーエポック)

Number

メッセージが送信された時点のリーダーブローカーのエポック。

なし

いいえ

Log Append Timestamp (ログに追加されるタイムスタンプ)

DateTime

メッセージがログに追加されたときのタイムスタンプ。

なし

いいえ

Offset (オフセット)

Number (数値)

Kafka トピックパーティション内のメッセージオフセット。

なし

いいえ

Partition (パーティション)

Number (数値)

メッセージが保存される Kafka トピック内のパーティション。

なし

いいえ

Protocol (プロトコル)

String (文字列)

Kafka サーバーが使用するプロトコル。

なし

いいえ

Server Name (サーバー名)

String (文字列)

メッセージを処理する Kafka サーバーの名前。

なし

はい

Anypoint MQ メッセージの属性

項目 説明 デフォルト値 必須

Ack Token (Ack トークン)

String (文字列)

メッセージの受信を確認するために使用されるトークン。

なし

いいえ

Channel Name (チャネル名)

String (文字列)

メッセージがパブリッシュまたはコンシュームされる Anypoint MQ チャネルの名前。

なし

はい

Channel Parameters (チャネルパラメーター)

Object (オブジェクト)

チャネルに固有の追加パラメーターまたは設定。

なし

いいえ

Content-Type (コンテンツタイプ)

String (文字列)

メッセージコンテンツの MIME タイプ。

なし

いいえ

Delivery Count (配信数)

Number (数値)

メッセージが配信された回数。

なし

いいえ

Headers (ヘッダー)

Object (オブジェクト)

メッセージに関連付けられたメタデータ (通常はキー-値ペア)

なし

いいえ

Message Id (メッセージ ID)

String (文字列)

メッセージの一意の識別子。

なし

はい

Properties (プロパティ)

Object (オブジェクト)

メッセージに関連付けられたカスタムプロパティ。

なし

いいえ

Protocol (プロトコル)

String (文字列)

Anypoint MQ サーバーが使用するプロトコル。

なし

いいえ

Server Name (サーバー名)

String (文字列)

メッセージを処理する Anypoint MQ サーバーの名前。

なし

はい

Solace メッセージ属性

項目 説明 デフォルト値 必須

DMQ Eligible (DMQ 対象)

Boolean (ブール)

メッセージがデッドメッセージキューの対象かどうかを示します。

False

いいえ

Channel Name (チャネル名)

String (文字列)

メッセージがパブリッシュまたはコンシュームされる Solace チャネルの名前。

なし

いいえ

Channel Parameters (チャネルパラメーター)

Object (オブジェクト)

Solace チャネルに固有の追加パラメーターまたは設定。

なし

いいえ

Content-Type (コンテンツタイプ)

String (文字列)

メッセージコンテンツの MIME タイプ。

なし

いいえ

Delivery Mode (配信モード)

String (文字列)

メッセージの配信モード。

なし

いいえ

Discard Indication (破棄の表示)

Boolean (ブール)

メッセージが破棄されたかどうかを示します。

False

いいえ

Eliding Eligible (省略対象)

Boolean (ブール)

メッセージが省略の対象かどうかを示します。

False

いいえ

エンドポイント種別

String (文字列)

使用するエンドポイントの種別。

なし

いいえ

Message Reference Id (メッセージ参照 ID)

String (文字列)

メッセージの参照識別子。

なし

いいえ

Priority (優先度)

Number (数値)

メッセージの優先度。

0

いいえ

Protocol (プロトコル)

String (文字列)

Solace サーバーが使用するプロトコル。

なし

いいえ

Receive Timestamp (受信タイムスタンプ)

DateTime

メッセージが受信されたときのタイムスタンプ。

なし

いいえ

Redelivered (再配信済み)

Boolean (ブール)

メッセージが再配信されたかどうかを示します。

False

いいえ

Reply (返信)

Boolean (ブール)

メッセージの返信が要求されているかどうかを示します。

False

いいえ

Server Name (サーバー名)

String (文字列)

メッセージを処理する Solace サーバーの名前。

なし

はい

Time To Live (存続期間)

Number (数値)

メッセージが有効な残り時間 (ミリ秒)。

0

いいえ

Salesforce Pub/Sub 属性

項目 説明 デフォルト値 必須

Channel Name (チャネル名)

String (文字列)

メッセージがパブリッシュまたはコンシュームされる Salesforce Pub/Sub チャネルの名前。

なし

いいえ

Channel Parameters (チャネルパラメーター)

Object (オブジェクト)

Salesforce Pub/Sub チャネルに固有の追加パラメーターまたは設定。

なし

いいえ

Protocol (プロトコル)

String (文字列)

Salesforce Pub/Sub サーバーが使用するプロトコル。

なし

いいえ

Server Name (サーバー名)

String (文字列)

メッセージを処理する Salesforce Pub/Sub サーバーの名前。

なし

いいえ