AWS용 외부 함수 호출하기

AWS용 외부 함수 호출하기 (Calling an External Function for AWS)

이 문서는 외부 함수를 호출하는 방법을 설명해 드려요. 외부 함수는 다른 UDF (사용자 정의 함수)처럼 호출되며, 플랫폼과 무관하게 같은 방식으로 호출돼요. 함수가 있는 데이터베이스와 스키마를 세션에서 사용 중인지 확인하고, 필요한 역할에 USAGE 권한을 부여한 뒤 SQL 문장 안에서 호출하는 흐름을 단계별로 보여줘요.

출처: Snowflake SQL Reference

본문

이 문서는 외부 함수를 호출하는 방법을 설명해요.

외부 함수는 다른 UDF (사용자 정의 함수)처럼 호출돼요. (그리고 다른 UDF처럼, 외부 함수도 플랫폼과 무관하게 같은 방식으로 호출돼요.)

  1. 아직 하지 않았다면, 세션이 함수를 포함하는 데이터베이스와 스키마를 사용 중인지 확인하세요.

(외부 함수는 데이터베이스 객체예요. 함수를 호출할 때 함수를 포함하는 데이터베이스와 스키마가 세션에서 사용 중이어야 하거나, 함수의 정규화된 전체 이름(fully-qualified name)을 지정해야 해요.)

USE DATABASE <database_name>;
USE SCHEMA <schema_name>;
  1. 해당된다면, 아직 하지 않았다면 외부 함수를 호출해야 하는 하나 이상의 Snowflake 역할에 외부 함수의 USAGE 권한을 부여하세요.

(역할이 외부 함수를 호출하려면 외부 함수에 대한 USAGE 또는 OWNERSHIP 권한이 있어야 해요.)

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

예를 들어:

GRANT USAGE ON FUNCTION echo(INTEGER, VARCHAR) TO analyst_role;
  1. 적절한 역할을 사용해 SQL 문장의 일부로 외부 함수를 호출하세요. Snowflake가 제공하는 샘플 외부 함수 중 하나를 만들었다면 아래와 같이 함수를 호출할 수 있어요:
SELECT echo(42, 'Adams');

echo가 아닌 다른 함수 이름을 사용했다면, echo를 실제 함수 이름으로 바꾸세요.

반환되는 값은 다음과 비슷할 거예요:

[0, 42, "Adams"]

여기서:

  • 0은 반환된 값의 행 번호예요.
  • 42, "Adams"는 반환된 값이에요.

Note

외부 함수는 보통 다른 UDF처럼 호출할 수 있지만, 몇 가지 예외가 있어요. 자세한 내용은 실행 시 제한 사항과 문제를 참조하세요.

더 알아보기 (Learn more)