All Products
Search
Document Center

Serverless App Engine:CreateGreyTagRoute

Last Updated:Jul 25, 2024

Creates a canary release rule for a Spring Cloud or Dubbo application.

Operation description

Note You can configure only one canary release rule for each application.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer.

Authorization information

The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:

  • Operation: the value that you can use in the Action element to specify the operation on a resource.
  • Access level: the access level of each operation. The levels are read, write, and list.
  • Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
    • The required resource types are displayed in bold characters.
    • If the permissions cannot be granted at the resource level, All Resources is used in the Resource type column of the operation.
  • Condition Key: the condition key that is defined by the cloud service.
  • Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
OperationAccess levelResource typeCondition keyAssociated operation
sae:CreateGreyTagRoutecreate
  • All Resources
    *
    none
none

Request syntax

POST /pop/v1/sam/tagroute/greyTagRoute

Request parameters

ParameterTypeRequiredDescriptionExample
AppIdstringYes

dubbo-echo

7802c49a-67bc-4167-8369-9a9c003c****
NamestringYes

Canary Release - Regions

dubbo-echo
DescriptionstringNo

[{"condition":"OR","items":[{"cond":"==","name":"grey","operator":"rawvalue","type":"param","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"cookie","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"header","value":"true"}],"path":"/post-echo/hi"}]

ScRulesstringNo

[{"condition":"OR","group":"DUBBO","items":[{"cond":"==","expr":".key1","index":0,"operator":"rawvalue","value":"value1"},{"cond":"==","expr":".key2","index":0,"operator":"rawvalue","value":"value2"}],"methodName":"echo","serviceName":"com.alibaba.edas.boot.EchoService","version":"1.0.0"}]

[{"condition":"OR","items":[{"cond":"==","name":"grey","operator":"rawvalue","type":"param","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"cookie","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"header","value":"true"}],"path":"/post-echo/hi"}]
DubboRulesstringNo

The ID of the request.

[{"condition":"OR","group":"DUBBO","items":[{"cond":"==","expr":".key1","index":0,"operator":"rawvalue","value":"value1"},{"cond":"==","expr":".key2","index":0,"operator":"rawvalue","value":"value2"}],"methodName":"echo","serviceName":"com.alibaba.edas.boot.EchoService","version":"1.0.0"}]
  • Parameters in the ScRules parameter
ParameterTypeExampleDescription
conditionStringORThe relationship between the conditions in the canary release rule. Valid values:
  • AND: The conditions are in the logical AND relation. All conditions must be met at the same time.

  • OR: The conditions are in the logical OR relation. At least one of the conditions must be met. | | path | String | /path | The path of the canary release rule of the Spring Cloud application. | | items | Array of items | | The conditions. | Parameters in the items parameter | Parameter | Type | Example | Description | | --------- | ---- | ------- | ----------- | | name | String | test | The name of the parameter. | | cond | String | == | The comparison operator. Valid values: >, <, >=, <=, ==, and ! =. | | type | String | cookie | The type of the comparison. Valid values:

  • param: parameter

  • cookie: cookie

  • header: header | | value | String | test | The value of the parameter. This value is compared with the value that is obtained based on the type and name parameters. | | operator | String | rawvalue | The operator. Valid values:

  • rawvalue: direct comparison.

  • list: whitelist.

  • mod: mods 100.

  • deterministic_proportional_steaming_division: percentage. |

  • Parameters in the DubboRules parameter

ParameterTypeExampleDescription
conditionStringORThe relationship between the conditions in the canary release rule. Valid values:
  • AND: The conditions are in the logical AND relation. All conditions must be met at the same time.

  • OR: The conditions are in the logical OR relation. At least one of the conditions must be met. | | methodName | String | echo | The method name of the Dubbo service. | | serviceName | String | com.alibaba.edas.boot.EchoService | The name of the Dubbo service. | | version | String | 1.0.0 | The version of the Dubbo service. | | items | Array of items | | The conditions. | | group | String | DUBBO | The group of the Dubbo service that corresponds to the canary release rule. | Parameters in the items parameter | Parameter | Type | Example | Description | | --------- | ---- | ------- | ----------- | | index | Integer | 0 | The index of the parameter. The value 0 indicates the first parameter. | | expr | String | .name | The expression that is used to obtain the value of the parameter. Valid values:

  • Empty: obtains the value of the parameter.

  • .name: obtains the name property of the parameter. This expression works the same way as args0.getName().

  • .isEnabled(): obtains the enabled property of the parameter. This expression works the same way as args0.isEnabled().

  • [0]: indicates that the value of the parameter is an array and obtains the first value of the array. This expression works the same way as args0[0]. This expression does not start with a period (.).

  • .get(0): indicates that the value of the parameter is a list and obtains the first value of the list. This expression works the same way as args0.get(0).

  • .get("key"): indicates that the value of the parameter is a map and obtains the value of the key in the map. This expression works the same way as args0.get("key"). | | cond | String | == | The comparison operator. Valid values: >, <, >=, <=, ==, and ! =. | | value | String | test | The value of the parameter. This value is compared with the value that is obtained based on the expr and index parameters. | | operator | String | rawvalue | The operator. Valid values:

  • rawvalue: direct comparison.

  • list: whitelist.

  • mod: mods 100.

  • deterministic_proportional_steaming_division: percentage. |

Response parameters

ParameterTypeDescriptionExample
object
RequestIdstring

The returned information.

9D29CBD0-45D3-410B-9826-52F86F90****
Messagestring

The trace ID that is used to query the details of the request.

success
TraceIdstring

The information about the canary release rule.

0a98a02315955564772843261e****
Dataobject

The ID of the canary release rule. The ID is globally unique.

GreyTagRouteIdlong

The returned error code. Valid values:

  • If the call is successful, the ErrorCode parameter is not returned.
  • If the call fails, the ErrorCode parameter is returned. For more information, see the "Error codes" section of this topic.
16
ErrorCodestring

The HTTP status code. Valid values:

  • 2xx: The call was successful.
  • 3xx: The call was redirected.
  • 4xx: The call failed.
  • 5xx: A server error occurred.
Codestring

Indicates whether the information of the change order was queried. Valid values:

  • true: The information was queried.
  • false: The information failed to be queried.
200

Examples

Sample success responses

JSONformat

{
  "RequestId": "9D29CBD0-45D3-410B-9826-52F86F90****",
  "Message": "success",
  "TraceId": "0a98a02315955564772843261e****",
  "Data": {
    "GreyTagRouteId": 16
  },
  "ErrorCode": "",
  "Code": "200",
  "Success": true
}

Error codes

HTTP status codeError codeError messageDescription
400InvalidParameter.NotEmptyYou must specify the parameter %s.-
400InvalidParameter.ObviouslyThe specified parameter is invalid {%s}.-
400InvalidParameter.WithMessageThe parameter is invalid {%s}: %s-
400Application.ChangerOrderRunningAn application change process is in progress. Please try again later.An application change process is in progress. Please try again later.

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
2021-11-16The Error code has changedView Change Details