AWS용 외부 함수 호출하기

이 항목에서는 외부 함수를 호출하는 방법을 설명합니다.

외부 함수는 다른 UDF(사용자 정의 함수) 처럼 호출됩니다. (그리고 다른 UDF와 마찬가지로, 외부 함수는 플랫폼과 관계없이 같은 방식으로 호출됩니다.)

  1. 아직 수행하지 않은 경우 세션이 함수를 포함하는 데이터베이스와 스키마를 사용하고 있는지 확인하십시오.

    (외부 함수는 데이터베이스 오브젝트입니다. 함수를 호출할 때 함수를 포함하는 데이터베이스와 스키마는 세션에서 사용 중이거나 함수의 정규화된 이름을 지정해야 합니다.)

    USE DATABASE <database_name>;
    USE SCHEMA <schema_name>;
    
    Copy
  2. 외부 함수를 호출해야 하는 하나 이상의 Snowflake 역할에 외부 함수에 대한 USAGE 권한을 아직 부여하지 않은 상태에서 이런 권한을 부여하는 것이 적절하면 권한을 부여하십시오.

    (외부 함수를 호출하려는 역할은 그 함수에 대한 USAGE 또는 OWNERSHIP 권한이 있어야 합니다.)

    GRANT USAGE ON FUNCTION <external_function_name>(<parameter_data_type>) TO <role_name>;
    
    Copy

    예:

    GRANT USAGE ON FUNCTION echo(INTEGER, VARCHAR) TO analyst_role;
    
    Copy
  3. 적절한 역할을 사용하여 SQL 문의 일부로 외부 함수를 호출합니다. Snowflake에서 제공하는 샘플 외부 함수 중 하나를 만든 경우 아래에 표시된 것처럼 함수를 호출할 수 있습니다.

    SELECT echo(42, 'Adams');
    
    Copy

    echo 가 아닌 함수 이름을 사용한 경우에는 echo 를 실제 함수 이름으로 바꾸십시오.

    반환된 값은 다음과 유사해야 합니다.

    [0, 42, "Adams"]
    
    Copy

    여기서:

    • 0 은 반환된 값의 행 번호입니다.

    • 42, "Adams" 는 반환된 값입니다.

참고

외부 함수는 보통 다른 UDFs처럼 호출할 수 있지만, 몇 가지 예외가 있습니다. 자세한 내용은 실행 시간 제한 사항과 문제 섹션을 참조하십시오.