MENU
      Canary 수정

        Canary 수정


        기사 요약

        Classic/VPC 환경에서 이용 가능합니다.

        활성화된 Canary 설정을 수정합니다.

        요청

        요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

        메서드URI
        PATCH/products/{product-id}/apis/{api-id}/stages/{stage-id}/canary

        요청 헤더

        API Gateway에서 공통으로 사용하는 헤더에 대한 자세한 내용은 API Gateway 요청 헤더를 참조해 주십시오.

        요청 경로 파라미터

        파라미터에 대한 설명은 다음과 같습니다.

        필드타입필수 여부설명
        product-idStringRequiredAPI에 연결된 Product ID
        • 1~10자
        api-idStringRequiredProduct에 생성된 API ID
        • 1~10자
        stage-idStringRequiredAPI에 생성된 Stage ID
        • 1~10자

        요청 구문

        요청 구문은 다음과 같습니다.

        {
          "canaryCacheTtlSec" : 0,
          "useDistributionRate" : true,
          "canaryConditions" : [ {
            "parameterName" : "parameterName",
            "parameterCode" : "REQUEST_HEADER",
            "parameterValue" : "parameterValue"
          } ],
          "canaryEndpointDomain" : "canaryEndpointDomain",
          "canaryThrottleRps" : 0,
          "canaryDistributionRate" : 0
        }
        JSON

        요청 바디

        요청 바디에 대한 설명은 다음과 같습니다.

        필드타입필수 여부설명
        canaryCacheTtlSecStringOptional캐시를 유지할 초 (sec)
        • 1~3600
        useDistributionRateBooleanRequired요청을 Stage와 Canary에 분배하는 방법 결정
        • true | false
          • true: Percentage 분배 방식(Canary 요청의 실행 비율 지정)
          • false: Condition 분배 방식(설정한 헤더 및 쿼리 스트링과 요청이 동일할 때 Canary 요청 실행)
        canaryConditions[]ObjectConditionalCanary 테스트 요청 정보
        • useDistributionRatefalse인 경우 필수
        canaryConditions[].parameterNameStringConditional파라미터 이름
        • useDistributionRatefalse인 경우 필수
        canaryConditions[].parameterCodeStringConditional파라미터 유형
        • REQUEST_HEADER | REQUEST_QUERY
          • REQUEST_HEADER: 헤더 유형 파라미터
          • REQUEST_QUERY: 쿼리 유형 파라미터
        • useDistributionRatefalse인 경우 필수
        canaryConditions[].parameterValueStringConditional파라미터 요청 값
        • useDistributionRatefalse인 경우 필수
        canaryEndpointDomainStringRequiredCanary의 Endpoint 도메인을 설정
        canaryThrottleRpsStringOptional백엔드 서버를 보호하기 위해, 등록한 메서드별로 제한할 초당 요청 수
        canaryDistributionRateFloatConditionalCanary 요청의 실행 비율
        • useDistributionRatetrue인 경우 필수

        요청 예시

        요청 예시는 다음과 같습니다.

        curl -X PATCH 'https://apigateway.apigw.ntruss.com/api/v1/products/{product-id}/apis/{api-id}/stages/{stage-id}/canary' \
        --header 'Content-Type: application/json' \
        --header 'x-ncp-apigw-timestamp: {Timestamp}' \
        --header 'x-ncp-iam-access-key: {Access Key}' \
        --header 'x-ncp-apigw-signature-v2: {API Gateway Signature}'
        --data '{
          "canaryCacheTtlSec" : 0,
          "useDistributionRate" : true,
          "canaryConditions" : [ {
            "parameterName" : "parameter-***",
            "parameterCode" : "REQUEST_HEADER",
            "parameterValue" : "*****"
          } ],
          "canaryEndpointDomain" : "canaryEndpointDomain",
          "canaryThrottleRps" : 6,
          "canaryDistributionRate" : 1.4658129
        }'
        Curl

        응답

        응답 형식을 설명합니다.

        응답 구문

        구문은 다음과 같습니다.

        {
          "stageId": "stageId",
          "canaryCertificateId": "canaryCertificateId",
          "canaryDeploymentNo": 0,
          "canaryDistributionRate": 0.0,
          "canaryCacheTtlSec": 0,
          "canaryThrottleRps": 0,
          "canaryEndpointDomain": "canaryEndpointDomain",
          "canaryDeployedTime": "2024-05-08T09:46:57.364Z",
          "canaryDeploymentDescription": "canaryDeploymentDescription",
          "deployedStageDeploymentNo": 0,
          "useDistributionRate": true,
          "canaryConditions": [
            {
              "parameterCode": "parameterCode",
              "parameterName": "parameterName",
              "parameterValue": "parameterValue"
            }
          ]
        }
        JSON

        응답 상태 코드

        API Gateway에서 공통으로 사용하는 응답 상태 코드에 대한 자세한 내용은 API Gateway 응답 상태 코드를 참조해 주십시오.

        응답 예시

        응답 예시는 다음과 같습니다.

        {
          "stageId": "*****7mhdv",
          "canaryCertificateId": "",
          "canaryDeploymentNo": 251437,
          "canaryDistributionRate": 1.4658129,
          "canaryCacheTtlSec": 1,
          "canaryThrottleRps": 6,
          "canaryEndpointDomain": "NONE",
          "canaryDeployedTime": "2024-05-08T09:46:57.364Z",
          "canaryDeploymentDescription": "",
          "deployedStageDeploymentNo": 251381,
          "useDistributionRate": true,
          "canaryConditions": [
            {
              "parameterCode": "REQUEST_HEADER",
              "parameterName": "****",
              "parameterValue": "****"
            }
          ]
        }
        JSON

        이 문서가 도움이 되었습니까?

        Changing your password will log you out immediately. Use the new password to log back in.
        First name must have atleast 2 characters. Numbers and special characters are not allowed.
        Last name must have atleast 1 characters. Numbers and special characters are not allowed.
        Enter a valid email
        Enter a valid password
        Your profile has been successfully updated.