Chamada de uma função externa para o Azure¶
Este tópico descreve como chamar uma função externa:
Uma função externa é chamada como qualquer outra UDF (função definida pelo usuário). (E, como qualquer outra UDF, uma função externa é chamada da mesma forma independentemente da plataforma).
Se você ainda não o fez, certifique-se de que sua sessão está usando o banco de dados e o esquema que contêm a função.
(Funções externas são objetos de banco de dados; quando você chama a função, o banco de dados e o esquema que contêm a função devem estar em uso na sua sessão, ou você deve especificar o nome totalmente qualificado da função).
USE DATABASE <database_name>; USE SCHEMA <schema_name>;
Se apropriado e se você ainda não o fez, conceda privilégio USAGE para função externa a uma ou mais funções do Snowflake que precisam chamar a função externa.
(Uma função deve ter privilégios USAGE ou OWNERSHIP para uma função externa a fim de chamá-la).
GRANT USAGE ON FUNCTION <external_function_name>(<parameter_data_type>) TO <role_name>;
Por exemplo:
GRANT USAGE ON FUNCTION echo(INTEGER, VARCHAR) TO analyst_role;
Usando uma função apropriada, chame sua função externa como parte de uma instrução SQL. Se você criou uma das funções externas de amostra fornecidas pelo Snowflake, você pode chamar a função como mostrado abaixo:
SELECT echo(42, 'Adams');
Se você usou um nome de função diferente de
echo
, substituaecho
pelo nome real da função.O valor retornado deve ser semelhante a:
[0, 42, "Adams"]
Onde:
0
é o número de linha do valor retornado.42, "Adams"
é o valor retornado.
Nota
Embora uma função externa possa normalmente ser chamada como outras UDFs, há algumas exceções. Para obter mais detalhes, consulte Limitações e problemas de tempo de execução.