Canaryの変更
    • PDF

    Canaryの変更

    • PDF

    記事の要約

    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
    }
    

    リクエストボディ

    リクエストボディの説明は次の通りです。

    フィールドタイプ必須の有無説明
    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バックエンドサーバを保護するために、登録したメソッドごとに制限する1秒当たりのリクエスト数
    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
    }'
    

    レスポンス

    レスポンス形式を説明します。

    レスポンス構文

    構文は次の通りです。

    {
      "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のレスポンスステータスコードをご参照ください。

    レスポンス例

    レスポンスのサンプルコードは次の通りです。

    {
      "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": "****"
        }
      ]
    }
    

    この記事は役に立ちましたか?

    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.