CREATE STREAMLIT¶
Snowflake에서 새로운 Streamlit 오브젝트를 생성하거나 동일한 스키마의 기존 Streamlit 오브젝트를 대체합니다.
구문¶
CREATE [ OR REPLACE ] STREAMLIT [ IF NOT EXISTS ] <name>
[ FROM <source_location> ]
[ MAIN_FILE = '<filename>' ]
[ QUERY_WAREHOUSE = <warehouse_name> ]
[ COMMENT = '<string_literal>' ]
[ TITLE = '<app_title>' ]
[ IMPORTS = ( '<stage_path_and_file_name_to_read>' [ , ... ] ) ]
[ EXTERNAL_ACCESS_INTEGRATIONS = ( <integration_name> [ , ... ] ) ]
다음 구문은 레거시입니다.
중요
ROOT_LOCATION은 레거시 매개 변수이며 향후 릴리스에서 더 이상 사용되지 않을 수 있습니다. ROOT_LOCATION을 사용하여 만든 Streamlit 앱의 경우 다중 파일 편집 및 Git 통합은 지원되지 않습니다.
CREATE [ OR REPLACE ] STREAMLIT [ IF NOT EXISTS ] <name>
ROOT_LOCATION = '<stage_path_and_root_directory>'
MAIN_FILE = '<path_to_main_file_in_root_directory>'
[ QUERY_WAREHOUSE = <warehouse_name> ]
[ COMMENT = '<string_literal>' ]
[ TITLE = '<app_title>' ]
[ IMPORTS = ( '<stage_path_and_file_name_to_read>' [ , ... ] ) ]
[ EXTERNAL_ACCESS_INTEGRATIONS = ( <integration_name> [ , ... ] ) ]
필수 매개 변수¶
nameStreamlit 오브젝트의 식별자(예: 이름)를 지정합니다. 식별자는 오브젝트가 생성된 스키마에 대해 고유해야 합니다.
또한, 식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예:
"My object")로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대문자와 소문자를 구분합니다.자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
선택적 매개 변수¶
FROM source_location지정된 위치에서 앱 소스 파일을 복사합니다. 위치는 명명된 내부 스테이지 내에 있어야 합니다. 경로는 상대 경로이거나 정규화된 경로일 수 있습니다. 예를 들어 스테이지의 이름이 ``@streamlit_db.streamlit_schema.streamlit_stage``인 경우 유효한 소스 위치에는 다음이 포함될 수 있습니다.
스테이지 루트에 대한 정규화된 경로:
FROM '@streamlit_db.streamlit_schema.streamlit_stage'스테이지 루트에 대한 상대 경로:
FROM '@streamlit_stage'스테이지 내의 하위 디렉터리에 대한 정규화된 경로 또는 상대 경로:
FROM '@streamlit_db.streamlit_schema.streamlit_stage/subdir'
파일은 CREATE 명령이 실행될 때 한 번만 복사됩니다. 소스 위치에 대한 향후 변경 사항은 Streamlit 앱을 자동으로 업데이트하지 않습니다.
이 매개 변수를 지정하지 않으면 Snowflake는
streamlit_app.py진입점 파일이 있는 기본 앱의 소스 파일을 복사합니다.MAIN_FILE = 'filename'Streamlit 진입점 파일의 파일 이름입니다. 이 파일은 FROM에 지정된 소스 디렉터리의 루트에 있어야 합니다.
FROM 대신 ROOT_LOCATION을 사용하는 경우 MAIN_FILE은 ROOT_LOCATION의 상대 경로일 수 있습니다.
DEFAULT:
'streamlit_app.py'QUERY_WAREHOUSE = warehouse_name앱을 실행하고 Streamlit 앱에서 발행한 SQL 쿼리를 실행할 웨어하우스를 지정합니다.
DEFAULT: 값 없음
참고
이 매개 변수 없이 Streamlit 오브젝트를 생성할 수 있지만, 쿼리 웨어하우스를 지정할 때까지 앱이 실행되지 않습니다.
COMMENT = 'string_literal'Streamlit 오브젝트에 대한 설명을 명시합니다.
DEFAULT: 값 없음
TITLE = 'app_title'|sf-web-interface|에 표시할 Streamlit 오브젝트의 제목을 지정합니다.
DEFAULT: CREATE STREAMLIT에 전달된 Streamlit 오브젝트의 이름입니다.
IMPORTS = ( 'stage_path_and_file_name_to_read' [ , ... ] )가져올 파일의 위치(스테이지), 경로, 이름입니다.
EXTERNAL_ACCESS_INTEGRATIONS = ( integration_name [ , ... ] )Streamlit 앱 코드가 외부 네트워크에 액세스하려면 필요한 외부 액세스 통합 의 이름입니다.
ROOT_LOCATION = 'stage_path_and_root_directory'예를 들어 Streamlit Python 파일, 미디어 파일,
environment.yml파일을 포함하는 명명된 스테이지의 경로를 지정합니다.ROOT_LOCATION = '@streamlit_db.streamlit_schema.streamlit_stage'
이 예에서 Streamlit 파일은
streamlit_db라는 데이터베이스와streamlit_schema라는 스키마 내의streamlit_stage로 명명된 스테이지에 있습니다.참고
이 매개 변수는 명명된 내부 스테이지 내의 단일 디렉터리를 가리켜야 합니다.
Streamlit in Snowflake 에 대한 외부 스테이지는 지원되지 않습니다.
Snowflake Native App Framework 내에서 Streamlit 애플리케이션 오브젝트를 만들거나 바꾸는 경우
ROOT_LOCATION = 'stage_path_and_root_directory'가 아닌FROM 'relative_path_from_stage_root_directory'를 사용하십시오.
액세스 제어 요구 사항¶
역할이 다음 테이블의 오브젝트를 소유하지 않는 경우 역할에 해당 오브젝트에 대한 나열된 :ref:`권한<label-access_control_overview_privileges>`이 있어야 합니다.
권한 |
오브젝트 |
참고 |
|---|---|---|
CREATE STREAMLIT |
Streamlit 오브젝트를 생성하는 스키마 |
|
READ |
Streamlit 앱 소스 파일을 복사하는 스테이지 |
|
CREATE STAGE |
Streamlit 오브젝트를 생성하는 스키마 |
이 권한은 ROOT_LOCATION 매개 변수를 사용하여 Streamlit 오브젝트를 생성할 때만 필요합니다. |
스키마의 모든 오브젝트에 대해 작업을 수행하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한. 스키마에 대한 모든 권한이 부여된 역할은 스키마를 확인할 수 있습니다. 예를 들어, 스키마에 대해 CREATE 권한을 부여받은 역할은 해당 스키마에 대한 USAGE 권한을 함께 부여받지 않더라도 해당 스키마에 대한 오브젝트를 생성할 수 있습니다.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
앱을 만든 후에는 초기화해야 합니다.
중요
CREATE STREAMLIT를 사용한 후 Streamlit 앱은 다음 작업 중 하나를 수행할 때까지 활성화되지 않습니다.
새 Streamlit 오브젝트에 대해 ALTER STREAMLIT … ADD LIVE VERSION FROM LAST를 실행합니다.
앱을 소유한 역할을 사용하여 |sf-web-interface|에서 앱을 방문합니다.
Streamlit 오브젝트가 포함된 스키마 또는 데이터베이스를 복제할 때 Streamlit 오브젝트는 복제되지 않습니다.
Streamlit 애플리케이션에서 사용하는 패키지를 지정하려면
environment.yml파일을 사용합니다.메타데이터 관련:
주의
고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.
OR REPLACE 및 IF NOT EXISTS 절은 상호 배타적입니다. 두 절을 같은 문에 함께 사용할 수 없습니다.
CREATE OR REPLACE <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 단일 트랜잭션으로 이전 오브젝트가 삭제되고 새 오브젝트가 생성됩니다.
예¶
스테이지에서 Streamlit 앱을 만들려면 다음 예시와 같이 CREATE STREAMLIT 명령을 실행합니다.
CREATE STREAMLIT hello_streamlit
FROM @streamlit_db.streamlit_schema.streamlit_stage
MAIN_FILE = 'streamlit_main.py'
QUERY_WAREHOUSE = my_warehouse;
Git 리포지토리에서 Streamlit 앱을 만들려면 다음 예시와 같이 CREATE STREAMLIT 명령을 실행합니다.
CREATE STREAMLIT hello_streamlit
FROM @streamlit_db.streamlit_schema.streamlit_repo/branches/streamlit_branch/
MAIN_FILE = 'streamlit_main.py'
QUERY_WAREHOUSE = my_warehouse;