Help Center/ EventGrid/ API Reference/ APIs/ Event Subscription Management/ Creating an Event Subscription Target
Updated on 2025-05-06 GMT+08:00

Creating an Event Subscription Target

Function

This API is used to create a target for an event subscription.

URI

POST /v1/{project_id}/subscriptions/{subscription_id}/targets

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Tenant resource space ID.

subscription_id

Yes

String

ID of the event subscription.

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

enterprise_project_id

No

String

ID of an enterprise project used for creating a subscription.

Request Parameters

Table 3 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token. The token can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the user token.

Table 4 Request body parameters

Parameter

Mandatory

Type

Description

id

No

String

Subscription target ID. The value must be globally unique. Only lowercase letters, digits, and hyphens (-) are allowed. It must start with a letter or digit. In the subscription update scenario, if the subscription target with the specified ID exists, the subscription target is updated. Otherwise, the subscription target is created. If no ID is specified, the system automatically generates an ID when creating the subscription target. If an ID is specified, the ID is used as the subscription target ID. This field is ignored when the subscription target is updated.

name

Yes

String

Name of the event subscription target.

provider_type

Yes

String

Provider type of the event subscription target.

connection_id

No

String

Connection ID used by the event subscription target.

detail

No

Object

List of event target parameters for the subscription. The total length cannot exceed 1,024 bytes after serialization. This field is mandatory for function (urn, invoke_type, and agency_name), function flow (workflow_id and agency_name), and webhook (url) targets. An agency name must be specified for a function or function flow.

kafka_detail

No

KafkaTargetDetail object

List of Kafka event subscription target parameters. The total length of this field after serialization cannot exceed 1024 bytes.

smn_detail

No

SmnTargetDetail object

List of SMN event target parameters for the subscription. The total length cannot exceed 1024 bytes after serialization.

eg_detail

No

EgTargetDetail object

List of EG event channel target parameters for the subscription. The total length cannot exceed 1,024 bytes after serialization. This field is mandatory for EG channel event targets.

apigw_detail

No

ApigwTargetDetail object

List of APIGW URL target parameters for the subscription. The total length cannot exceed 1,024 bytes after serialization. This field is mandatory for APIGW event targets.

retry_times

No

Integer

Number of retries.

transform

Yes

TransForm object

Transform rule of the event subscription target.

dead_letter_queue

No

DeadLetterQueue object

List of dead letter queue parameters for the subscription.

Table 5 KafkaTargetDetail

Parameter

Mandatory

Type

Description

topic

Yes

String

Topic.

keyTransform

No

keyTransform object

Key value rule.

Table 6 keyTransform

Parameter

Mandatory

Type

Description

type

No

String

Type of the key value rule.

value

No

String

Key value rule. This parameter is mandatory when type is VARIABLE or CONSTANT.

template

No

String

Key value rule template. This parameter is mandatory when type is VARIABLE.

Table 7 SmnTargetDetail

Parameter

Mandatory

Type

Description

urn

Yes

String

Specifies the topic URN.

agency_name

Yes

String

Agency name.

subject_transform

No

subject_transform object

Title rule.

Table 8 subject_transform

Parameter

Mandatory

Type

Description

type

Yes

String

Type of the title rule.

value

Yes

String

Title rule.

template

No

String

Title rule template. This parameter is mandatory when type is set to VARIABLE.

Table 9 EgTargetDetail

Parameter

Mandatory

Type

Description

target_project_id

Yes

String

Target project ID.

target_channel_id

Yes

String

Target channel ID.

target_region

Yes

String

Target region.

cross_region

No

Boolean

Indicates whether cross-region feature is enabled.

cross_account

No

Boolean

Indicates whether cross-account feature is enabled.

agency_name

Yes

String

Agency name.

Table 10 ApigwTargetDetail

Parameter

Mandatory

Type

Description

url

Yes

String

Target URL.

invocation_http_parameters

No

InvocationHttpParameters object

Parameters for invoking HTTP.

Table 11 InvocationHttpParameters

Parameter

Mandatory

Type

Description

header_parameters

No

Array of HeaderParameter objects

Object list.

Table 12 HeaderParameter

Parameter

Mandatory

Type

Description

is_value_secret

No

Boolean

Whether to encrypt the value.

key

No

String

Header key.

value

No

String

Header value.

Table 13 TransForm

Parameter

Mandatory

Type

Description

type

Yes

String

Type of the transform rule.

value

No

String

For a constant type rule, the field is the constant content definition.

For a variable type rule, the field is a variable definition and the content must be a JSON object string.

A maximum of 100 variables are supported, and nested structures are not supported.

The variable name can contain a maximum of 64 characters. Only letters, digits, periods (.), underscores (_), and hyphens (-) are allowed. It must start with a letter or digit and cannot start with HC..

The variable value expression can be a constant or JSONPath expression. The string length cannot exceed 1024 characters.

template

No

String

Template definition of the rule content when the rule is of the variable type. Defined variables can be referenced.

Table 14 DeadLetterQueue

Parameter

Mandatory

Type

Description

type

Yes

String

Queue type.

instance_id

Yes

String

Instance ID.

connection_id

Yes

String

Connection ID.

topic

Yes

String

Topic.

Response Parameters

Status code: 200

Table 15 Response header parameters

Parameter

Type

Description

X-Request-Id

String

This field is the request ID number for task tracking. Format is request_uuid-timestamp-hostname.

Table 16 Response body parameters

