EXECUTE NOTEBOOK¶
Notebook 편집기 외부에서 노트북을 실행합니다. 예를 들어, 워크시트에서 자체적으로 EXECUTENOTEBOOK을 실행하거나, 저장 프로시저 또는 작업과 같은 다른 Snowflake 실행 파일 내에 중첩하거나, 서드 파티 오케스트레이터에서 사용할 수 있습니다.
이 명령은 노트북의 모든 셀에서 최신 코드를 실행합니다. 노트북 편집기에서 결과에 액세스할 수 있습니다.
참고
EXECUTE NOTEBOOK은 또한 QUERY_WAREHOUSE 매개 변수를 설정해야 하며, 그렇지 않으면 오류가 발생합니다. QUERY_WAREHOUSE 매개 변수를 설정하려면 ALTER NOTEBOOK 명령을 사용합니다.
구문¶
EXECUTE NOTEBOOK <name>([ <parameter_string> [ , ... ] ]);
필수 매개 변수¶
name
노트북의 식별자(즉, 이름)를 지정합니다. 노트북이 생성되는 스키마에 대해 고유해야 합니다. 노트북이 작업 중인 현재
database.schema
에 저장되지 않은 경우 정규화되어야 합니다.또한, 식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표로 묶지 않는 한(예: “My object”) 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.
자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
선택적 매개 변수¶
parameter_string
선택적으로 노트북에 인자를 전달합니다. 노트북의 Python 셀에서 :code:`sys.argv``변수<https://docs.python.org/3/library/sys.html#sys.argv>`_ 를 사용하여 이러한 인자에 액세스할 수 있습니다.
문자열만 지원됩니다. 다른 데이터 타입(예: 정수 또는 부울)은 NULL로 해석됩니다.
액세스 제어 요구 사항¶
이 작업을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.
권한 |
오브젝트 |
참고 |
---|---|---|
OWNERSHIP |
노트북 |
OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
EXECUTE NOTEBOOK 명령을 사용하여 노트북을 실행하는 경우:
Python 셀은 RUNTIME 매개 변수로 정의된 컴퓨팅 풀에서 실행됩니다.
SQL 및 Snowpark 쿼리는 WAREHOUSE 매개 변수에 지정된 가상 웨어하우스를 사용하여 실행됩니다.
참고
컴퓨팅 풀을 사용하는 노트북을 실행하면 Python 코드가 컴퓨팅 풀에서 실행됩니다. 하지만 웨어하우스가 EXECUTE NOTEBOOK 명령을 실행하는 데 사용되었음을 보여주는 활동이 Query History 에 표시될 수도 있습니다. 이는 예상되는 동작입니다. 웨어하우스는 노트북 실행 환경을 초기화하기 위해 잠시 사용되지만, 웨어하우스 크레딧을 소비하지는 않습니다. 코드 실행은 모두 컴퓨팅 풀에서 처리됩니다.
예¶
다음 예제에서는 인자를 전달하지 않고 지정된 노트북의 기본 버전을 트리거합니다.
EXECUTE NOTEBOOK MY_DB.PUBLIC.MY_NOTEBOOK();
노트북에 매개 변수 전달¶
노트북을 실행할 때 선택적으로 인자를 전달할 수 있습니다. Python 셀에서는 sys.argv
변수, 즉 `명령줄 인자를 보유하는 기본 제공 Python 목록<https://docs.python.org/3/library/sys.html#sys.argv>`_ 을 사용하여 이러한 인자에 액세스할 수 있습니다.
인자를 사용하여 노트북 동작을 사용자 지정할 수 있습니다. 예를 들어, 입력 값을 전달하거나 대상 환경을 지정하거나 이러한 인자를 기준으로 실행 논리를 조정할 수 있습니다.
예¶
EXECUTE NOTEBOOK MY_DATABASE.PUBLIC.MY_NOTEBOOK(
'parameter_string a,b,c,d',
'target_database=PROD_DB'
);
노트북의 Python 셀에서 sys.argv
목록의 문자열로 각 인자에 액세스할 수 있습니다.
노트북에서 이러한 인자에 액세스하고 인자를 사용하는 방법(목록을 구문 분석하거나 키-값 페어를 추출하는 방법 포함)을 알아보려면 Snowflake Notebooks 에서 코드 개발 및 실행 섹션을 참조하세요.