Etapa 5: criar a função externa para o Azure no Snowflake

Este tópico fornece instruções para a criação de um objeto de função externa no Snowflake. Esse objeto armazena informações sobre o serviço remoto, como os parâmetros que o serviço remoto aceita. As instruções são as mesmas independentemente de você estar usando o Portal do Azure ou o modelo ARM.

Nota

As funções externas no Snowflake são objetos de banco de dados, o que significa que devem ser criadas em um esquema em um banco de dados. Para criar uma função externa, você deve ter os privilégios apropriados no banco de dados e no esquema onde você está criando a função.

Para obter mais detalhes, consulte Privilégios de controle de acesso.

Neste tópico:

Criar a função externa

Essa tarefa pressupõe que você esteja na página Worksheets Worksheet tab na Classic Console:

  1. Insira uma instrução CREATE EXTERNAL FUNCTION. A instrução deve ser semelhante ao seguinte:

    create or replace external function <external_function_name>(<parameters>)
        returns variant
        api_integration = <api_integration_name>
        as '<invocation_url>';
    
    Copy
  2. Substitua <external_function_name> por um nome de função único (por exemplo, echo). Esse nome deve seguir as regras de Identificadores de objetos.

    Além disso, registre o nome da função no campo External Function Name da sua planilha de rastreamento.

  3. Substitua <parameters> pelos nomes e tipos de dados SQL dos parâmetros da função se houver.

    Os parâmetros devem corresponder aos parâmetros esperados pelo serviço remoto. Os nomes dos parâmetros não precisam corresponder, mas os tipos de dados precisam ser compatíveis.

    Se seu Azure Function utiliza o código JavaScript de amostra fornecido na Etapa 1, os parâmetros são um INTEGER e um VARCHAR. Por exemplo:

    a integer, b varchar
    
    Copy

    Além disso, registre os nomes dos parâmetros e tipos de dados no campo External Function Name da sua planilha de rastreamento.

  4. Substitua <api_integration_name> pelo valor do campo API Integration Name da sua planilha de rastreamento.

  5. Substitua <invocation_url> pela URL apropriada. Essa é a URL para a qual o Snowflake envia o comando HTTP POST a fim de chamar o serviço remoto e tem o seguinte formato:

    https://<api_management_service_name>.azure-api.net/<api_url_suffix>/<http_triggered_function_name>
    
    Copy

    A URL que você usa depende de você estar usando o Portal do Azure ou o modelo ARM para criar sua função externa:

    Portal do Azure

    Use os valores dos campos API Management service name, API Management API URL suffix e HTTP-Triggered Function name da sua planilha de rastreamento. Por exemplo, sua URL deve ser parecida com:

    https://my-api-management-svc.azure-api.net/my-api-url-suffix/my_http_function
    
    Copy
    Modelo ARM

    Use o valor do campo Azure Function HTTP Trigger URL da sua planilha de rastreamento.

  6. Execute o comando CREATE EXTERNAL FUNCTION que você inseriu se ainda não tiver feito isso.

Testar sua função externa

Agora você pode chamar sua função externa para verificar se ela funciona corretamente.

Para obter mais detalhes, consulte Chamada de uma função externa para o Azure.