4.3.4. 3scale 사용자 지정 정책에 외부 Lua 종속 항목 포함


APIcast가 3scale 이미지에 아직 없는 Lua 라이브러리를 사용할 수 있도록 사용자 지정 정책에 외부 Lua 종속성을 추가할 수 있습니다.

다음 절차에서는 응답 본문을 JSON에서 XML로 변환하는 사용자 지정 정책 예를 사용하여 이 작업을 수행하는 방법을 보여줍니다. 예제 사용자 지정 정책에는 Lua로 작성된 xml2lua XML 파서가 필요합니다. 전체 예제에서는 빌드 및 테스트에 대한 단축을 보여주지만 예제 프로시저만 따라 사용자 지정 정책을 배포할 수 없습니다. 외부 Lua 종속성이 있는 사용자 정의 정책을 배포하려면 이 절차의 단계를 수행하고 다른 OpenShift Container Platform에서 사용자 정의 정책을 3scale에 추가하는 절차를 수행해야 합니다.

XML 사용자 지정 정책에 대한 JSON 은 예제일 뿐입니다. 프로덕션 환경에서 사용하기 위한 것이 아닙니다.

전제 조건

  • 3scale 사용자 정의 정책
  • 외부 Lua 라이브러리 액세스

절차

  1. 사용자 지정 정책이 포함된 디렉터리에서 외부 Lua 라이브러리를 식별하는 파일을 추가합니다.

    파일 이름은 Roverfile 이어야 합니다. JSON에서 XML 사용자 지정 정책 예제에서 Roverfile 에는 다음과 같은 내용이 있습니다.

    luarocks {
    	group 'production' {
    		module { 'xml2lua' },
    	}
    }

    lua-rover 는 LuaRocks에 대한 래퍼입니다. lua-rover 는 종속성에 대한 전송 잠금을 제공합니다. LuaRocks는 Lua 모듈에 대한 패키지 관리자입니다.

  2. 사용자 지정 정책이 포함된 디렉터리에 lua-rover 잠금 파일을 추가합니다.

    파일 이름은 Roverfile.lock 여야 합니다. JSON에서 XML 사용자 지정 정책 예제에서 Roverfile.lock 에는 다음과 같은 내용이 있습니다.

    xml2lua 1.5-2||productionbash-4.4

    RoverfileRoverfile.lock 을 함께 사용하면 APIcast 또는 3scale Operator가 종속 라이브러리를 가져올 수 있습니다.

  3. 사용자 지정 정책을 정의하는 파일에서 Lua 종속성을 지정하는 행을 추가합니다. JSON에서 XML 사용자 지정 정책 예제에서는 이 행을 지정합니다.

    local xml2lua = require("xml2lua")
  4. 사용자 지정 정책을 빌드하는 데 사용하는 Dockerfile에서 RoverfileRoverfile.lock 를 복사하고 rover install 을 실행합니다. JSON에서 XML 사용자 지정 정책 예제에서는 이러한 행을 Dockerfile에 추가합니다.

    COPY Roverfile .
    COPY Roverfile.lock .
    
    RUN rover install --roverfile=/opt/app-root/src/Roverfile

    Dockerfile은 APIcast 또는 3scale Operator를 사용하여 정책을 빌드할 수 있습니다.

  5. 사용자 지정 정책의 Makefile 에서 사용자 지정 정책의 것처럼 빌드 대상을 지정합니다.

    예를 들어 빌드 대상은 다음과 같을 수 있습니다.

    TARGET_IMAGE="apicast/json_to_xml:latest"
    # IP="http://localhost:8080"
    
    build:
    	docker build . --build-arg IMAGE=registry.redhat.io/3scale-amp2/apicast-gateway-rhel8:3scale2.13 -t $(TARGET_IMAGE)

다음 단계

외부 Lua 종속성이 있는 사용자 지정 정책을 배포하는 나머지 단계는 다른 사용자 지정 정책을 배포하는 것과 동일합니다. 즉 이미지를 리포지터리로 푸시하고 APIcast 이미지를 방금 빌드한 이미지로 교체해야 합니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동