Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ FunctionGraph/ Guia de usuário/ Configuração da função/ Configuração da notificação de execução assíncrona
Atualizado em 2022-11-16 GMT+08:00

Configuração da notificação de execução assíncrona

Depois que uma função for criada, configure a notificação de execução assíncrona para enviar os resultados da execução ao serviço de destino.

  1. Se uma mensagem indicando permissões insuficientes for exibida quando você configurar a notificação de execução assíncrona, adicione a permissão de FunctionGraph Administrator. Para obter detalhes, consulte Criação de um usuário e concessão de permissões.
  2. Defina uma agência que permita que o FunctionGraph acesse o serviço de destino.
  3. Para evitar invocação cíclica, não defina duas funções como alvos de execução assíncronas uma da outra.

Procedimento

  1. Efetue log-in no Console do FunctionGraph. No painel de navegação, escolha Functions > Function List.
  2. Clique na função a ser configurada para ir para a página de detalhes da função.
  3. Escolha Configuration > Configure Async Notification. Na página exibida, clique em Edit ao lado de Asynchronous Notification Policy.

    Figura 1 Configuração de uma política de notificação assíncrona

  4. Defina parâmetros referindo-se a Tabela 1. Por exemplo, especifique FunctionGraph para Target Service.

    Figura 2 Definição de parâmetros
    Tabela 1 Descrição do parâmetro

    Parâmetro

    Descrição

    Asynchronous Execution Notification Policy

    • Max. Retries: número máximo de tentativas quando a invocação assíncrona falha. Intervalo do valor: 0–3. Valor padrão: 1.
    • Max. Validity Period (s): duração máxima de uma mensagem em segundos. Intervalo do valor: 1–86.400.

    Success Notification

    Target Service: para o qual uma notificação será enviada se uma função for executada com sucesso.

    1. FunctionGraph
    2. OBS
    3. DIS
    4. SMN

    Failure Notification

    Target Service: para o qual será enviada uma notificação se uma função não for executada.

    1. FunctionGraph
    2. OBS
    3. DIS
    4. SMN

  5. Clique em OK.

Descrição de configuração

Para obter detalhes sobre como definir o alvo para invocação assíncrona, consulte Tabela 2. A seguir, mostramos um exemplo:

{
        "timestamp": "2020-08-20T12:00:00.000Z",
	"request_context": {
	        "request_id": "1167bf8c-87b0-43ab-8f5f-26b16c64f252",
	        "function_urn": "urn:fss:xx-xxxx-x:xxxxxxx:function:xxxx:xxxx:latest",
	        "condition": "",
	        "approximate_invoke_count": 0
	 },
	    "request_payload": "",
	    "response_context": {
	        "status_code": 200,
	        "function_error": ""
	  },
	 "response_payload": "hello world!"
}
Tabela 2 Descrição do parâmetro

Parâmetro

Descrição

timestamp

Hora em que a invocação começa.

request_context

Solicite contexto.

request_context.request_id

ID de uma solicitação de invocação assíncrona.

request_context. function_urn

URN da função que deve ser executada de forma assíncrona.

request_context.condition

Tipo de erro de invocação.

request_context. approximate_invoke_count

Número de tempos de chamada assíncrona. Se o valor for maior que 1, a execução da função foi repetida.

request_payload

Carga de solicitação original.

response_context

Contexto de resposta.

response_context.statusCode

Código retornado após a invocação da função. Se o código não for 200, ocorreu um erro de sistema.

response_context.function_error

Informações de erro de invocação.

response_payload

Payload retornado após a execução da função.