2.2. OpenAPI 서비스 끝점 구성


OpenShift Serverless Logic은 kogito.sw.operationIdStrategy 속성을 사용하여 OpenAPI 문서에 정의된 서비스를 호출하는 REST 클라이언트를 생성합니다. 이 속성은 REST 클라이언트 구성에 대해 구성 키를 파생하는 방법을 결정합니다.

kogito.sw.operationIdStrategy 속성은 FILE_NAME,FULL_URI,FUNCTION_NAME, SPEC_TITLE 값을 지원합니다.

FILE_NAME

OpenShift Serverless Logic은 OpenAPI 문서 파일 이름을 사용하여 구성 키를 생성합니다. 키는 파일 이름을 기반으로 하며, 여기서 특수 문자가 밑줄로 교체됩니다.

설정 예:

quarkus.rest-client.stock_portfolio_svc_yaml.url=http://localhost:8282/ 1

1
OpenAPI 파일 경로는 src/main/resources/openapi/stock-portfolio-svc.yaml 입니다. REST 클라이언트의 URL을 구성하는 생성된 키는 score _portfolio_svc_yaml입니다.
FULL_URI

OpenShift Serverless Logic은 OpenAPI 문서의 전체 URI 경로를 구성 키로 사용합니다. 전체 URI는 키를 형성하도록 조정됩니다.

Serverless Workflow의 예

{
    "id": "myworkflow",
    "functions": [
        {
          "name": "myfunction",
          "operation": "https://my.remote.host/apicatalog/apis/123/document"
        }
    ]
    ...
}

설정 예:

quarkus.rest-client.apicatalog_apis_123_document.url=http://localhost:8282/ 1

1
URI 경로는 https://my.remote.host/apicatalog/apis/123/document 입니다. REST 클라이언트의 URL을 구성하는 생성된 키는 apicatalog_apis_123_document 입니다.
FUNCTION_NAME

OpenShift Serverless Logic은 OpenAPI 문서를 참조하는 워크플로우 ID와 함수 이름을 결합하여 구성 키를 생성합니다.

Serverless Workflow의 예

{
    "id": "myworkflow",
    "functions": [
        {
          "name": "myfunction",
          "operation": "https://my.remote.host/apicatalog/apis/123/document"
        }
    ]
    ...
}

설정 예:

quarkus.rest-client.myworkflow_myfunction.url=http://localhost:8282/ 1

1
워크플로우 ID는 myworkflow 입니다. 함수 이름은 myfunction 입니다. REST 클라이언트의 URL을 구성하는 생성된 키는 myworkflow_myfunction 입니다.
SPEC_TITLE

OpenShift Serverless Logic은 OpenAPI 문서의 info.title 값을 사용하여 구성 키를 생성합니다. 제목이 키를 형성하도록 조정됩니다.

OpenAPI 문서의 예

openapi: 3.0.3
info:
  title: stock-service API
  version: 2.0.0-SNAPSHOT
paths:
  /stock-price/{symbol}:
...

설정 예:

quarkus.rest-client.stock-service_API.url=http://localhost:8282/ 1

1
OpenAPI 문서 제목은 주식 서비스 API 입니다. REST 클라이언트의 URL을 구성하는 생성된 키는 price -service_API 입니다.

2.2.1. URI 별칭 사용

kogito.sw.operationIdStrategy 속성 대신 workflow-uri-definitions 사용자 지정 확장을 사용하여 URI에 별칭을 할당할 수 있습니다. 이 별칭은 구성 프로세스를 단순화하고 REST 클라이언트 설정 및 함수 정의에서 구성 키로 사용할 수 있습니다.

workflow-uri-definitions 확장을 사용하면 URI를 워크플로우 전체에서 및 구성 파일에서 참조할 수 있는 별칭에 매핑할 수 있습니다. 이 접근 방식은 중앙 집중식으로 URI 및 해당 구성을 관리하는 방법을 제공합니다.

사전 요구 사항

  • OpenShift Container Platform에서 애플리케이션 및 기타 워크로드를 생성할 수 있는 적절한 역할 및 권한으로 OpenShift Serverless Logic 프로젝트에 액세스할 수 있습니다.
  • OpenAPI 사양 파일에 액세스할 수 있습니다.

프로세스

  1. workflow-uri-definitions 확장을 워크플로에 추가합니다. 이 확장 내에서 URI에 대한 별칭을 생성합니다.

    워크플로우 예

    {
      "extensions": [
        {
          "extensionid": "workflow-uri-definitions", 1
          "definitions": {
            "remoteCatalog": "https://my.remote.host/apicatalog/apis/123/document" 2
          }
        }
      ],
      "functions": [ 3
        {
          "name": "operation1",
          "operation": "remoteCatalog#operation1"
        },
        {
          "name": "operation2",
          "operation": "remoteCatalog#operation2"
        }
      ]
    }

1
확장 ID를 workflow-uri-definitions 로 설정합니다.
2
remoteCatalog 별칭을 URI에 매핑하여 별칭 정의를 설정합니다(예: https://my.remote.host/apicatalog/apis/123/document URI).
3
작업 식별자와 함께 remoteCatalog 별칭을 사용하여 함수 작업을 설정합니다(예: operation1operation2 작업 식별자).
  1. application.properties 파일에서 워크플로에 정의된 별칭을 사용하여 REST 클라이언트를 구성합니다.

    속성 예

    quarkus.rest-client.remoteCatalog.url=http://localhost:8282/

    이전 예에서 구성 키는 quarkus.rest-client.remoteCatalog.url 로 설정되고 URL은 remoteCatalog 별칭을 참조하여 REST 클라이언트가 사용하는 http://localhost:8282/ 로 설정됩니다.

  2. 워크플로우에서는 URI에서 작동하는 함수를 정의할 때 별칭을 사용합니다.

    예제 워크플로우(종료됨):

    {
      "functions": [
        {
          "name": "operation1",
          "operation": "remoteCatalog#operation1"
        },
        {
          "name": "operation2",
          "operation": "remoteCatalog#operation2"
        }
      ]
    }

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.