Stage 생성

Prev Next

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

사용자가 지정한 조건에 따라 Stage를 생성합니다.

요청

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

메서드 URI
POST /products/{product-id}/apis/{api-id}/stages

요청 헤더

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

요청 경로 파라미터

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

필드 타입 필수 여부 설명
product-id String Required API가 속한 Product ID
api-id String Required Stage를 생성할 API ID

요청 구문

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

{
    "cacheTtlSec" : 0,
    "ipAclList" : "ipAclList",
    "stageName" : "stageName",
    "throttleRps" : 6,
    "response" : "response",
    "deploymentDescription" : "deploymentDescription",
    "isMaintenance" : true,
    "enabledContentEncoding": true,
    "minimumCompressionSize": 0,
    "ipAclCode" : "ALLOWED",
    "endpointDomain" : "endpointDomain",
    "statusCode" : 1
}

요청 바디

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

필드 타입 필수 여부 설명
cacheTtlSec Integer Optional API 캐시 TTL
  • 1~3600초
ipAclList String Conditional IP ACL 목록
  • ipAclCode 입력 시 필수
stageName String Required Stage 이름
  • 1~20자로 영문자, 숫자, 특수문자 '-', '_'를 허용
throttleRps Integer Optional 메소드별 초당 요청 수 한도
  • 1~2,147,483,647
response String Optional 상태 코드에 대한 응답
  • 0~1,500자
deploymentDescription String Optional Stage 배포에 대한 설명
isMaintenance Boolean Optional 유지 보수 설정
  • true | false (기본값)
    • true: 설정
    • false: 설정 안 함
enabledContentEncoding Boolean Optional 인코딩 설정
  • true | false (기본값)
    • true: 설정
    • false: 설정 안 함
minimumCompressionSize Integer Optional 데이터 전송 시 압축 여부
  • 압축을 활성화하려면 음이 아닌 정수 입력
    • 0~10,485,760
  • 해당 필드를 입력하지 않으면 압축 비활성화
ipAclCode String Conditional IP ACL 허용 여부
  • ALLOWED | REJECTED
    • ALLOWED: 허용
    • REJECTED: 거부
  • ipAclList 입력 시 필수
endpointDomain String Required 엔드포인트 도메인
statusCode Integer Optional 상태 코드
  • 100~599

요청 예시

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

curl --location --request POST 'https://apigateway.apigw.gov-ntruss.com/api/v1/products/***ksk9***/apis/***51hs***/stages' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
    "stageName": "stage000",
    "endpointDomain": "https://test***.test.com"
}'

응답

응답 형식을 설명합니다.

응답 구문

응답 구문은 다음과 같습니다.

{
    "stage" : {
        "canaryDeployedTime" : "2000-01-23T04:56:07.000+00:00",
        "modifier" : "modifier",
        "canaryEndpointDomain" : "canaryEndpointDomain",
        "canaryThrottleRps" : 5,
        "cacheTtlSec" : 0,
        "stageName" : "stageName",
        "throttleRps" : 4,
        "monthQuotaRequest" : 9,
        "canaryCacheTtlSec" : 6,
        "canaryDistributionRate" : 5.962134,
        "apiId" : "apiId",
        "stageId" : "stageId",
        "deployedStageDeploymentNo" : 7,
        "useDistributionRate" : true,
        "canaryDeploymentDescription" : "canaryDeploymentDescription",
        "dayQuotaRequest" : 2,
        "isMaintenance" : true,
        "rateRps" : 3,
        "endpointDomain" : "endpointDomain",
        "ipAclList" : "ipAclList",
        "canaryDeploymentNo" : 1,
        "regTime" : "2000-01-23T04:56:07.000+00:00",
        "response" : "response",
        "canaryConditions" : [ {
            "parameterName" : "parameterName",
             "parameterCode" : "REQUEST_HEADER",
            "parameterValue" : "parameterValue"
        } ],
        "tenantId" : "tenantId",
        "ipAclCode" : "ALLOWED",
        "statusCode" : 2,
        "enabledContentEncoding": true,
        "minimumCompressionSize": 0
    }
}

응답 상태 코드

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

응답 예시

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

{
    "stage": {
        "tenantId": "***e230cebc1402ba89b148896951***",
        "modifier": "***d3020-5bb7-11ec-bfb8-246e96591***",
        "stageId": "***fh5o***",
        "apiId": "***51hs***",
        "stageName": "stage000",
        "endpointDomain": "https://test***.test.com",
        "regTime": "2024-05-07T23:48:47Z",
        "isMaintenance": false,
        "enabledContentEncoding": false
    }
}