Os parâmetros de metadados definem como o EventBridge roteia eventos para destinos como Function Compute, Message Service e endpoints HTTP.
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Exemplo |
Descrição |
|
EventBusName |
String |
Sim |
default |
Nome do barramento de eventos. Para mais informações, consulte Limits. |
|
RuleName |
String |
Sim |
MNSRule |
Nome da regra de evento. Para mais informações, consulte Limits. |
|
Description |
String |
Não |
Regra de filtragem para o Message Service (MNS). |
Descrição da regra de evento. |
|
Status |
String |
Não |
ENABLE |
Status da regra de evento. Valores válidos:
Valor padrão: ENABLE. |
|
FilterPattern |
String |
Não |
{\"source\": [{\"prefix\": \"acs.\"}],\"type\": [{\"prefix\":\"oss:ObjectReplication\"}],\"subject\":[{\"prefix\":\"acs:oss:cn-hangzhou:123456789098****:my-movie-bucket/\", \"suffix\":\".txt\"}]} |
Padrão de evento no formato JSON. Para mais informações, consulte Event patterns. |
|
Targets |
List<Target> |
Sim |
Lista de destinos de eventos. |
|
|
Id |
String |
Sim |
1 |
ID personalizado do destino de evento. O ID deve ser único na regra atual. |
|
Type |
String |
Sim |
|
Tipo do destino de evento. Para detalhes, consulte as descrições de destinos de evento mais adiante neste tópico. |
|
Endpoint |
String |
Não |
|
Endpoint do destino de evento. Para detalhes, consulte o formato de endpoint de cada destino de evento mais adiante neste tópico. |
|
PushRetryStrategy |
String |
Sim |
BACKOFF_RETRY |
Política de nova tentativa para entregas de eventos com falha. Valores válidos:
|
|
DeadLetterQueue |
String |
Não |
Fila de mensagens mortas. Eventos não entregues ou que excedem o número máximo de tentativas são enviados para esta fila. Os tipos de fila suportados são Message Service (MNS) e ApsaraMQ for RocketMQ. |
|
|
ARN |
String |
Não |
|
ARN da fila do Message Service (MNS) ou do ApsaraMQ for RocketMQ a ser usada como fila de mensagens mortas. |
|
ParamList |
List<Param> |
Sim |
Lista de parâmetros para transformação de eventos. |
|
|
resourceKey |
String |
Sim |
body |
Parâmetro de destino que recebe os dados transformados do evento. |
|
form |
String |
Sim |
TEMPLATE |
Formato de transformação do evento. Valores válidos:
|
|
value |
String |
Sim |
|
Valor ou expressões para a transformação do evento, dependendo do |
|
template |
String |
Não |
|
Modelo para a transformação do evento. |
Parâmetros da resposta
|
Parâmetro |
Tipo |
Exemplo |
Descrição |
|
RuleARN |
String |
|
ARN da regra de evento. Este ARN é usado para autorização. |
DingTalk
Para um destino de evento do DingTalk, defina Type como acs.dingtalk e Endpoint como a URL do webhook do DingTalk. A tabela a seguir descreve os campos resourceKey em ParamList.
|
Chave de recurso |
Obrigatório |
Formulário |
Valor |
Modelo |
|
URL |
Sim |
CONSTANT |
URL do DingTalk. |
Não aplicável. |
|
SecretKey |
Sim |
CONSTANT |
Chave secreta. |
Não aplicável. |
|
Body |
Sim |
TEMPLATE |
Especifica as variáveis para preencher o modelo. |
Modelo do corpo da mensagem enviada ao DingTalk. |
Exemplo de configuração JsonPath:
{
"Id":"KD20k9rpqDRXPq0SXXlqeT****",
"Type":"acs.dingtalk",
"Endpoint":"https://oapi.dingtalk.com/robot/send?access_token=1560abe367f48877c69bb6a9916244979927abbbbf82f4fe8801692cd6ea****",
"ParamList":[
{
"Value":"https://oapi.dingtalk.com/robot/send?access_token=1560abe367f48877c69bb6a9916244979927abbbbf82f4fe8801692cd6ea****",
"ResourceKey":"URL",
"Form":"CONSTANT"
},
{
"Value":"SEC1eca5209e0c6c23165b9504967522d47b0d0004e1caf3a75f6ddfda7359d****",
"ResourceKey":"SecretKey",
"Form":"CONSTANT"
},
{
"Value":{
"content":"$.data.content"
},
"ResourceKey":"Body",
"Form":"TEMPLATE",
"Template":{
"Msgtype":"text",
"Text":{
"content":"@1851111***** ${content}"
},
"At":{
}
}
}
]
}
Direct Mail
Para um destino de evento do Direct Mail, defina Type como acs.mail e Endpoint como acs:mail:${region}:${uid}. A tabela a seguir descreve os campos resourceKey em ParamList.
|
ResourceKey |
Obrigatório |
Formulário |
Valor |
Modelo |
|
Subject |
Sim |
CONSTANT |
Assunto do e-mail. |
Não aplicável. |
|
AccountName |
Sim |
CONSTANT |
Endereço do remetente. |
Não aplicável. |
|
AddressType |
Sim |
CONSTANT |
Tipo de endereço. |
Não aplicável. |
|
ReplyToAddress |
Sim |
CONSTANT |
Endereço de resposta. |
Não aplicável. |
|
ToAddress |
Sim |
|
Endereço do destinatário. |
Não aplicável. |
|
IsHtmlBody |
Sim |
CONSTANT |
Indica se o corpo da mensagem está no formato HTML. Valores válidos:
|
Não aplicável. |
|
Body |
Sim |
TEMPLATE |
Pares chave-valor usados no modelo. |
Modelo do corpo da mensagem. |
O código a seguir mostra uma configuração JsonPath:
{
"Id":"KD20k9rpqDRXPq0SXXlqeT****",
"Type":"acs.mail",
"Endpoint":"acs:mail:cn-hangzhou:164901546557****",
"ParamList":[
{
"Value":"test",
"ResourceKey":"Subject",
"Form":"CONSTANT"
},
{
"Value":"example.com",
"ResourceKey":"AccountName",
"Form":"CONSTANT"
},
{
"Value":"1",
"ResourceKey":"AddressType",
"Form":"CONSTANT"
},
{
"Value":"true",
"ResourceKey":"ReplyToAddress",
"Form":"CONSTANT"
},
{
"Value":"$.data.name",
"ResourceKey":"ToAddress",
"Form":"JSONPATH"
},
{
"Value":"true",
"ResourceKey":"IsHtmlBody",
"Form":"CONSTANT"
},
{
"Value":{
"Mobile":"$.data.mobile",
"Subject":"$.subject"
},
"ResourceKey":"Body",
"Form":"TEMPLATE",
"Template":{
"Code":"${subject}"
}
}
]
}
Short Message Service
Para um destino de evento do Short Message Service, defina Type como acs.sms e Endpoint como acs:sms:${region}:${uid}. A tabela a seguir descreve os campos resourceKey em ParamList.
|
resourceKey |
Obrigatório |
Formulário |
Valor |
Modelo |
|
PhoneNumbers |
Sim |
|
Número de telefone celular. |
Nenhum |
|
SignName |
Sim |
CONSTANT |
Nome da assinatura. |
Nenhum |
|
TemplateCode |
Sim |
CONSTANT |
Código do modelo. |
Nenhum |
|
TemplateParam |
Sim |
TEMPLATE |
Pares chave-valor para o modelo. |
Modelo do corpo da mensagem. |
Exemplo de configuração JsonPath:
{
"Id":"KD20k9rpqDRXPq0SXXlqeT****",
"Type":"acs.sms",
"Endpoint":"acs:sms:cn-hangzhou:164901546557****",
"ParamList":[
{
"Value":"$.data",
"ResourceKey":"PhoneNumbers",
"Form":"JSONPATH"
},
{
"Value":"[For testing only] Alibaba Cloud Communications",
"ResourceKey":"SignName",
"Form":"CONSTANT"
},
{
"Value":" [For testing only] Alibaba Cloud Communications test template",
"ResourceKey":"TemplateCode",
"Form":"CONSTANT"
},
{
"Value":{
"Mobile":"$.data.mobile",
"Subject":"$.subject"
},
"ResourceKey":"TemplateParam",
"Form":"TEMPLATE",
"Template":{
"Code":"${subject}"
}
}
]
}
Function Compute
Para um destino de evento do Function Compute, defina Type como acs.fc.function e Endpoint como acs:fc:${region}:${uid}:services/${serviceName}.${Qualifier}/functions/${functionName}. A tabela a seguir descreve os campos resourceKey em ParamList.
|
resourceKey |
Obrigatório |
Formulário |
Valor |
Modelo |
|
serviceName |
Sim |
CONSTANT |
Nome do service. |
Nenhum |
|
functionName |
Sim |
CONSTANT |
Nome da função. |
Nenhum |
|
Body |
Sim |
|
Conteúdo do corpo da mensagem. |
Modelo do corpo da mensagem, especificado como pares chave-valor. Usado quando o formulário é TEMPLATE. |
|
Qualifier |
Sim |
CONSTANT |
Versão ou alias do service. |
Nenhum |
|
InvocationType |
Sim |
CONSTANT |
Tipo de invocação. Valores válidos:
|
Nenhum |
|
DataFormat |
Sim |
CONSTANT |
Formato dos dados do evento. Valores válidos:
|
Nenhum |
O exemplo a seguir mostra uma configuração JsonPath:
{
"Id":"KD20k9rpqDRXPq0SXXlqeT****",
"Type":"acs.fc.function",
"Endpoint":"acs:fc:cn-hangzhou:164901546557****:services/guide-hello_world.LATEST/functions/hello_world",
"ParamList":[
{
"Value":"guide-hello_world",
"ResourceKey":"serviceName",
"Form":"CONSTANT"
},
{
"Value":"hello_world",
"ResourceKey":"functionName",
"Form":"CONSTANT"
},
{
"ResourceKey": "Qualifier",
"Form": "CONSTANT",
"Value": "LATEST"
},
{
"ResourceKey": "InvocationType",
"Form": "CONSTANT",
"Value": "Sync"
},
{
"Value":"$.data.name",
"ResourceKey":"Body",
"Form":"JSONPATH"
},
{
"ResourceKey": "DataFormat",
"Form": "CONSTANT",
"Value": "Object"
}
]
}
Simple Message Queue
Para um destino de evento do Simple Message Queue (formerly MNS), defina Type como acs.mns.queue e Endpoint como acs:mns:${region}:${uid}:queues/${queue}. A tabela a seguir descreve os campos resourceKey em ParamList.
|
ResourceKey |
Obrigatório |
Formulário |
Valor |
Modelo |
|
queue |
Sim |
CONSTANT |
Nome da fila. |
Não aplicável. |
|
Body |
Sim |
|
Corpo da mensagem. O conteúdo depende do parâmetro Form. |
Se Form estiver definido como TEMPLATE, defina o modelo aqui. |
Exemplo de modelo usando JsonPath:
{
"Id":"KD20k9rpqDRXPq0SXXlqeT****",
"Type":"acs.mns.queue",
"Endpoint":"acs:mns:cn-hangzhou:164901546557****:queues/MyQueue",
"ParamList":[
{
"Value":"MyQueue",
"ResourceKey":"queue",
"Form":"CONSTANT"
},
{
"Value":{
"Source":"$.source"
},
"ResourceKey":"Body",
"Form":"TEMPLATE",
"Template":"The event comes from ${source} is abnormal."
}
]
}
Message Queue for Apache RocketMQ
Para um destino de evento do Message Queue for Apache RocketMQ, defina Type como acs.rocketmq e Endpoint como acs:mq:${region}:${uid}:/instances/${instanceId}/topic/${topic}. A tabela a seguir descreve os campos resourceKey em ParamList.
|
Resource key |
Required |
Form |
Value |
Template |
|
instance ID |
Yes |
CONSTANT |
O ID da instância. |
Não aplicável. |
|
topic |
Yes |
CONSTANT |
O nome do tópico. |
Não aplicável. |
|
message body |
Yes |
|
O corpo da mensagem. |
Se o parâmetro de formulário for definido como TEMPLATE, especifique o modelo neste campo. |
|
properties |
No |
|
As propriedades. |
Não aplicável. |
|
keys |
No |
|
As chaves. |
Se o parâmetro de formulário for definido como TEMPLATE, especifique o modelo neste campo. |
|
tags |
No |
|
As tags. |
Se o parâmetro de formulário for definido como TEMPLATE, especifique o modelo neste campo. |
Veja a seguir um exemplo de configuração de JsonPath:
{
"Id":"KD20k9rpqDRXPq0SXXlqeT****",
"Type":"acs.rocketmq",
"Endpoint":"acs:mq:cn-hangzhou:164901546557****:/instances/${instanceId}/topic/${topic}",
"ParamList":[
{
"Value":"MQ_INST_164901546557****_BAAQ4gWo",
"ResourceKey":"InstanceId",
"Form":"CONSTANT"
},
{
"Value":"test-topic1",
"ResourceKey":"Topic",
"Form":"CONSTANT"
},
{
"Value":"$.data.name",
"ResourceKey":"Body",
"Form":"JSONPATH"
},
{
"Value":"$.data.userProperties",
"ResourceKey":"Properties",
"Form":"JSONPATH"
},
{
"Value":"$.data.systemProperties.KEYS",
"ResourceKey":"Keys",
"Form":"JSONPATH"
},
{
"Value":"$.data.systemProperties.TAGS",
"ResourceKey":"Tags",
"Form":"JSONPATH"
}
]
}
ApsaraMQ for RabbitMQ
Para um destino de evento do ApsaraMQ for RabbitMQ, defina Type como acs.rabbitmq e Endpoint como acs:amqp:${region}:${uid}:/instances/${instanceId}/vhosts/${vhostName}/exchanges/${exchangeName}. A tabela a seguir descreve os campos resourceKey em ParamList.
|
Parameter |
Required |
Format |
Description |
Template |
|
InstanceId |
Yes |
CONSTANT |
O ID da instância. |
Não aplicável. |
|
Vhost |
Yes |
CONSTANT |
O vhost. |
Não aplicável. |
|
TargetType |
Yes |
CONSTANT |
O tipo de destino. Nota
Especifique o parâmetro Exchange ou Queue, mas não ambos. |
Não aplicável. |
|
Exchange |
Não. Obrigatório apenas se TargetType estiver definido como Exchange. |
CONSTANT |
O nome do exchange. |
Não aplicável. |
|
Queue |
Não. Obrigatório apenas se TargetType estiver definido como Queue. |
CONSTANT Nota
Especifique o parâmetro Exchange ou Queue, mas não ambos. |
O nome da fila. |
Não aplicável. |
|
Body |
Yes |
|
O corpo da mensagem. |
Se o formulário estiver definido como TEMPLATE, defina o modelo aqui. |
|
MessageId |
Não. Um ID de mensagem é gerado por padrão. |
|
O ID da mensagem. |
Se o formulário estiver definido como TEMPLATE, defina o modelo aqui. |
|
Properties |
No |
|
As propriedades. |
Se o formulário estiver definido como TEMPLATE, defina o modelo aqui. |
Exemplos de JsonPath:
Exemplo 1: O Destination Type é Exchange
{
"Id":"KD20k9rpqDRXPq0SXXlqeT****",
"Type":"acs.rabbitmq",
"Endpoint":"acs:amqp:cn-hangzhou:164901546557****:/instances/${instanceId}/vhosts/${vhostName}/exchanges/${exchangeName}",
"ParamList":[
{
"Value":"amqp-cn-i7m29o3s****",
"ResourceKey":"InstanceId",
"Form":"CONSTANT"
},
{
"Value":"test.host",
"ResourceKey":"Vhost",
"Form":"CONSTANT"
},
{
"Value":"Exchange",
"ResourceKey":"TargetType",
"Form":"CONSTANT"
},
{
"Value":"amq.direct",
"ResourceKey":"Exchange",
"Form":"CONSTANT"
},
{
"Value":"$.data.name",
"ResourceKey":"RoutingKey",
"Form":"JSONPATH"
},
{
"Value":"$.data.name",
"ResourceKey":"Body",
"Form":"JSONPATH"
},
{
"Value":"$.data.message",
"ResourceKey":"MessageId",
"Form":"JSONPATH"
},
{
"Value":"$.data.userProperties",
"ResourceKey":"Properties",
"Form":"JSONPATH"
}
]
}
Exemplo 2: O Destination Type é Queue
{
"Id":"EldwXoVAws5Ix8VpVmrDmr****",
"Type":"acs.rabbitmq",
"Endpoint":"acs:amqp:cn-hangzhou:164901546557****:/instances/${instanceId}/vhosts/${vhostName}/exchanges/${exchangeName}",
"ParamList":[
{
"Value":"amqp-cn-i7m29o3s****",
"ResourceKey":"InstanceId",
"Form":"CONSTANT"
},
{
"Value":"test.host",
"ResourceKey":"Vhost",
"Form":"CONSTANT"
},
{
"Value":"Queue",
"ResourceKey":"TargetType",
"Form":"CONSTANT"
},
{
"Value":"test.event",
"ResourceKey":"Queue",
"Form":"CONSTANT"
},
{
"Value":"$.data.body",
"ResourceKey":"Body",
"Form":"JSONPATH"
},
{
"Value":"$.data.message",
"ResourceKey":"MessageId",
"Form":"JSONPATH"
},
{
"Value":"$.data.userproperties",
"ResourceKey":"Properties",
"Form":"JSONPATH"
}
]
}
Message Queue for Apache Kafka
Ao selecionar ApsaraMQ for Kafka como destino do evento, o valor do parâmetro de metadados Type é acs.alikafka, o parâmetro Endpoint especifica a URL configurada no formato acs:alikafka:${regionId}:${accountId}:topics/${topic}, e o campo resourceKey em ParamList está descrito na tabela a seguir.
|
Resource key |
Required |
Form |
Value |
Template |
|
instance ID |
Yes |
CONSTANT |
O ID da instância do Kafka. |
Não aplicável. |
|
topic |
Yes |
CONSTANT |
O nome do tópico. |
Não aplicável. |
|
value |
Yes |
|
O corpo da mensagem. |
Especifica o formato para a transformação do evento. Valores válidos:
|
|
key |
Yes |
JSONPATH |
A chave da mensagem. |
Consulte o modelo para Value. |
|
acks |
Yes |
CONSTANT |
O modo de confirmação. |
Não aplicável. |
O exemplo a seguir mostra uma configuração que usa JsonPath:
{
"id":"1rypRt1I9ET6Aks9Y6NNg6U****",
"type":"acs.alikafka",
"endpoint":"acs:alikafka:cn-huhehaote:118609547428****:topics/test-topic",
"pushSelector":"PARAM_TRANSFORMER",
"errorsTolerance":"ALL",
"pushRetryStrategy":"BACKOFF_RETRY",
"paramList":[
{
"value":"alikafka_pre-cn-zpr3fwhe****",
"resourceKey":"InstanceId",
"form":"CONSTANT"
},
{
"value":"test-topic",
"resourceKey":"Topic",
"form":"CONSTANT"
},
{
"value":"$.data",
"resourceKey":"Value",
"form":"JSONPATH"
},
{
"value":"$.data.key",
"resourceKey":"Key",
"form":"JSONPATH"
},
{
"value":"0",
"resourceKey":"Acks",
"form":"CONSTANT"
}
]
}
Log Service (SLS)
Ao selecionar Log Service (SLS) como destino do evento, o parâmetro Type nos metadados é definido como acs.sls. O parâmetro Endpoint especifica a URL configurada no formato acs:sls:${regionId}:${accountId}:project/${project}/logstore/${logstore}. A tabela a seguir descreve os campos resourceKey em ParamList.
|
Resource key |
Required |
Form |
Value |
Template |
|
Project |
Yes |
constant |
O nome do projeto. |
Não aplicável. |
|
LogStore |
Yes |
constant |
O nome do LogStore. |
Não aplicável. |
|
Topic |
No |
|
O tópico do log. |
O formato de transformação do evento. Os seguintes formatos estão disponíveis:
|
|
Body |
No |
|
O conteúdo do log. |
Igual ao parâmetro Topic. |
|
ContentType |
Yes |
constant |
O tipo de conteúdo. |
Valores válidos:
|
|
RoleName |
Yes |
constant |
O nome da função. |
Não aplicável. |
|
ContentSchema |
No |
constant |
A estrutura que define as chaves e valores para logs gravados no Log Service (SLS). |
Neste exemplo, |
Exemplo de JsonPath:
{
"id":"MwOpn5yyemTlQjE5JwYjme****",
"type":"acs.sls",
"endpoint":"acs:sls:cn-hangzhou:182572506381****:project/${project}/logstore/${logstore}",
"pushSelector":"PARAM_TRANSFORMER",
"errorsTolerance":"ALL",
"pushRetryStrategy":"BACKOFF_RETRY",
"paramList":[
{
"value":"testproject37****",
"resourceKey":"Project",
"form":"CONSTANT"
},
{
"value":"testlogstore37****",
"resourceKey":"LogStore",
"form":"CONSTANT"
},
{
"value":"$.data.topic",
"resourceKey":"Topic",
"form":"JSONPATH"
},
{
"value":"KeyValue",
"resourceKey":"ContentType",
"form":"CONSTANT"
},
{
"value":"AliyunEventBridgeSLS-248QJd****",
"resourceKey":"RoleName",
"form":"CONSTANT"
},
{
"value":"{\"Key_1\":{\"form\":\"CONSTANT\",\"value\":\"name\"},\"Value_1\":{\"form\":\"CONSTANT\",\"value\":\"age\"}}",
"resourceKey":"ContentSchema",
"form":"CONSTANT"
}
]
}
HTTP/HTTPS
Para um destino de evento HTTP/HTTPS, defina Type como http ou https e Endpoint como a URL de destino. A tabela a seguir descreve os campos resourceKey em ParamList.
|
Parameter |
Required |
Form |
Value |
Template |
|
url |
Yes |
CONSTANT |
A URL do endpoint. |
Não aplicável |
|
Body |
Yes |
|
Atualmente, os dados só podem ser enviados no corpo de uma requisição POST. Para usar cabeçalhos ou parâmetros de consulta, consulte Manage API destinations. |
Se você definir o parâmetro |
|
Network |
Yes |
CONSTANT |
O tipo de rede. Valores válidos:
|
Não aplicável |
|
VPCNameAndId |
Opcional. Este parâmetro é obrigatório se Network estiver definido como |
CONSTANT |
A VPC onde o destino reside. Formato: |
Não aplicável |
|
VSwitchesNameAndId |
Opcional. Este parâmetro é obrigatório se Network estiver definido como |
CONSTANT |
Os vSwitches na VPC onde o destino reside. É possível especificar vários vSwitches. O valor deve ser uma string JSON. Exemplo: |
Não aplicável |
|
SecurityGroupNameAndId |
Opcional. Este parâmetro é obrigatório se Network estiver definido como |
CONSTANT |
O grupo de segurança da VPC onde o destino reside. Formato: |
Não aplicável |
|
Token |
Opcional. |
CONSTANT |
O token usado para verificação de assinatura. A chave do cabeçalho é fixa como |
Não aplicável |
Exemplos de JsonPath
Exemplo 1: Definir o network type como public network
{
"Id":"KD20k9rpqDRXPq0SXXlqeT****",
"Type":"https",
"Endpoint":"http(s)://www.****.com/product/aliware/eventbridge",
"ParamList":[
{
"Value":"http(s)://www.****.com/product/aliware/eventbridge",
"ResourceKey":"url",
"Form":"CONSTANT"
},
{
"Value":"",
"ResourceKey":"Body",
"Form":"ORIGINAL"
},
{
"Value":"PublicNetwork",
"ResourceKey":"Network",
"Form":"CONSTANT"
}
]
}
Exemplo 2: Definir o network type como VPC
{
"Id":"ZOiNcqqzTGSrDJanZQ72vj****",
"Type":"http",
"Endpoint":"http(s)://192.168.XX.XX:8080",
"ParamList":[
{
"Value":"http(s)://192.168.XX.XX:8080",
"ResourceKey":"url",
"Form":"CONSTANT"
},
{
"Value":"",
"ResourceKey":"Body",
"Form":"ORIGINAL"
},
{
"Value":"PrivateNetwork",
"ResourceKey":"Network",
"Form":"CONSTANT"
},
{
"Value":"catalog-system/vpc-bp1ohdo84u2lt9wzq****",
"ResourceKey":"VPCNameAndId",
"Form":"CONSTANT"
},
{
"Value":"[\"eb/vsw-bp10rbrt6rb6vrd89****\"]",
"ResourceKey":"VSwitchesNameAndId",
"Form":"CONSTANT"
},
{
"Value":"sg-catalog-eventlistener/sg-bp14zrnfyik5av27****",
"ResourceKey":"SecurityGroupNameAndId",
"Form":"CONSTANT"
},
{
"Value":"",
"ResourceKey":"Token",
"Form":"CONSTANT"
}
]
}
Bancos de dados
-
Quando um banco de dados RDS for MySQL é o destino do evento, o valor do parâmetro Type nos metadados é
acs.rds.mysql. O Endpoint segue o formatoacs:rds:${region}:${uid}:dbinstance/${dbinstanceid}. A tabela a seguir descreve os campos resourceKey em ParamList.Resource key
Required
Form
Value
Template
InstanceId
Yes
CONSTANT
O ID da instância.
N/A
DBName
Yes
CONSTANT
O nome do banco de dados.
N/A
AccountName
Yes
CONSTANT
O nome da conta.
N/A
AccountPassword
Yes
CONSTANT
A senha da conta.
N/A
ExecuteSQL
Yes
-
ORIGINAL
-
CONSTANT
-
JSONPATH
-
TEMPLATE
Uma instrução SQL personalizada.
Se você definir Form como TEMPLATE, configure o modelo aqui.
VpcId
Yes
CONSTANT
O ID da VPC.
N/A
VSwitchIds
Yes
CONSTANT
Os IDs dos vSwitches.
N/A
SecurityGroupId
Yes
CONSTANT
O ID do grupo de segurança.
N/A
Exemplo de JsonPath:
{ "Id":"BRTt1sNe3IvdvejN07k5Sb****", "Type":"acs.rds.mysql", "Endpoint":"acs:rds:cn-zhangjiakou:164901546557****:dbinstance/${dbinstanceid}", "ConcurrentConfig":{ "Concurrency":10 }, "ParamList":[ { "Value":"rm-8vban2a66q93o****", "ResourceKey":"InstanceId", "Form":"CONSTANT" }, { "Value":"db-test", "ResourceKey":"DBName", "Form":"CONSTANT" }, { "Value":"db_name", "ResourceKey":"AccountName", "Form":"CONSTANT" }, { "Value":"Aliyun****", "ResourceKey":"AccountPassword", "Form":"CONSTANT" }, { "Value":"{\n \"tableName\": \"customer\",\n \"column1\": \"$.data.tableName\",\n \"column1_value\": \"$.data.id\"\n}", "Template":"INSERT INTO ${tableName} \n (${column1}) VALUES('${column1_value}')", "ResourceKey":"ExecuteSQL", "Form":"TEMPLATE" }, { "Value":"vpc-8vbeokru8z8erie8e****", "ResourceKey":"VpcId", "Form":"CONSTANT" }, { "Value":"vsw-8vb9alm00nf29ijxt****", "ResourceKey":"VSwitchIds", "Form":"CONSTANT" }, { "Value":"sg-8vbb59f5vq1ydiwr****", "ResourceKey":"SecurityGroupId", "Form":"CONSTANT" } ] } -
-
Quando um banco de dados MySQL autogerenciado é o destino do evento, o valor do parâmetro Type nos metadados é
mysql. O formato para Endpoint édatabase endpoint${ConnectionStringAndPort}. A tabela a seguir descreve os campos resourceKey em ParamList.Resource key
Required
Form
Value
Template
ConnectionStringAndPort
Yes
CONSTANT
O endpoint do banco de dados.
N/A
DBName
Yes
CONSTANT
O nome do banco de dados.
N/A
AccountName
Yes
CONSTANT
O nome da conta.
N/A
AccountPassword
Yes
CONSTANT
A senha da conta.
N/A
ExecuteSQL
Yes
-
ORIGINAL
-
CONSTANT
-
JSONPATH
-
TEMPLATE
Uma instrução SQL personalizada.
N/A
Network
Yes
CONSTANT
O tipo de rede. Valores válidos:
-
PublicNetwork: a rede pública.
-
PrivateNetwork: Virtual Private Cloud (VPC). Se você selecionar esta opção, deverá especificar as informações de VPC, vSwitch e grupo de segurança.
N/A
VpcId
Sim, se Network estiver definido como PrivateNetwork.
CONSTANT
O ID da VPC.
N/A
VSwitchIds
Sim, se Network estiver definido como PrivateNetwork.
CONSTANT
Os IDs dos vSwitches.
N/A
SecurityGroupId
Sim, se Network estiver definido como PrivateNetwork.
CONSTANT
O ID do grupo de segurança.
N/A
Exemplo 1: Network configuration: public network
{ "Id":"HmfVOvdG4k1NK9qJiqrxtv****", "Type":"mysql", "Endpoint":"192.168.XX.XX:3306", "ConcurrentConfig":{ "Concurrency":10 }, "ParamList":[ { "Value":"192.168.XX.XX:3306", "ResourceKey":"ConnectionStringAndPort", "Form":"CONSTANT" }, { "Value":"db-test", "ResourceKey":"DBName", "Form":"CONSTANT" }, { "Value":"dbTest", "ResourceKey":"AccountName", "Form":"CONSTANT" }, { "Value":"Mydb****", "ResourceKey":"AccountPassword", "Form":"CONSTANT" }, { "Value":"{\n \"tableName\": \"user\",\n \"column1\": \"$.data.tableName\",\n \"column1_value\": \"$.data.id\"\n}", "Template":"INSERT INTO ${tableName} \n (${column1}) VALUES('${column1_value}')", "ResourceKey":"ExecuteSQL", "Form":"TEMPLATE" } ] }Exemplo 2: Network configuration: VPC
{ "Id":"HmfVOvdG4k1NK9qJiqrxtv****", "Type":"mysql", "Endpoint":"192.168.XX.XX:3306", "ConcurrentConfig":{ "Concurrency":10 }, "ParamList":[ { "Value":"vpc-8vbeokru8z8erie8e****", "ResourceKey":"VpcId", "Form":"CONSTANT" }, { "Value":"vsw-8vbo9jk84z0obm24f****", "ResourceKey":"VSwitchIds", "Form":"CONSTANT" }, { "Value":"192.168.XX.XX:3306", "ResourceKey":"ConnectionStringAndPort", "Form":"CONSTANT" }, { "Value":"my-db", "ResourceKey":"DBName", "Form":"CONSTANT" }, { "Value":"dmsTest", "ResourceKey":"AccountName", "Form":"CONSTANT" }, { "Value":"Mydb****", "ResourceKey":"AccountPassword", "Form":"CONSTANT" }, { "Value":"{\n \"tableName\": \"user\",\n \"column1\": \"$.data.tableName\",\n \"column1_value\": \"$.data.id\"\n}", "Template": "INSERT INTO ${tableName} \n (${column1}) VALUES('${column1_value}')", "ResourceKey":"ExecuteSQL", "Form":"TEMPLATE" } ] } -
EventBridge
Para um destino de evento do EventBridge, defina Type como acs.eventbridge e Endpoint como acs:eventbridge:${region}:${AccountId}:eventbus/${EventBusName}. A tabela a seguir descreve os campos resourceKey em ParamList.
|
ResourceKey |
Required |
Form |
Value |
Template |
|
RegionId |
Yes |
CONSTANT |
O ID da região do destino do evento. |
Não aplicável. |
|
AccountType |
Yes |
CONSTANT |
O tipo de conta. Valores válidos:
|
Não aplicável. |
|
AccountId |
Não. A conta atual é usada por padrão. |
CONSTANT |
O ID da conta Alibaba Cloud de destino. Este parâmetro é opcional se o parâmetro AccountType estiver definido como SameAccount. |
Não aplicável. |
|
EventBusName |
Yes |
CONSTANT |
O nome do barramento de eventos de destino. |
Não aplicável. |
|
RAMRoleName |
Não, mas obrigatório para entrega entre contas. |
CONSTANT |
O nome da função RAM. Para mais informações, consulte Route events to EventBridge. Este parâmetro é opcional se o parâmetro AccountType estiver definido como SameAccount. |
Não aplicável. |
|
Body |
Yes |
|
Não aplicável. |
Não aplicável. |
A seguir estão exemplos de JsonPath:
Exemplo 1: Entregar um evento a um barramento de eventos na conta atual.
{
"Id":"KD20k9rpqDRXPq0SXXlqeT****",
"Type":"acs.eventbridge",
"Endpoint":"acs:eventbridge:cn-hangzhou:xxxxx:eventbus/xxxxx",
"ParamList":[
{
"Value":"cn-hangzhou",
"ResourceKey":"RegionId",
"Form":"CONSTANT"
},
{
"Value":"SameAccount",
"ResourceKey":"AccountType",
"Form":"CONSTANT"
},
{
"Value":"xxxxx",
"ResourceKey":"EventBusName",
"Form":"CONSTANT"
},
{
"ResourceKey":"Body",
"Form":"ORIGINAL"
}
]
}
Exemplo 2: Entregar um evento a um barramento de eventos em outra conta.
{
"Id":"KD20k9rpqDRXPq0SXXlqeT****",
"Type":"acs.eventbridge",
"Endpoint":"acs:eventbridge:cn-hangzhou:xxxxx:eventbus/xxxxx",
"ParamList":[
{
"Value":"cn-hangzhou",
"ResourceKey":"RegionId",
"Form":"CONSTANT"
},
{
"Value":"AnotherAccount",
"ResourceKey":"AccountType",
"Form":"CONSTANT"
},
{
"Value":"xxxxx",
"ResourceKey":"AccountId",
"Form":"CONSTANT"
},
{
"Value":"xxxxx",
"ResourceKey":"EventBusName",
"Form":"CONSTANT"
},
{
"Value":"xxxxx",
"ResourceKey":"RAMRoleName",
"Form":"CONSTANT"
},
{
"ResourceKey":"Body",
"Form":"ORIGINAL"
}
]
}
API trigger
Ao selecionar um destino de API como alvo do evento, o parâmetro de metadados Type é acs.api.destination, e o formato de Endpoint é acs:api-destination:${region}:${AccountId}:name/${APIName}. A tabela a seguir descreve os campos resourceKey no parâmetro ParamList.
|
resourceKey |
Required |
form |
value |
template |
|
Name |
Yes |
CONSTANT |
O nome do destino da API. |
Não aplicável. |
|
HeaderParameters |
No |
TEMPLATE |
Os parâmetros do cabeçalho da requisição. |
Modelo definido pelo usuário. |
|
BodyParameters |
No |
TEMPLATE |
Os parâmetros do corpo da requisição. |
Modelo definido pelo usuário. |
|
QueryStringParameters |
No |
TEMPLATE |
Os parâmetros da string de consulta. |
Modelo definido pelo usuário. |
O exemplo a seguir usa JsonPath:
{
"id":"gwrxsJKAnLxSEo4GHhV69q****",
"type":"acs.api.destination",
"endpoint":"acs:api-destination:cn-hangzhou:11860954742****:name/api-key-test",
"pushSelector":"PARAM_TRANSFORMER",
"errorsTolerance":"ALL",
"pushRetryStrategy":"BACKOFF_RETRY",
"paramList":[
{
"resourceKey":"Name",
"form":"CONSTANT",
"value":"api-key-test"
},
{
"resourceKey":"HeaderParameters",
"form":"TEMPLATE",
"value":"{\"headerKey1\":\"Content-Type\",\"headerValue1\":\"multipart/form-data\",\"headerKey2\":\"name\",\"headerValue2\":\"$.data.name\",\"headerKey3\":\"$.data.number\",\"headerValue3\":\"name\"}",
"template":"{\"${headerKey1}\":\"${headerValue1}\",\"${headerKey2}\":\"${headerValue2}\",\"${headerKey3}\":\"${headerValue3}\"}"
},
{
"resourceKey":"BodyParameters",
"form":"TEMPLATE",
"value":"{\"bodyKey1\":\"name\",\"bodyValue1\":\"$.data.name\"}",
"template":"{\"${bodyKey1}\":\"${bodyValue1}\"}"
},
{
"resourceKey":"QueryStringParameters",
"form":"TEMPLATE",
"value":"{\"queryKey1\":\"name\",\"queryValue1\":\"$.data.name\",\"queryKey2\":\"$.data.name\",\"queryValue2\":\"name\"}",
"template":"{\"${queryKey1}\":\"${queryValue1}\",\"${queryKey2}\":\"${queryValue2}\"}"
}
]
}
CloudFlow
Ao definir o destino do evento como CloudFlow, o parâmetro Type nos metadados recebe o valor acs.fnf e o parâmetro Endpoint adota o formato acs:fnf:${region}:${AccountId}:flow/${flow}. A tabela a seguir descreve o campo resourceKey dentro do parâmetro ParamList.
|
resourceKey |
Obrigatório |
form |
value |
template |
|
FlowName |
Sim |
CONSTANT |
Nome do fluxo. |
Não aplicável |
|
ExecutionName |
Não |
|
Nome da execução. |
Formato de transformação de eventos. Valores válidos:
|
|
Input |
Não |
JSONPath |
Entrada da execução. |
Consulte a descrição da opção TEMPLATE do parâmetro ExecutionName. |
|
RoleName |
Sim |
CONSTANT |
Nome da função. |
Não aplicável |
A seguir, um exemplo de configuração de JsonPath:
{
"id":"KLUGLVJeuWDw1bIJ6lgURl****",
"type":"acs.fnf",
"endpoint":"acs:fnf:cn-hangzhou:118609547428****:flow/${flow}",
"pushSelector":"PARAM_TRANSFORMER",
"errorsTolerance":"ALL",
"pushRetryStrategy":"BACKOFF_RETRY",
"paramList":[
{
"value":"serverless",
"resourceKey":"FlowName",
"form":"CONSTANT"
},
{
"value":"$.data",
"resourceKey":"ExecutionName",
"form":"JSONPATH"
},
{
"value":"$.data",
"resourceKey":"Input",
"form":"JSONPATH"
},
{
"value":"AliyunEventBridgeFNF-FZwEeE****",
"resourceKey":"RoleName",
"form":"CONSTANT"
}
]
}
Container Service for Kubernetes (ACK)
Quando o destino do evento é o Container Service for Kubernetes, o Type nos parâmetros de metadados é acs.k8s, o valor de Endpoint é kubernetes e o significado do campo resourceKey em ParamList está descrito na tabela abaixo.
|
Resource key |
Obrigatório |
Form |
Value |
template |
|
KubeConfig |
Sim |
CONSTANT |
Arquivo de configuração do cluster. |
Nenhum |
|
YamlContent |
Sim |
CONSTANT |
Configuração YAML. |
Formato de transformação de eventos. Valores válidos:
|
|
Network |
Sim |
CONSTANT |
Tipo de acesso à rede. |
Nenhum |
|
QPSLimit |
Sim |
CONSTANT |
Limite de QPS. |
Nenhum |
A seguir, um exemplo de configuração de JsonPath:
{
"id":"Grdzk1cR4DNjmHa0oPJp8j****",
"type":"acs.k8s",
"endpoint":"kubernetes",
"pushSelector":"PARAM_TRANSFORMER",
"errorsTolerance":"ALL",
"pushRetryStrategy":"BACKOFF_RETRY",
"paramList":[
{
"form":"CONSTANT",
"value":"PublicNetwork",
"resourceKey":"Network"
},
{
"form":"CONSTANT",
"value":5,
"resourceKey":"QPSLimit"
},
{
"form":"CONSTANT",
"value":"test1",
"resourceKey":"KubeConfig"
},
{
"form":"CONSTANT",
"resourceKey":"YamlContent",
"value":"test2"
}
]
}
Serverless App Engine
Ao selecionar o Serverless App Engine como destino do evento, o parâmetro Type nos metadados será acs.sae e o formato de Endpoint será http://sae.cn-huhehaote.aliyuncs.com/pop/v1/sam/job/execJob. A tabela a seguir descreve o campo resourceKey em ParamList.
|
Parâmetro |
Obrigatório |
Formato |
Valor |
Modelo |
|
RegionId |
Sim |
CONSTANT |
ID da região. |
Formato para transformação de eventos. Valores válidos:
|
|
AppId |
Sim |
CONSTANT |
ID do modelo de job. |
Consulte a descrição na coluna de modelo do parâmetro RegionId. |
|
EventId |
Sim |
JSONPATH |
ID do evento. |
Consulte a descrição na coluna de modelo do parâmetro RegionId. |
|
Parameters |
Sim |
CONSTANT |
Parâmetros CommandArgs e Envs para a operação execJob. |
Consulte a descrição na coluna de modelo do parâmetro RegionId. |
O exemplo a seguir mostra uma configuração de JsonPath:
{
"id":"xp0dEW4mVbS5tDQzIBiZrY****",
"type":"acs.sae",
"endpoint":"http://sae.cn-huhehaote.aliyuncs.com/pop/v1/sam/job/execJob",
"pushSelector":"PARAM_TRANSFORMER",
"errorsTolerance":"ALL",
"pushRetryStrategy":"BACKOFF_RETRY",
"paramList":[
{
"value":"cn-huhehaote",
"resourceKey":"RegionId",
"form":"CONSTANT"
},
{
"value":"3F2504E0-4F89-11D3-9A0C-0305E82C****",
"resourceKey":"AppId",
"form":"CONSTANT"
},
{
"value":"$.id",
"resourceKey":"EventId",
"form":"JSONPATH"
},
{
"value":"[\"a\",\"b\"]",
"resourceKey":"Parameters",
"form":"CONSTANT"
}
]
}
Análise de eventos
Para um destino de evento de Análise de Eventos, o parâmetro Type é acs.eventbridge.olap e o Endpoint utiliza o formato ${SchemaURI}. A tabela a seguir descreve os parâmetros resourceKey em ParamList.
|
resourceKey |
Obrigatório |
form |
value |
template |
|
UseSchema |
Sim |
CONSTANT |
Especifica o método para vinculação e mapeamento de schema. Valores válidos:
|
Não aplicável. |
|
SchemaGroup |
Sim |
CONSTANT |
Nome do grupo de schemas. |
Não aplicável. |
|
SchemaID |
Sim |
CONSTANT |
ID do schema. |
Não aplicável. |
|
SchemaVersion |
Sim |
CONSTANT |
Versão do schema. |
Não aplicável. |
A seguir, um exemplo de JsonPath:
{
"id":"DLuVyP3JcAAb3q2CibqZI6****",
"type":"acs.eventbridge.olap",
"endpoint":"${SchemaURI}",
"pushSelector":"PARAM_TRANSFORMER",
"errorsTolerance":"ALL",
"pushRetryStrategy":"BACKOFF_RETRY",
"paramList":[
{
"value":"FromRule",
"resourceKey":"UseSchema",
"form":"CONSTANT"
},
{
"value":"DEFAULT_SCHEMA_GROUP",
"resourceKey":"SchemaGroup",
"form":"CONSTANT"
},
{
"value":"test",
"resourceKey":"SchemaID",
"form":"CONSTANT"
},
{
"value":"1",
"resourceKey":"SchemaVersion",
"form":"CONSTANT"
}
]
}
DataHub
Quando o destino do evento é o DataHub, o parâmetro de metadados Type é acs.datahub, o formato de Endpoint é acs:datahub:${region}:${AccountId}:project/${project}/topic/${topic} e o significado do campo resourceKey em ParamList está descrito na tabela a seguir.
|
Parâmetro |
Obrigatório |
Formato |
Descrição |
Modelo |
|
Project |
Sim |
CONSTANT |
Nome do projeto. |
Não aplicável. |
|
Topic |
Sim |
CONSTANT |
Nome do tópico. |
Não aplicável. |
|
TopicType |
Sim |
CONSTANT |
Tipo de dados do tópico. Valores válidos:
|
Não aplicável. |
|
TopicSchema |
Este parâmetro é obrigatório se TopicType estiver definido como TUPLE. Não é necessário especificar este parâmetro se TopicType estiver definido como BLOB. |
TEMPLATE |
Schema do tópico. |
TEMPLATE. Exemplo:
No modelo, |
|
RoleName |
Sim |
CONSTANT |
Nome da função. |
Não aplicável. |
O exemplo a seguir mostra uma configuração de JsonPath:
{
"id":"ZXoGuhjAT5UfqngBPapXro****",
"type":"acs.datahub",
"endpoint":"acs:datahub:cn-hangzhou:175299981560****:project/demo_project/topic/demo_topic",
"errorsTolerance":"ALL",
"pushRetryStrategy":"BACKOFF_RETRY",
"paramList":[
{
"Form":"CONSTANT",
"Value":"demo_project",
"ResourceKey":"Project"
},
{
"Form":"CONSTANT",
"Value":"demo_topic",
"ResourceKey":"Topic"
},
{
"Form":"CONSTANT",
"Value":"TUPLE",
"ResourceKey":"TopicType"
},
{
"Form":"TEMPLATE",
"Value":"{\"k1-0\":\"1\",\"k2-1\":\"2\",\"k3-2\":\"3\"}",
"Template":"{\"k1\":\"${k1-0}\",\"k2\":\"${k2-1}\",\"k3\":\"${k3-2}\"}",
"ResourceKey":"TopicSchema"
},
{
"Form":"CONSTANT",
"Value":"AliyunEventBridgeDataHubRole-2HwuVf****",
"ResourceKey":"RoleName"
}
]
}