Parameter

Type

Description

id

String

ID of the event subscription target.

name

String

Name of the event subscription target.

provider_type

String

Provider type of the event subscription target.

connection_id

String

Connection ID used by the event subscription target.

detail

Object

List of event subscription target parameters.

kafka_detail

KafkaTargetDetail object

List of Kafka event subscription target parameters. The total length of this field after serialization cannot exceed 1024 bytes.

smn_detail

SmnTargetDetail object

List of SMN event target parameters for the subscription. The total length cannot exceed 1024 bytes after serialization.

eg_detail

EgTargetDetail object

List of EG event channel target parameters for the subscription. The total length cannot exceed 1,024 bytes after serialization. This field is mandatory for EG channel event targets.

apigw_detail

ApigwTargetDetail object

List of APIGW URL target parameters for the subscription. The total length cannot exceed 1,024 bytes after serialization. This field is mandatory for APIGW event targets.

retry_times

Integer

Number of retries.

transform

TransForm object

Transform rule of the event subscription target.

dead_letter_queue

DeadLetterQueue object

List of dead letter queue parameters for the subscription.

created_time

String

Time when the event subscription is created.

updated_time

String

Time when the event subscription is updated.

Table 17 KafkaTargetDetail

Parameter

Type

Description

topic

String

Topic.

keyTransform

keyTransform object

Key value rule.

Table 18 keyTransform

Parameter

Type

Description

type

String

Type of the key value rule.

value

String

Key value rule. This parameter is mandatory when type is VARIABLE or CONSTANT.

template

String

Key value rule template. This parameter is mandatory when type is VARIABLE.

Table 19 SmnTargetDetail

Parameter

Type

Description

urn

String

Specifies the topic URN.

agency_name

String

Agency name.

subject_transform

subject_transform object

Title rule.

Table 20 subject_transform

Parameter

Type

Description

type

String

Type of the title rule.

value

String

Title rule.

template

String

Title rule template. This parameter is mandatory when type is set to VARIABLE.

Table 21 EgTargetDetail

Parameter

Type

Description

target_project_id

String

Target project ID.

target_channel_id

String

Target channel ID.

target_region

String

Target region.

cross_region

Boolean

Indicates whether cross-region feature is enabled.

cross_account

Boolean

Indicates whether cross-account feature is enabled.

agency_name

String

Agency name.

Table 22 ApigwTargetDetail

Parameter

Type

Description

url

String

Target URL.

invocation_http_parameters

InvocationHttpParameters object

Parameters for invoking HTTP.

Table 23 InvocationHttpParameters

Parameter

Type

Description

header_parameters

Array of HeaderParameter objects

Object list.

Table 24 HeaderParameter

Parameter

Type

Description

is_value_secret

Boolean

Whether to encrypt the value.

key

String

Header key.

value

String

Header value.

Table 25 TransForm

Parameter

Type

Description

type

String

Type of the transform rule.

value

String

For a constant type rule, the field is the constant content definition.

For a variable type rule, the field is a variable definition and the content must be a JSON object string.

A maximum of 100 variables are supported, and nested structures are not supported.

The variable name can contain a maximum of 64 characters. Only letters, digits, periods (.), underscores (_), and hyphens (-) are allowed. It must start with a letter or digit and cannot start with HC..

The variable value expression can be a constant or JSONPath expression. The string length cannot exceed 1024 characters.

template

String

Template definition of the rule content when the rule is of the variable type. Defined variables can be referenced.

Table 26 DeadLetterQueue

Parameter

Type

Description

type

String

Queue type.

instance_id

String

Instance ID.

connection_id

String

Connection ID.

topic

String

Topic.

Example Requests

Create an event subscription target.

POST https://{endpoint}/v1/{project_id}/subscriptions/{subscription_id}/targets

{
  "connection_id" : "456eekj3-778u-4tyu-dfrt-er55e37f667t",
  "detail" : {
    "agency_name" : "EG_TARGET_AGENCY",
    "invoke_type" : "ASYNC",
    "url" : "http://10.213.96.90:8080/t/nodeapp/trigger-hello-nodejs",
    "urn" : "urn:fss:cn-north-7:bac852160cc743158936edaab6dda813:function:default:gxtestjava:latest",
    "workflow_id" : "86afc904-0019-46c8-baed-0225967c1b98"
  },
  "id" : "3a0eeff2-78a4-4122-dfge-7ty5e37f64er",
  "name" : "WEBHOOK",
  "provider_type" : "CUSTOM",
  "retry_times" : 16,
  "transform" : {
    "type" : "VARIABLE"
  }
}

Example Responses

Status code: 200

Information

{
  "id" : "3a0eeff2-78a4-4122-dfge-7ty5e37f64er",
  "name" : "WEBHOOK",
  "provider_type" : "CUSTOM",
  "connection_id" : "456eekj3-778u-4tyu-dfrt-er55e37f667t",
  "detail" : {
    "url" : "http://10.213.96.90:8080/t/nodeapp/trigger-hello-nodejs"
  },
  "kafka_detail" : { },
  "smn_detail" : { },
  "eg_detail" : { },
  "apigw_detail" : { },
  "retry_times" : 16,
  "transform" : { },
  "dead_letter_queue" : { },
  "created_time" : "2021-12-09 09:00:00",
  "updated_time" : "2021-12-09 09:00:00"
}

Status Codes

Status Code

Description

200

Information

Error Codes

See Error Codes.