Chamada de uma função externa para AWS

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>;
    
  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>;
    

    Por exemplo:

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

    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"]
    

    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.