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 na Classic Console:
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>';
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.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
Além disso, registre os nomes dos parâmetros e tipos de dados no campo
External Function Name
da sua planilha de rastreamento.Substitua
<api_integration_name>
pelo valor do campoAPI Integration Name
da sua planilha de rastreamento.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>
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
eHTTP-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
- Modelo ARM:
Use o valor do campo
Azure Function HTTP Trigger URL
da sua planilha de rastreamento.
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.