Azure용 외부 함수 호출하기
Azure용 외부 함수 호출하기
이 문서는 Snowflake에서 Azure용 외부 함수를 어떻게 호출하는지 설명해요. 외부 함수는 일반 UDF(사용자 정의 함수)처럼 호출하면 되고, 플랫폼이 달라도 호출 방법이 같다는 점을 먼저 기억하면 좋아요.
본문
이 주제는 외부 함수를 호출하는 방법을 설명해요.
외부 함수는 다른 모든 UDF(사용자 정의 함수)처럼 호출돼요. 그리고 다른 UDF처럼, 외부 함수도 플랫폼에 관계없이 같은 방식으로 호출해요.
- 아직 하지 않았다면, 세션에서 함수가 들어 있는 데이터베이스와 스키마를 사용하고 있는지 확인해요. (외부 함수는 데이터베이스 객체예요. 함수를 호출할 때는 함수가 들어 있는 데이터베이스와 스키마가 세션에서 사용 중이어야 하고, 아니라면 함수의 정규화된 이름(fully-qualified name)을 지정해야 해요.)
USE DATABASE database_name;
USE SCHEMA schema_name;
- 적절하다면, 아직 하지 않았다면 외부 함수를 호출해야 하는 하나 이상의 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;
- 적절한 역할을 사용해서 SQL 문의 일부로 외부 함수를 호출해요. Snowflake가 제공하는 샘플 외부 함수 중 하나를 만들었다면 아래처럼 함수를 호출할 수 있어요.
SELECT echo(42, 'Adams');
echo가 아닌 다른 함수 이름을 사용했다면 echo를 실제 함수 이름으로 바꿔야 해요.
반환되는 값은 다음처럼 보일 거예요:
[0, 42, "Adams"]
여기서:
-
0은 반환 값의 행 번호(row number)예요. -
42, "Adams"는 반환된 값이에요.
주의
보통 외부 함수는 다른 UDF처럼 호출할 수 있지만, 예외가 몇 가지 있어요. 자세한 내용은 "실행 시 제한과 문제(Execution-time limitations and issues)"를 참고해요.
더 알아보기 (Learn more)
- 외부 함수 소개
- Azure용 외부 함수 계획하기
- Azure용 API 통합 만들기