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:

Etapa anterior

Etapa 4: vincular a integração de API do Azure ao serviço de proxy no Portal

Criar a função externa

Essa tarefa pressupõe que você esteja na página Worksheets Guia Planilha 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.

Próxima etapa

Portal do Azure:

Etapa 6: criar a política de segurança do Azure para o serviço de proxy no portal

Modelo ARM:

Etapa 6: atualizar a política de segurança do Azure para o serviço de proxy no Portal