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


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

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

JSON에서 XML 사용자 지정 정책은 예시일 뿐입니다. 운용 환경에서는 사용하지 않습니다.

전제 조건

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

절차

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

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

    luarocks {
    	group 'production' {
    		module { 'xml2lua' },
    	}
    }
    Copy to Clipboard Toggle word wrap

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

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

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

    xml2lua 1.5-2||productionbash-4.4
    Copy to Clipboard Toggle word wrap

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

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

    local xml2lua = require("xml2lua")
    Copy to Clipboard Toggle word wrap
  4. 사용자 지정 정책을 빌드하는 데 사용하는 Dockerfile에서 Roverfile 및 Roverfile.lock 을 복사하고 rover install 을 실행합니다. JSON에서 XML 사용자 지정 정책 예제에서는 다음 행을 Dockerfile에 추가합니다.

    COPY Roverfile .
    COPY Roverfile.lock .
    
    RUN rover install --roverfile=/opt/app-root/src/Roverfile
    Copy to Clipboard Toggle word wrap

    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.12 -t $(TARGET_IMAGE)
    Copy to Clipboard Toggle word wrap

다음 단계

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

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat