3.2. OpenAPI サービスエンドポイントの設定
OpenShift Serverless Logic は kogito.sw.operationIdStrategy プロパティーを使用して、OpenAPI ドキュメントに定義されたサービスを呼び出すための REST クライアントを生成します。このプロパティーは、REST クライアント設定の設定キーがどのように導出されるかを決定します。
kogito.sw.operationIdStrategy プロパティーは、FILE_NAME、FULL_URI、FUNCTION_NAME、および SPEC_TITLE の値をサポートします。
FILE_NAMEOpenShift Serverless Logic は、OpenAPI ドキュメントファイル名を使用して設定キーを作成します。キーはファイル名に基づいており、特殊文字はアンダースコアに置き換えられます。
設定例:
quarkus.rest-client.stock_portfolio_svc_yaml.url=http://localhost:8282/
quarkus.rest-client.stock_portfolio_svc_yaml.url=http://localhost:8282/1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- OpenAPI ファイルパスは
<project_application_dir>/specs/stock-portfolio-svc.yamlです。REST クライアントの URL を設定する生成されたキーはstock_portfolio_svc_yamlです。
FULL_URIOpenShift Serverless Logic は、OpenAPI ドキュメントの完全な URI パスを設定キーとして使用します。完全な URI はサニタイズされ、キーが形成されます。
Serverless ワークフローの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定例:
quarkus.rest-client.apicatalog_apis_123_document.url=http://localhost:8282/
quarkus.rest-client.apicatalog_apis_123_document.url=http://localhost:8282/1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- URI パスは
https://my.remote.host/apicatalog/apis/123/documentです。REST クライアントの URL を設定する生成キーはapicatalog_apis_123_documentです。
FUNCTION_NAMEOpenShift Serverless Logic は、ワークフロー ID と OpenAPI ドキュメントを参照する関数名を組み合わせて、設定キーを生成します。
Serverless ワークフローの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定例:
quarkus.rest-client.myworkflow_myfunction.url=http://localhost:8282/
quarkus.rest-client.myworkflow_myfunction.url=http://localhost:8282/1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ワークフロー ID は
myworkflowです。関数名はmyfunctionです。REST クライアントの URL を設定する生成キーはmyworkflow_myfunctionです。
SPEC_TITLEOpenShift Serverless Logic は、OpenAPI ドキュメントの
info.title値を使用して設定キーを作成します。タイトルは、サニタイズされ、キーが作成されます。OpenAPI ドキュメントの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定例:
quarkus.rest-client.stock-service_API.url=http://localhost:8282/
quarkus.rest-client.stock-service_API.url=http://localhost:8282/1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- OpenAPI ドキュメントのタイトルは
stock-service APIです。REST クライアントの URL を設定する生成キーはstock-service_APIです。
3.2.1. URI エイリアスの使用 リンクのコピーリンクがクリップボードにコピーされました!
kogito.sw.operationIdStrategy プロパティーの代わりに、workflow-uri-definitions カスタムエクステンションを使用してエイリアスを URI に割り当てることができます。このエイリアスは設定プロセスを簡素化し、REST クライアント設定および関数定義の設定キーとして使用できます。
workflow-uri-definitions エクステンションを使用すると、URI をエイリアスにマップして、ワークフロー全体と設定ファイルで参照できるようになります。このアプローチは、URI とその設定を一元管理する方法を提供します。
前提条件
- OpenShift Container Platform でアプリケーションやその他のワークロードを作成するための適切なロールと権限を持つ OpenShift Serverless Logic プロジェクトにアクセスできる。
- OpenAPI 仕様ファイルにアクセスできる。
手順
workflow-uri-definitionsエクステンションをワークフローに追加します。このエクステンション内で、URI のエイリアスを作成します。ワークフローの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 1
- エクステンション ID を
workflow-uri-definitionsに設定します。 - 2
remoteCatalogエイリアスを URI (例:https://my.remote.host/apicatalog/apis/123/documentURI) にマッピングして、エイリアス定義を設定します。- 3
- オペレーション識別子 (例:
operation1およびoperation2のオペレーション識別子) を持つremoteCatalogエイリアスを使用して関数操作を設定します。application.propertiesファイルで、ワークフローで定義されたエイリアスを使用して REST クライアントを設定します。プロパティー例
quarkus.rest-client.remoteCatalog.url=http://localhost:8282/
quarkus.rest-client.remoteCatalog.url=http://localhost:8282/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前の例では、設定キーは
quarkus.rest-client.remoteCatalog.urlに設定され、URL はhttp://localhost:8282/に設定されており、REST クライアントはremoteCatalogエイリアスを参照してこれを使用します。ワークフローでは、URI を操作する関数を定義するときにエイリアスを使用します。
ワークフローの例 (続き):
Copy to Clipboard Copied! Toggle word wrap Toggle overflow