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> Referência de API> Exemplos> Exemplo 4: Uso de uma função para chamar uma subfunção
Atualizado em 2022-11-08 GMT+08:00

Exemplo 4: Uso de uma função para chamar uma subfunção

Cenário

Esta seção usa Python como um exemplo para descrever como invocar uma subfunção usando uma função.

Para obter detalhes sobre como chamar as API, consulte Chamada das API.

Pré-requisitos

Uma agência com a permissão de FunctionGraph Administrator ou Tenant Administrator foi criada.

Procedimento geral

  1. Crie uma subfunção.
  2. Crie uma função.
  3. Use a função para chamar a subfunção.

Passo 1: Criar uma subfunção

  1. Crie uma subfunção no console. Defina parâmetros referindo-se a Figura 1 e retendo os valores padrão para outros parâmetros.
    Figura 1 Definição de parâmetros

Passo 2: Criar uma função

  1. Crie uma função no console. Selecione uma agência com a permissão FunctionGraph Administrator ou Tenant Administrator. Além disso, defina os parâmetros como mostrado em Figura 2 e retenha os valores padrão para outros parâmetros.
    Figura 2 Definição de parâmetros
  2. Na página de guia Code, edite o código. O código de exemplo é o seguinte:
    Figura 3 Editação do código
    import json
    import requests
    def handler (event, context):
        token = context.getToken()
        project_id = context.getProjectID()
        urn = 'urn:fss:xx-xxxxx-x:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:function:xxx:subfunction:latest'  # Subfunction URN, which can be queried on the right of the topology on the subfunction details page.
        url = 'https://functiongraph.xx-xxxxx-x.xxxxxxxxxxxxx.com/v2/%s/fgs/functions/%s/invocations' % (project_id,urn)
        headers = {
            "x-auth-token": token,
            "content-type": 'application/json'
        }
        body = {"k":"v"}
        resp = requests.post(url, json=body, headers=headers, verify=False)
        print(resp.text)
        return {
            "statusCode": 200,
            "isBase64Encoded": False,
            "body": json.dumps(event),
            "headers": {
                "Content-Type": "application/json"
            }
        }

Passo 3: Use a função para chamar a subfunção

  1. Na página de detalhes da função, clique em Test para chamar a função.
  2. Veja o resultado da execução.
    • O resultado da execução da função é Success e 200 é retornado.
      Figura 4 Registro de execução da função
    • A página de guia Logs mostra detalhes sobre a invocação de subfunções.
      Figura 5 Registro de execução da subfunção