작업 공간¶
개요¶
Workspaces는 데이터 분석, 모델 개발, 데이터 파이프라인 구축에 사용할 수 있는 여러 데이터 타입의 코드를 생성, 조직 및 관리할 수 있는 통합 편집기를 제공합니다.
워크스페이스 는 비공개이며 작업을 빌드, 실험 및 테스트할 수 있는 개발 환경을 제공합니다. 워크스페이스의 모든 내용은 파일 기반이므로 더 복잡한 프로젝트에서 작업하고 버전 관리, 협업 및 기존 워크플로와의 조정을 위해 Git과 쉽게 통합할 수 있습니다.
워크스페이스 환경¶
워크스페이스은 6개의 섹션 또는 창 으로 구성된 새로운 편집기입니다.

워크스페이스: 모든 파일과 폴더를 위한 1개의 공간. 파일을 드래그하여 폴더 간에 이동합니다. 중첩 폴더를 사용해 논리적인 카테고리 아래 관련 워크시트를 그룹화하면 평면적인 목록을 검색하지 않고도 특정 워크시트를 빠르게 찾을 수 있습니다. 각 사용자는 “내 워크스페이스”라는 기본 워크스페이스가 있으며, 이 워크스페이스는 Snowflake에 의해 자동으로 프로비저닝됩니다. Workspaces 메뉴에서 + Add New 를 선택하여 새 워크스페이스를 생성할 수도 있습니다. 기본 워크스페이스은 삭제하거나 이름을 변경할 수 없습니다.
워크시트: 소유하고 있거나 권한이 있는 워크시트를 열고 편집합니다. 워크시트에 대한 편집 권한만 있는 경우에는 편집 내용이 저장되지 않습니다. 워크시트를 워크스페이스의 파일로 변환하려면 워크시트를 워크스페이스 내의 폴더로 끌어서 놓습니다. 워크스페이스 쿼리는 몇 가지 작은 차이점(UI 성능 향상 및 동일한 SQL 파일에서 2개의 쿼리를 동시에 실행하는 기능 등)을 제외하고 워크시트와 유사하게 실행됩니다.
오브젝트 탐색기: 계정의 모든 데이터베이스, 각 데이터베이스의 스키마 및 기타 오브젝트를 유형별로 조직한 계층적 뷰입니다. 필터를 사용하여 오브젝트를 검색합니다. Show databases I can query 를 선택하여 사용할 수 없는 오브젝트를 필터링하여 뷰를 단순화할 수도 있습니다. 세로 줄임표
(추가 작업) 버튼에서 사용할 수 있는 옵션은 오브젝트 유형에 따라 다르지만 편집기에 이름 배치, 이름 복사본, 정의 보기와 같은 기능이 포함되어 있습니다.
편집기: 쿼리를 편집하고 나란히 분할하여 여러 파일을 동시에 볼 수 있습니다. 인라인 코파일럿을 사용하면 편집기 작업 영역 내에서 바로 제안 및 완성 기능을 이용할 수 있습니다.
결과: 결과를 나란히 분할하거나 고정하여 쉽게 비교할 수 있습니다.
쿼리 기록: 실행한 모든 쿼리의 기록을 봅니다. Current File 에는 편집기에서 현재 열려 있고 선택한 파일의 쿼리 기록이 표시됩니다. 현재 파일 또는 모든 파일로 필터링합니다. All Files 은 모든 파일에서 실행한 모든 과거 쿼리를 표시합니다.
파일 및 폴더 생성하기 및 작업하기¶
워크스페이스에서 익숙한 IDE 및 소스 제어 규칙을 사용하여 코드를 승인, 조직 및 실행할 수 있습니다.
Snowsight 에 로그인합니다.
탐색 메뉴에서 Projects » Workspaces 를 선택합니다.
해당 폴더 옆의 + 를 선택합니다. 워크스페이스를 처음 사용하는 경우 + Add New 를 선택합니다.
다음 옵션 중에서 선택하여 새 파일 또는 폴더를 생성하거나 기존 파일 또는 폴더를 업로드합니다.
SQL File: 편집기에 빈 SQL 파일을 편집기의 탭으로 새로 생성합니다. 기본적으로
.sql
은 이름 없는 파일에 추가됩니다. 편집기는 이를 SQL 파일로 인식하고 구문 강조 표시 및 자동 완성 기능을 활성화합니다.File: 새 파일을 생성합니다. 파일 이름과 확장자 이름을 지정합니다. 확장자이 편집기에서 인식되는 경우(예: Java, JavaScript 또는 Scala) 코드 강조 표시 및 자동 완성 기능이 활성화됩니다.
Folder: 워크스페이스 내에 새 빈 폴더를 생성합니다.
Upload Files: 워크스페이스의 원하는 위치에 1개 이상의 파일을 업로드하십시오. 편집기는 파일 확장자을 사용하며 파일을 열 때 적절한 아이콘, 동작 및 구문 강조 표시를 적용합니다. 예를 들어,
.sql
파일은 SQL 특정 기능을 표시합니다.Upload Folder: 선택한 워크스페이스에 추가할 파일 또는 폴더를 1개 이상 선택합니다.
파일 관리하기¶
워크스페이스, 파일, 폴더의 이름을 바꾸고, 삭제하고, 옮기고, 조직화할 수 있습니다.
워크스페이스, 파일 또는 폴더의 이름을 바꾸거나 삭제하려면 다음과 같이 하십시오.
워크스페이스에 폴더를 생성하려면 워크스페이스 옆의 + 또는 기존 폴더를 선택합니다.
파일과 폴더를 조직하려면 파일이나 폴더를 같은 워크스페이스의 다른 위치로 끌어서 놓습니다. 워크시트를 워크스페이스으로 끌어서 놓을 수도 있습니다.
1개의 레이아웃에서 여러 파일 또는 결과 보기¶
탭과 분할 창으로 여러 파일을 관리하면 여러 가지 장점이 있습니다.
코드 또는 결과를 나란히 비교하십시오. 다른 워크시트에서 작업하는 동안 한 워크시트 쿼리를 빠르게 참조할 수 있습니다.
더 효율적으로 멀티태스킹하십시오. 변환을 줄이면서 여러 셀, 출력 또는 파일을 한 번에 볼 수 있습니다.
워크스페이스 레이아웃을 조정하려면 Workspaces 창에서 세로 줄임표 (추가 작업)를 선택하고 적절한 옵션을 선택합니다.
Split right
Split down
Close others
Git 리포지토리와 통합하기¶
작업 영역은 Snowflake에 로컬로 설정하거나 개발 중인 작업 영역을 Git 리포지토리의 분기와 동기화할 수 있습니다. 워크스페이스에서는 가능합니다.
새 분기 생성하기, 분기 변환 또는 원격 분기 가져오기 .
Git 리포지토리의 최신 변경 내용을 워크스페이스로 가져옵니다.
업데이트된 파일 을 커밋하고 Git 리포지토리에 다시 푸시하십시오.
워크스페이스에서 직접 충돌을 확인하고 해결 하십시오.
Git 워크스페이스 생성하기¶
Snowsight 에서 직접 파일을 개발하고 관리하기 위해 Git 리포지토리에 연결된 워크스페이스을 생성할 수 있습니다.
Git 동기화된 새 워크스페이스를 생성하려면 다음과 같이 하십시오.
Snowsight 에 로그인합니다.
탐색 메뉴에서 Projects » Workspaces 를 선택합니다.
Workspaces 메뉴에서 From Git repository 를 선택합니다.
Git 리포지토리(예:
https://www.github.com/my-user/my-repo-name
)에서 URL 복사본을 복사한 다음 Repository URL 필드에 붙여넣습니다.선택 사항입니다. 새 Git 동기화 워크스페이스의 이름을 바꿉니다.
API Integration 메뉴에서 API 통합을 선택합니다.
API 통합은 계정 관리자가 생성할며 4단계에서 사용 중인 Git 리포지토리 URL 에 대한 액세스를 허용해야 합니다. 자세한 내용은 리포지토리 API와 상호 작용하기 위한 API 통합 만들기를 참조하십시오.
또한 GitHub 를 Git 공급자로 사용하고 인증에 OAuth 를 선호하는 경우 계정 관리자는 API 통합을 생성하여 OAuth 를 지원해야 합니다. 예:
CREATE OR REPLACE API INTEGRATION api_integration_name API_PROVIDER = git_https_api API_ALLOWED_PREFIXES = ('https://github.com/') API_USER_AUTHENTICATION = ( TYPE = snowflake_github_app ) ENABLED = TRUE;
API 통합에서 인증 방법을 선택합니다.
OAuth2 - GitHub 리포지토리로 인증하려면 Sign in 을 선택합니다. 로그인한 후에는 이후 세션에서 자격 증명을 제공할 필요가 없습니다. PrivateLink 환경에서는 OAuth2 를 사용할 수 없습니다.
Personal access token - 토큰이 포함된 오브젝트가 저장된 데이터베이스와 스키마를 선택합니다. 새 시크릿을 생성하려면 + Secret 을 선택하고 필수 권한을 입력합니다. API 통합은 이 시크릿 또는 모든 시크릿에 대한 액세스를 허용하도록 구성해야 합니다.
Public repository - 인증이 필요 없는 공개 리포지토리를 사용하는 경우 이 옵션을 선택합니다. 워크스페이스에서 이 공개 리포지토리로 변경 내용을 커밋하거나 푸시할 수 없습니다.
Create 를 선택합니다.
새 분기 생성하기¶
현재 분기에서 새 분기를 생성해 독립적으로 변경 작업을 할 수 있습니다.
Snowsight 에 로그인합니다.
탐색 메뉴에서 Projects » Workspaces 를 선택합니다.
Changes 탭을 선택합니다.
리포지토리 드롭다운을 선택합니다.
+ New 를 선택합니다.
새 분기 이름을 지정한 다음 Create 를 선택합니다.
다른 지점으로 변환¶
저장했지만 커밋하지 않은 변경 내용이 있는 경우 분기를 변환하기 전에 해당 변경 내용을 처리하는 방법을 선택해야 합니다.
Snowsight 에 로그인합니다.
탐색 메뉴에서 Projects » Workspaces 를 선택합니다.
Git 워크스페이스 뷰에서 Changes 를 선택합니다.
분기 메뉴에서 변환하려는 분기를 선택합니다.
팁: 목록을 필터링하려면 분기 이름을 입력하십시오.
원격 분기 가져오기¶
Snowsight 외부에서 새 분기를 만든 경우(예: Git 공급자에서 만든 분기) Fetch All 옵션을 사용하여 Git 동기화 작업 영역으로 가져올 수 있습니다. 그러면 사용 가능한 원격 지점 목록이 업데이트됩니다.
Snowsight 에 로그인합니다.
탐색 메뉴에서 Projects » Workspaces 를 선택합니다.
Git 워크스페이스 뷰에서 Changes 를 선택합니다.
Pull 메뉴 옆의 아래쪽 화살표를 선택한 다음 Fetch All 을 선택합니다. 가져오기가 완료되면 새로 생성된 원격 분기가 분기 목록에 나타나고 체크아웃에 사용할 수 있습니다.
업데이트된 파일 보기¶
마지막으로 커밋 및 푸시에 성공한 이후 추가, 삭제 또는 수정된 모든 파일을 뷰로 볼 수 있습니다.
Snowsight 에 로그인합니다.
탐색 메뉴에서 Projects » Workspaces 를 선택합니다.
폴더 뷰 상단에서 Changes 를 선택합니다. 수정된 파일은 M, 추가된 파일은 A, 삭제된 파일은 D 로 표시됩니다 .
편집기에서 변경 사항의 시각적 차이를 보려면 파일을 선택합니다.
업데이트 커밋 및 푸시¶
변경 내용을 검토한 후에는 워크스페이스 내에서 원격 Git 리포지토리에 커밋하고 푸시할 수 있습니다.
업데이트된 파일을 원격 Git 리포지토리에 커밋하고 푸시합니다.
Snowsight 에 로그인합니다.
탐색 메뉴에서 Projects » Workspaces 를 선택합니다.
폴더 뷰 상단에서 Changes 를 선택합니다.
Commit message 필드에 커밋 메시지를 작성합니다.
Push 을 선택합니다.
커밋 메시지를 작성하고 Push 를 선택하여 업데이트를 Git 리포지토리에 푸시합니다.
참고
충돌이 감지되면 먼저 끌어오라는 메시지가 표시됩니다. Pull 을 선택하여 충돌이 있는 파일 목록을 검토합니다.
충돌 보기 및 해결하기¶
푸시 중에 충돌이 발생하면 다시 커밋하기 전에 워크스페이스에서 직접 충돌을 확인하고 해결할 수 있습니다.
워크스페이스의 폴더 뷰 상단에서 Changes 를 선택합니다. 1개 이상의 파일에 충돌이 있는 경우 뷰 상단에 메시지가 표시됩니다. 충돌이 있는 파일은 빨간색 M 으로 표시됩니다.
편집기에서 충돌의 시각적 차이를 보려면 파일을 선택합니다. File with conflicts 에서 차이점은 인라인으로 강조 표시되어 있습니다.
현재 변경 사항, 수신되는 변경 사항 또는 두 가지 변경 사항을 모두 수락합니다. 병합 결과가 표시됩니다.
Diff View 에서 현재 버전과 원격 버전을 나란히 볼 수 있습니다.
Accept all current 또는 Accept all remote 를 선택합니다.
충돌을 해결한 후 Push 를 선택합니다.
커밋 메시지를 작성합니다.
Push 을 선택합니다.
바로 가기 키¶
워크시트는 키보드 단축키를 제공하여 빠르게 탐색하고, 뷰를 사용자 지정하고, 쿼리를 편집할 수 있도록 도와줍니다. 다음 테이블에는 일반적으로 사용되는 키보드 단축키가 식별되어 있습니다.
작업 |
MacOS 바로 가기 |
Windows 바로 가기 |
---|---|---|
선택한 항목 실행 |
CMD + Return |
CTRL + Enter |
모두 실행 |
CMD + Shift + Return |
CTRL + Alt + Enter |
창을 가로로 분할 |
CTRL + \ |
CTRL + \ |
창을 세로로 분할 |
CTRL + Shift + \ |
CTRL + Shift + \ |
워크스페이스 관리하기¶
워크스페이스를 비활성화하려면 ENABLE_PERSONAL_DATABASE 계정 수준 매개 변수를 FALSE 로 설정합니다.
ALTER ACCOUNT SET ENABLE_PERSONAL_DATABASE = FALSE;
이 매개 변수를 사용하려면 ACCOUNTADMIN 권한이 필요합니다. FALSE
로 설정한 후에는 워크스페이스가 함수 함수를 수행하지 않지만 Snowsight 탐색 메뉴에는 워크스페이스가 계속 목록에 표시됩니다.
보조 역할을 워크스페이스에 사용하도록 설정할 필요는 없지만, 보조 역할을 명시적으로 차단하는 세션 정책이 있는 경우 현재 제한으로 인해 세션 정책이 제거될 때까지 워크스페이스가 함수할 수 없습니다.
고려 사항¶
사용자가 처음으로 워크스페이스에 액세스하면 Snowflake는 내부의 사용자별 데이터베이스(이전에는 개인 데이터베이스)를 자동으로 생성합니다. 이 데이터베이스는 워크스페이스를 저장하는 데만 사용되며 테이블이나 뷰와 같은 표준 오브젝트를 포함할 수 없습니다. 사용자에게 워크스페이스 기능을 활성화하는 것 외에 어떠한 추가 기능이나 권한도 부여하지 않습니다.
관리자는 사용자가 이 데이터베이스에 대해 OWNERSHIP, USAGE, CREATE SCHEMA 권한이 있는 것으로 표시되는 것을 확인할 수 있습니다. 이러한 권한은 워크스페이스와 상호 작용하는 데 필요한 필수이며 다른 리소스에 대한 액세스에는 영향을 미치지 않습니다.
제한 사항¶
워크스페이스는 공유를 지원하지 않습니다.
쿼리 필터는 지원되지 않습니다. 필터가 포함된 쿼리는 모두 실패합니다.
워크스페이스 파일은 Universal Search 결과에 포함되지 않습니다.
새 워크스페이스 UI 와 이전 워크시트 UI 에서 동일한 워크시트를 동시에 열고 편집하면 변경 내용이 손실될 수 있습니다.
워크시트의 경우 실행 컨텍스트 설정(역할, 웨어하우스 및 네임스페이스)이 새 워크시트 UI 와 이전 워크시트 UI 간에 동기화되지 않습니다.