--- title: "Canary 수정" slug: "apigateway-canarytest-change" tags: ["API Gateway", "Canary Test"] updated: 2026-09-17T09:15:58Z published: 2026-09-17T09:15:58Z canonical: "api.ncloud-docs.com/apigateway-canarytest-change" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Canary 수정 Classic/VPC 환경에서 이용 가능합니다. 활성화된 Canary 설정을 수정합니다. ## 요청 요청 형식을 설명합니다. 요청 형식은 다음과 같습니다. | 메서드 | URI | | --- | --- | | PATCH | /api/v1/products/{product-id}/apis/{api-id}/stages/{stage-id}/canary | ### 요청 헤더 API Gateway에서 공통으로 사용하는 헤더에 대한 정보는 [API Gateway 요청 헤더](/docs/ai-application-service-apigateway#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. ### 요청 경로 파라미터 요청 경로 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `product-id` | String | Required | API에 연결된 Product ID - 1~10자 | | `api-id` | String | Required | Product에 생성된 API ID - 1~10자 | | `stage-id` | String | Required | API에 생성된 Stage ID - 1~10자 | ### 요청 구문 요청 구문은 다음과 같습니다. ``` { "canaryCacheTtlSec" : 0, "useDistributionRate" : true, "canaryConditions" : [ { "parameterName" : "parameterName", "parameterCode" : "REQUEST_HEADER", "parameterValue" : "parameterValue" } ], "canaryEndpointDomain" : "canaryEndpointDomain", "canaryThrottleRps" : 0, "canaryDistributionRate" : 0 } ``` ### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `canaryCacheTtlSec` | String | Optional | 캐시를 유지할 초 (sec) - 1~3600 | | `useDistributionRate` | Boolean | Required | 요청을 Stage와 Canary에 분배하는 방법 결정 - `true` \| `false` - `true`: Percentage 분배 방식(Canary 요청의 실행 비율 지정) - `false`: Condition 분배 방식(설정한 헤더 및 쿼리 스트링과 요청이 동일할 때 Canary 요청 실행) | | `canaryConditions` | Array | Conditional | Canary 테스트 요청 정보: [canaryConditions](/docs/apigateway-canarytest-change#canaryConditions) - `useDistributionRate`가 `false`인 경우 필수 | | `canaryEndpointDomain` | String | Required | Canary의 Endpoint 도메인을 설정 | | `canaryThrottleRps` | String | Optional | 백엔드 서버를 보호하기 위해, 등록한 메서드별로 제한할 초당 요청 수 | | `canaryDistributionRate` | Float | Conditional | Canary 요청의 실행 비율 - `useDistributionRate`가 `true`인 경우 필수 | #### `canaryConditions` `canaryConditions`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `parameterName` | String | Conditional | 파라미터 이름 - `useDistributionRate`가 `false`인 경우 필수 | | `parameterCode` | String | Conditional | 파라미터 유형 - `REQUEST_HEADER` \| `REQUEST_QUERY` - `REQUEST_HEADER`: 헤더 유형 파라미터 - `REQUEST_QUERY`: 쿼리 유형 파라미터 - `useDistributionRate`가 `false`인 경우 필수 | | `parameterValue` | String | Conditional | 파라미터 요청 값 - `useDistributionRate`가 `false`인 경우 필수 | ### 요청 예시 요청 예시는 다음과 같습니다. ``` 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 }' ``` ## 응답 응답 형식을 설명합니다. ### 응답 구문 응답 구문은 다음과 같습니다. ``` { "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" } ] } ``` ### 응답 상태 코드 API Gateway에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [API Gateway 응답 상태 코드](/docs/ai-application-service-apigateway#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. ### 응답 예시 응답 예시는 다음과 같습니다. ``` { "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": "****" } ] } ```