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).

  1. 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>;
    
    Copy
  2. 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>;
    
    Copy

    Por exemplo:

    GRANT USAGE ON FUNCTION echo(INTEGER, VARCHAR) TO analyst_role;
    
    Copy
  3. 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');
    
    Copy

    Se você usou um nome de função diferente de echo, substitua echo pelo nome real da função.

    O valor retornado deve ser semelhante a:

    [0, 42, "Adams"]
    
    Copy

    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.