CREATE STREAMLIT¶
Creates a new Streamlit object in Snowflake or replaces an existing Streamlit object in the same schema.
구문¶
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 is a legacy parameter and may be deprecated in a future release. For Streamlit apps created using ROOT_LOCATION, multi-file editing and Git integration are not supported.
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> [ , ... ] ) ]
필수 매개 변수¶
nameSpecifies the identifier (i.e. name) for the Streamlit object. This identifier must be unique for the schema where the object is created.
In addition, the identifier must start with an alphabetic character and can’t contain spaces or special characters unless the entire identifier string is enclosed in double quotes (e.g.
"My object"). Identifiers enclosed in double quotes are also case-sensitive.자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
선택적 매개 변수¶
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_nameSpecifies the warehouse to run the app and execute SQL queries issued by the Streamlit app.
DEFAULT: 값 없음
참고
이 매개 변수 없이 Streamlit 오브젝트를 생성할 수 있지만, 쿼리 웨어하우스를 지정할 때까지 앱이 실행되지 않습니다.
COMMENT = 'string_literal'Streamlit 오브젝트에 대한 설명을 명시합니다.
DEFAULT: 값 없음
TITLE = 'app_title'Specifies a title for the Streamlit object to display in Snowsight.
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'Specifies the path to the named stage containing the Streamlit Python files, media files, and the
environment.ymlfile, for example: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>`이 있어야 합니다.
권한 |
오브젝트 |
Notes |
|---|---|---|
CREATE STREAMLIT |
Schema where you create the Streamlit object |
|
READ |
Streamlit 앱 소스 파일을 복사하는 스테이지 |
|
CREATE STAGE |
Schema where you create the Streamlit object |
이 권한은 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의 메타데이터 필드 섹션을 참조하십시오.
The OR REPLACE and IF NOT EXISTS clauses are mutually exclusive. They can’t both be used in the same statement.
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;