Google Drive용 Openflow Connector 설정하기¶
참고
커넥터에는 커넥터 약관 이 적용됩니다.
이 도움말 항목에서는 Google Drive용 Openflow Connector를 설정하는 단계에 대해 설명합니다.
전제 조건¶
Google Drive용 Openflow Connector 을 검토했는지 확인합니다.
Openflow를 설정 했는지 확인합니다.
자격 증명 받기¶
커넥터를 설정하려면 특정 권한과 계정 설정이 필요하며, 이를 통해 Snowflake Openflow 프로세서가 Google에서 데이터를 읽을 수 있습니다. 이 액세스는 부분적으로 서비스 계정과 해당 서비스 계정으로 인증하기 위한 Openflow용 키를 설정하여 제공됩니다. 자세한 내용은 다음을 참조하십시오.
Google Drive 관리자는 다음 단계를 수행합니다.
전제 조건¶
다음 요구 사항을 충족하는지 확인하십시오.
슈퍼 관리자 권한이 있는 Google 사용자가 있습니다
다음과 같은 역할을 하는 Google Cloud Project가 있습니다.
조직 정책 관리자
조직 관리자
서비스 계정 키 생성 활성화하기¶
기본적으로 Google은 서비스 계정 키 생성을 비활성화합니다. Openflow에서 서비스 계정 JSON 을 사용하려면 이 키 생성 정책을 해제해야 합니다.
조직 정책 관리자 역할이 있는 슈퍼 관리자 계정으로 Google Cloud Console 에 로그인합니다.
조직 내 프로젝트가 아닌 조직과 연결된 프로젝트에 있는지 확인하십시오.
Organization Policies 를 클릭합니다.
Disable service account key creation 정책을 선택합니다.
Manage Policy 를 클릭하고 적용을 해제합니다.
Set Policy 를 클릭합니다.
서비스 계정 및 키 생성하기¶
Google Cloud Console 을 열고 서비스 계정을 생성할 수 있는 액세스 권한이 부여된 사용자를 사용하여 인증합니다.
소속 조직의 프로젝트에 속해 있는지 확인합니다.
왼쪽 탐색의 IAM & Admin 에서 Service Accounts 탭을 선택합니다.
Create Service Account 를 클릭합니다.
서비스 계정 이름을 입력하고 Create and Continue 를 클릭합니다.
Done 을 클릭합니다. 서비스 계정이 나열된 테이블에서 OAuth 2 Client ID 열을 찾습니다. 나중에 다음 섹션에서 도메인 전체 위임을 설정하는 데 필요하므로 ID 클라이언트를 복사본으로 만드십시오.
새로 생성한 서비스 계정에서 해당 서비스 계정에 대한 서비스 계정이 나열된 테이블 아래의 메뉴를 클릭하고 Manage keys 를 선택합니다.
Add key 을 선택한 다음 Create new key 를 선택합니다.
기본 선택 사항인 JSON 을 그대로 두고 Create 를 클릭합니다.
키는 브라우저 다운로드 디렉터리에 .json 파일로 다운로드됩니다.
나열된 범위에 대한 서비스 계정 도메인 전체 위임 부여¶
Google 관리자 계정에 로그인합니다.
Google Apps selector 에서 Admin 을 선택합니다.
왼쪽 탐색에서 Security 를 확장한 다음, Access 를 선택하고 Data control 을 클릭한 후 API Controls 을 클릭합니다.
API Controls 화면에서 Manage domain wild delegation 을 선택합니다.
Add new 를 클릭합니다.
서비스 계정 및 키 생성하기 섹션에서 가져온 OAuth 2 클라이언트 ID 와 다음 범위를 입력합니다.
Authorize 를 클릭합니다.
Snowflake 계정 설정하기¶
Snowflake 계정 관리자는 수동으로 또는 아래 포함된 스크립트를 사용하여 다음 작업을 수행합니다.
새 역할을 생성하거나 기존 역할을 사용하여 데이터베이스 권한 권한을 부여합니다.
유형이 SERVICE 인 새 Snowflake 서비스 사용자를 생성합니다.
Snowflake 서비스 사용자에게 이전 단계에서 생성한 역할을 부여합니다.
2단계의 Snowflake SERVICE 사용자에 대해 키 페어 인증 으로 구성합니다.
Snowflake는 이 단계를 강력히 권장합니다. Openflow에서 지원하는 시크릿 관리자(예: AWS, Azure, Hashicorp)를 구성하고 공개 및 개인 키를 시크릿 스토어에 저장합니다.
참고
어떤 이유로든 시크릿 관리자를 사용하지 않으려면 조직의 보안 정책에 따라 키 페어 인증에 사용되는 공개 키와 개인 키 파일을 보호할 책임이 있습니다.
시크릿 관리자가 구성되면 인증 방법을 결정합니다. AWS 에서는 다른 시크릿을 유지할 필요가 없으므로 Openflow와 연결된 EC2 인스턴스 역할을 사용하는 것이 좋습니다.
Openflow에서 오른쪽 상단의 햄버거 메뉴에서 이 시크릿 관리자와 연결된 매개 변수 공급자를 구성합니다. Controller Settings » Parameter Provider 로 이동한 다음 매개 변수 값을 가져옵니다.
이 시점에서 모든 자격 증명은 연결된 매개 변수 경로로 참조할 수 있으며 민감한 값은 Openflow 내에서 유지될 필요가 없습니다.
다른 Snowflake 사용자가 커넥터에서 수집한 원시 수집 문서 및 테이블에 대한 액세스가 필요한 경우(예: Snowflake에서 사용자 정의 처리를 위해), 해당 사용자에게 1단계에서 생성한 역할을 부여하십시오.
커넥터가 사용할 웨어하우스를 지정합니다. 가장 작은 데이터 웨어하우스 크기로 시작한 다음 복제되는 테이블 수와 전송되는 데이터의 양에 따라 크기를 실험해 보십시오. 테이블 수가 많은 경우 일반적으로 더 큰 규모의 웨어하우스보다는 멀티 클러스터 웨어하우스 에서 확장이 더 쉽습니다.
예시 설정¶
--The following script assumes you'll need to create all required roles, users, and objects. --However, you may want to reuse some that are already in existence. --Create a Snowflake service user to manage the connector USE ROLE USERADMIN; CREATE USER <openflow_service_user> TYPE=SERVICE COMMENT='Service user for Openflow automation'; --Create a pair of secure keys (public and private). For more information, see --key-pair authentication. Store the private key for the user in a file to supply --to the connector’s configuration. Assign the public key to the Snowflake service user: ALTER USER <openflow_service_user> SET RSA_PUBLIC_KEY = '<pubkey>'; --Create a role to manage the connector and the associated data and --grant it to that user USE ROLE SECURITYADMIN; CREATE ROLE <openflow_connector_admin_role>; GRANT ROLE <openflow_connector_admin_role> TO USER <openflow_service_user>; --The following block is for USE CASE 2 (Cortex connect) ONLY --Create a role for read access to the cortex search service created by this connector. --This role should be granted to any role that will use the service CREATE ROLE <cortex_search_service_read_only_role>; GRANT ROLE <cortex_search_service_read_only_role> TO ROLE <whatever_roles_will_access_search_service>; --Create the database the data will be stored in and grant usage to the roles created USE ROLE ACCOUNTADMIN; --use whatever role you want to own your DB CREATE DATABASE IF NOT EXISTS <destination_database>; GRANT USAGE ON DATABASE <destination_database> TO ROLE <openflow_connector_admin_role>; --Create the schema the data will be stored in and grant the necessary privileges --on that schema to the connector admin role: USE DATABASE <destination_database>; CREATE SCHEMA IF NOT EXISTS <destination_schema>; GRANT USAGE ON SCHEMA <destination_schema> TO ROLE <openflow_connector_admin_role>; GRANT CREATE TABLE, CREATE DYNAMIC TABLE, CREATE STAGE, CREATE SEQUENCE, CREATE CORTEX SEARCH SERVICE ON SCHEMA <destination_schema> TO ROLE <openflow_connector_admin_role>; --The following block is for CASE 2 (Cortex connect) ONLY --Grant the Cortex read-only role access to the database and schema GRANT USAGE ON DATABASE <destination_database> TO ROLE <cortex_search_service_read_only_role>; GRANT USAGE ON SCHEMA <destination_schema> TO ROLE <cortex_search_service_read_only_role>; --Create the warehouse this connector will use if it doesn't already exist. Grant the --appropriate privileges to the connector admin role. Adjust the size according to your needs. CREATE WAREHOUSE <openflow_warehouse> WITH WAREHOUSE_SIZE = 'MEDIUM' AUTO_SUSPEND = 300 AUTO_RESUME = TRUE; GRANT USAGE, OPERATE ON WAREHOUSE <openflow_warehouse> TO ROLE <openflow_connector_admin_role>;
사용 사례 1: 커넥터 정의를 사용하여 파일만 수집하기¶
커넥터 정의를 사용합니다.
수집된 파일에 대한 사용자 지정 처리 수행
Google Drive 파일 및 권한을 수집하고 최신 상태로 유지하십시오
커넥터 설정하기¶
데이터 엔지니어는 다음 작업을 수행하여 커넥터를 설치하고 구성합니다.
커넥터 설치하기¶
Openflow 개요 페이지로 이동합니다. Featured connectors 섹션에서 View more connectors 을 선택합니다.
Openflow Connector 페이지에서 커넥터를 찾아 Add to runtime 을 선택합니다.
Select runtime 대화 상자의 Available runtimes 드롭다운 목록에서 런타임을 선택합니다.
Add 를 선택합니다.
참고
커넥터를 설치하기 전에 커넥터가 수집한 데이터를 저장할 수 있도록 Snowflake에서 데이터베이스와 스키마를 생성했는지 확인하십시오.
Snowflake 계정 자격 증명으로 배포를 인증하고 런타임 애플리케이션이 Snowflake 계정에 액세스할 수 있도록 허용할지 묻는 메시지가 표시되면 Allow 를 선택합니다. 커넥터 설치 프로세스를 완료하는 데 몇 분 정도 걸립니다.
Snowflake 계정 자격 증명으로 런타임에 인증합니다.
커넥터 프로세스 그룹이 추가된 Openflow 캔버스가 표시됩니다.
커넥터 구성¶
가져온 프로세스 그룹을 마우스 오른쪽 버튼으로 클릭하고 Parameters 를 선택합니다.
Google Drive Source Parameters, Google Drive Destination Parameters 및 Google Drive Ingestion Parameters 에 설명된 대로 필수 매개 변수 값을 입력합니다.
Google Drive Source Parameters¶
매개 변수 |
설명 |
---|---|
Google 위임 사용자 |
서비스 계정에서 사용하는 사용자 |
GCP 서비스 계정 JSON |
커넥터에서 Google APIs 에 액세스할 수 있도록 Google Cloud Console에서 다운로드한 서비스 계정 JSON |
Google Drive Destination Parameters¶
매개 변수 |
설명 |
---|---|
대상 데이터베이스 |
데이터가 유지될 데이터베이스입니다. Snowflake에 이미 존재해야 합니다 |
대상 스키마 |
데이터가 유지될 스키마입니다. Snowflake에 이미 존재해야 합니다 |
Snowflake 계정 식별자 |
Snowflake 계정 이름은 [organization-name]-[account-name] 형식으로 형식이 지정되며, 데이터는 여기에 영구적으로 저장됩니다. |
Snowflake Authentication Strategy |
Snowflake에 대한 인증 전략. 가능한 값: SNOWFLAKE_SESSION_TOKEN - SPCS 에서 플로우를 실행하는 경우, 개인 키를 사용하여 액세스를 설정하려는 경우 KEY_PAIR |
Snowflake 개인 키 |
인증에서 사용되는 RSA 개인 키입니다. RSA 키는 PKCS8 표준에 따라 형식이 지정되어야 하며 표준 PEM 헤더와 푸터가 있어야 합니다. Snowflake 개인 키 파일 또는 Snowflake 개인 키 중 하나를 정의해야 합니다 |
Snowflake 개인 키 파일 |
PKCS8 표준에 따라 형식이 지정되고 표준 PEM 헤더와 푸터가 있는 Snowflake 인증에 사용되는 RSA 개인 키가 포함된 파일입니다. 헤더 라인은 |
Snowflake 개인 키 비밀번호 |
Snowflake 개인 키 파일과 연결된 비밀번호입니다 |
Snowflake 역할 |
쿼리 실행 중에 사용되는 Snowflake 역할 |
Snowflake 사용자 이름 |
Snowflake 인스턴스에 연결하는 데 사용되는 사용자 이름입니다 |
Snowflake 웨어하우스 |
쿼리 실행에 사용되는 Snowflake 웨어하우스 |
Google Drive Ingestion Parameters¶
매개 변수 |
설명 |
---|---|
Google Drive ID |
콘텐츠 및 업데이트를 확인할 수 있는 Google Shared Drive |
Google Folder Name |
선택적으로 Google Drive 폴더 식별자(사람이 읽을 수 있는 폴더 이름)를 설정하여 수신 파일을 필터링할 수 있습니다. 모든 파일 유형을 원하는 경우’빈 문자열 설정’을 선택합니다. 설정하면 제공된 폴더 또는 하위 폴더에 있는 파일만 검색됩니다. 비어 있거나 설정되지 않은 경우 폴더 필터링이 적용되지 않고 드라이브 아래의 모든 파일이 검색됩니다. |
Google 도메인 |
Google 그룹 및 드라이브가 상주하는 Google 워크스페이스 도메인입니다. |
수집할 파일 확장자 |
수집할 파일 확장자를 지정하는 쉼표로 구분된 목록입니다. 커넥터는 가능하면 먼저 파일을 PDF 형식으로 변환하려고 시도합니다. 그럼에도 불구하고 확장자 검사는 원본 파일 확장자에 대해 수행됩니다. 지정된 파일 확장자 중 일부가 Cortex Parse Document에서 지원되지 않는 경우 커넥터는 해당 파일을 무시하고 이벤트 로그에 경고 메시지를 기록하고 다른 파일을 계속 처리합니다. |
Snowflake 파일 해시 테이블 이름 |
파일 내용 해시를 저장하는 데 사용되는 내부 테이블로, 내용이 변경되지 않은 경우 내용 업데이트를 방지합니다. |
평면을 마우스 오른쪽 버튼으로 클릭하고 Enable all Controller Services 를 선택합니다.
가져온 프로세스 그룹을 마우스 오른쪽 버튼으로 클릭하고 Start 를 선택합니다. 커넥터가 데이터 수집을 시작합니다.
사용 사례 2: 커넥터 정의를 사용하여 파일을 수집하고 Cortex로 처리 성능 수행하기¶
미리 정의된 플로우 정의를 사용합니다.
조직의 Google Drive에 공개 문서를 위한 AI 헬퍼를 생성합니다.
AI 어시스턴트가 조직의 Google Drive에 지정된 액세스 제어를 준수하도록 설정하십시오.
커넥터 설정하기¶
데이터 엔지니어는 다음 작업을 수행하여 커넥터를 설치하고 구성합니다.
커넥터 설치하기¶
Openflow 개요 페이지로 이동합니다. Featured connectors 섹션에서 View more connectors 을 선택합니다.
Openflow Connector 페이지에서 커넥터를 찾아 Add to runtime 을 선택합니다.
Select runtime 대화 상자의 Available runtimes 드롭다운 목록에서 런타임을 선택합니다.
Add 를 선택합니다.
참고
커넥터를 설치하기 전에 커넥터가 수집한 데이터를 저장할 수 있도록 Snowflake에서 데이터베이스와 스키마를 생성했는지 확인하십시오.
Snowflake 계정 자격 증명으로 배포를 인증하고 런타임 애플리케이션이 Snowflake 계정에 액세스할 수 있도록 허용할지 묻는 메시지가 표시되면 Allow 를 선택합니다. 커넥터 설치 프로세스를 완료하는 데 몇 분 정도 걸립니다.
Snowflake 계정 자격 증명으로 런타임에 인증합니다.
커넥터 프로세스 그룹이 추가된 Openflow 캔버스가 표시됩니다.
커넥터 구성¶
가져온 프로세스 그룹을 마우스 오른쪽 버튼으로 클릭하고 Parameters 를 선택합니다.
Google Drive Cortex 연결 소스 매개 변수, Google Drive Cortex 연결 대상 매개 변수 및 Google Drive Cortex 연결 수집 매개 변수 에 설명된 대로 필수 값을 입력합니다.
Google Drive Cortex Connect Source Parameters¶
매개 변수 |
설명 |
---|---|
Google 위임 사용자 |
서비스 계정에서 사용하는 사용자 |
GCP 서비스 계정 JSON |
커넥터에서 Google APIs 에 액세스할 수 있도록 Google Cloud Console에서 다운로드한 서비스 계정 JSON |
Google Drive Cortex Connect Destination Parameters¶
매개 변수 |
설명 |
---|---|
대상 데이터베이스 |
데이터가 유지될 데이터베이스입니다. Snowflake에 이미 존재해야 합니다 |
대상 스키마 |
데이터가 유지될 스키마입니다. Snowflake에 이미 존재해야 합니다 |
Snowflake 계정 식별자 |
Snowflake 계정 이름은 [organization-name]-[account-name] 형식으로 형식이 지정되며, 데이터는 여기에 영구적으로 저장됩니다. |
Snowflake Authentication Strategy |
Snowflake에 대한 인증 전략. 가능한 값: SNOWFLAKE_SESSION_TOKEN - SPCS 에서 플로우를 실행하는 경우, 개인 키를 사용하여 액세스를 설정하려는 경우 KEY_PAIR |
Snowflake 개인 키 |
인증에서 사용되는 RSA 개인 키입니다. RSA 키는 PKCS8 표준에 따라 형식이 지정되어야 하며 표준 PEM 헤더와 푸터가 있어야 합니다. Snowflake 개인 키 파일 또는 Snowflake 개인 키 중 하나를 정의해야 합니다 |
Snowflake 개인 키 파일 |
PKCS8 표준에 따라 형식이 지정되고 표준 PEM 헤더와 푸터가 있는 Snowflake 인증에 사용되는 RSA 개인 키가 포함된 파일입니다. 헤더 라인은 |
Snowflake 개인 키 비밀번호 |
Snowflake 개인 키 파일과 연결된 비밀번호입니다 |
Snowflake 역할 |
쿼리 실행 중에 사용되는 Snowflake 역할 |
Snowflake 사용자 이름 |
Snowflake 인스턴스에 연결하는 데 사용되는 사용자 이름입니다 |
Snowflake 웨어하우스 |
쿼리 실행에 사용되는 Snowflake 웨어하우스 |
Google Drive Cortex Connect Ingestion Parameters¶
매개 변수 |
설명 |
---|---|
Google Drive ID |
콘텐츠 및 업데이트를 확인할 수 있는 Google Shared Drive |
Google Folder Name |
|
Google 도메인 |
Google 그룹 및 드라이브가 상주하는 Google 워크스페이스 도메인입니다. |
OCR 모드 |
Cortex PARSE_DOCUMENT 함수로 파일을 구문 분석할 때 사용하는 OCR 모드입니다. 값은 |
수집할 파일 확장자 |
수집할 파일 확장자를 지정하는 쉼표로 구분된 목록입니다. 커넥터는 가능하면 먼저 파일을 PDF 형식으로 변환하려고 시도합니다. 그럼에도 불구하고 확장자 검사는 원본 파일 확장자에 대해 수행됩니다. 지정된 파일 확장자 중 일부가 Cortex Parse Document에서 지원되지 않는 경우 커넥터는 해당 파일을 무시하고 이벤트 로그에 경고 메시지를 기록하고 다른 파일을 계속 처리합니다. |
Snowflake 파일 해시 테이블 이름 |
파일 내용 해시를 저장하는 데 사용되는 내부 테이블로, 내용이 변경되지 않은 경우 내용 업데이트를 방지합니다. |
Snowflake Cortex Search Service 사용자 역할 |
Cortex Search Service에 대한 사용 권한이 할당된 역할의 식별자입니다. |
평면을 마우스 오른쪽 버튼으로 클릭하고 Enable all Controller Services 를 선택합니다.
가져온 프로세스 그룹을 마우스 오른쪽 버튼으로 클릭하고 Start 를 선택합니다. 커넥터가 데이터 수집을 시작합니다.
사용 사례 3: 커넥터 정의 사용자 지정하기¶
커넥터 정의를 사용자 지정합니다.
수집된 파일을 Document AI 로 처리합니다.
수집된 파일에 대해 사용자 정의 처리를 수행합니다.
커넥터 설정하기¶
데이터 엔지니어는 다음 작업을 수행하여 커넥터를 설치하고 구성합니다.
커넥터 설치하기¶
Openflow 개요 페이지로 이동합니다. Featured connectors 섹션에서 View more connectors 을 선택합니다.
Openflow Connector 페이지에서 커넥터를 찾아 Add to runtime 을 선택합니다.
Select runtime 대화 상자의 Available runtimes 드롭다운 목록에서 런타임을 선택합니다.
Add 를 선택합니다.
참고
커넥터를 설치하기 전에 커넥터가 수집한 데이터를 저장할 수 있도록 Snowflake에서 데이터베이스와 스키마를 생성했는지 확인하십시오.
Snowflake 계정 자격 증명으로 배포를 인증하고 런타임 애플리케이션이 Snowflake 계정에 액세스할 수 있도록 허용할지 묻는 메시지가 표시되면 Allow 를 선택합니다. 커넥터 설치 프로세스를 완료하는 데 몇 분 정도 걸립니다.
Snowflake 계정 자격 증명으로 런타임에 인증합니다.
커넥터 프로세스 그룹이 추가된 Openflow 캔버스가 표시됩니다.
커넥터 구성¶
커넥터 정의를 사용자 지정합니다.
다음 프로세스 그룹을 제거합니다.
중복 내용 확인
Snowflake 스테이지 및 구문 분석 PDF
Snowflake Cortex 업데이트
프로세스 Google Drive 메타데이터 프로세스 그룹의 출력에 사용자 지정 처리를 첨부합니다. 각 플로우 파일은 1개의 Google Drive 파일 변경을 나타냅니다. 플로우 파일 특성은
Fetch Google Drive Metadata
설명서를 참조하십시오.
프로세스 그룹 매개 변수를 채웁니다. 사용 사례 1: 커넥터 정의를 사용하여 파일만 수집 과 동일한 프로세스를 따르십시오. 커넥터 정의를 수정한 후에는 모든 매개 변수가 요구되지 않을 수도 있습니다.
플로우 실행¶
플로우를 실행합니다.
프로세스 그룹을 시작합니다. 이 플로우는 Snowflake 내부에 모든 필수 오브젝트를 생성합니다.
가져온 프로세스 그룹을 마우스 오른쪽 버튼으로 클릭하고 Start 를 선택합니다.
Cortex Search Service 쿼리하기¶
Cortex Search 서비스를 사용하여 채팅 및 검색 애플리케이션을 구축하여 Google Drive에 있는 문서를 채팅하거나 쿼리할 수 있습니다.
커넥터를 설치 및 구성하고 Google Drive에서 내용을 수집하기 시작하면 Cortex Search 서비스e에 쿼리할 수 있습니다. Cortex Search 사용에 대한 자세한 내용은 Cortex Search Service 쿼리하기 섹션을 참조하십시오.
응답 필터링하기
특정 사용자가 Google Drive에서 액세스할 수 있는 문서로만 Cortex Search Service의 응답을 제한하려면 Cortex Search를 쿼리할 때 ID 또는 사용자의 이메일 주소가 포함된 필터를 지정할 수 있습니다. 예를 들어, filter.@contains.user_ids
또는 filter.@contains.user_emails
. 커넥터가 생성한 Cortex Search Service의 이름은 Cortex
스키마에서 search_service
입니다.
SQL 워크시트에서 다음 SQL 코드를 실행하여 Google Drive에서 수집한 파일로 Cortex Search Service를 쿼리하십시오.
다음을 바꿉니다.
application_instance_name
: 데이터베이스 및 커넥터 애플리케이션 인스턴스의 이름입니다.user_emailID
: 응답을 필터링하려는 사용자의 이메일 ID 입니다.your_question
: 응답을 받고자 하는 질문입니다.number_of_results
: 응답에서 반환할 결과의 최대 개수입니다. 최대값은 1,000이고 기본값은 10입니다.
SELECT PARSE_JSON(
SNOWFLAKE.CORTEX.SEARCH_PREVIEW(
'<application_instance_name>.cortex.search_service',
'{
"query": "<your_question>",
"columns": ["chunk", "web_url"],
"filter": {"@contains": {"user_emails": "<user_emailID>"} },
"limit": <number_of_results>
}'
)
)['results'] AS results
columns
에 입력할 수 있는 전체 값 목록은 다음과 같습니다.
열 이름 |
타입 |
설명 |
---|---|---|
|
String |
Google Drive 문서 루트에서 파일에 대한 전체 경로입니다. 예: |
|
String |
브라우저에 원본 Google Drive 파일을 표시하는 URL 입니다. |
|
String |
항목이 가장 최근에 수정된 날짜 및 시간입니다. |
|
String |
문서의 텍스트 중 Cortex Search 쿼리와 일치하는 부분입니다. |
|
배열 |
문서에 액세스할 수 있는 Microsoft 365 사용자 IDs 의 배열입니다. 또한 문서에 할당된 모든 Microsoft 365 그룹의IDs사용자도 포함됩니다. 특정 사용자 ID 를 찾으려면, 사용자 가져오기 섹션을 참조하십시오. |
|
배열 |
문서에 액세스할 수 있는 Microsoft 365 사용자 이메일 IDs 의 배열입니다. 또한 문서에 할당된 모든 Microsoft 365 그룹의 사용자 이메일 IDs 도 포함됩니다. |
예시: AI 어시스턴트에게 인적 리소스(HR) 정보 쿼리하기
Cortex Search를 사용하여 직원들이 온보딩, 행동 강령, 팀 프로세스 및 조직 정책과 같은 최신 버전의 HR 정보에 대해 채팅할 수 있도록 AI 어시스턴트에게 쿼리할 수 있습니다. 응답 필터를 사용하여 HR 팀원이 Google Drive에 구성된 액세스 제어를 준수하면서 직원 계약서를 쿼리할 수 있도록 허용할 수도 있습니다.
SQL 워크시트 에서 다음을 실행하여 Google Drive에서 수집한 파일로 Cortex Search Service를 쿼리하십시오. 데이터베이스를 애플리케이션 인스턴스 이름으로 선택하고 스키마를 Cortex 로 선택합니다.
다음을 바꿉니다.
application_instance_name
: 데이터베이스 및 커넥터 애플리케이션 인스턴스의 이름입니다.user_emailID
: 응답을 필터링하려는 사용자의 이메일 ID 입니다.
SELECT PARSE_JSON(
SNOWFLAKE.CORTEX.SEARCH_PREVIEW(
'<application_instance_name>.cortex.search_service',
'{
"query": "What is my vacation carry over policy?",
"columns": ["chunk", "web_url"],
"filter": {"@contains": {"user_emails": "<user_emailID>"} },
"limit": 1
}'
)
)['results'] AS results
Python 워크시트 에서 다음 코드를 실행하여 Google Drive에서 수집한 파일로 Cortex Search Service를 쿼리하십시오. 데이터베이스에 snowflake.core
패키지를 추가해야 합니다.
다음을 바꿉니다.
application_instance_name
: 데이터베이스 및 커넥터 애플리케이션 인스턴스의 이름입니다.user_emailID
: 응답을 필터링하려는 사용자의 이메일 ID 입니다.
import snowflake.snowpark as snowpark
from snowflake.snowpark import Session
from snowflake.core import Root
def main(session: snowpark.Session):
root = Root(session)
# fetch service
my_service = (root
.databases["<application_instance_name>"]
.schemas["cortex"]
.cortex_search_services["search_service"]
)
# query service
resp = my_service.search(
query="What is my vacation carry over policy?",
columns = ["chunk", "web_url"],
filter = {"@contains": {"user_emails": "<user_emailID>"} },
limit=1
)
return (resp.to_json())
명령줄 인터페이스에서 다음 코드를 실행하여 Google Drive에서 수집한 파일로 Cortex Search Service를 쿼리하십시오. 키 페어 인증과 OAuth 를 통해 인증해야 Snowflake REST APIs 에 접속할 수 있습니다. 자세한 내용은 Rest API 및 Snowflake를 사용하여 Snowflake REST APIs 인증하기 섹션을 참조하십시오.
다음을 바꿉니다.
application_instance_name
: 데이터베이스 및 커넥터 애플리케이션 인스턴스의 이름입니다.account_url
: Snowflake 계정의 URL. 계정 URL 찾기에 대한 지침은 계정의 조직 및 계정 이름 찾기 섹션을 참조하십시오.
curl --location "https://<account_url>/api/v2/databases/<application_instance_name>/schemas/cortex/cortex-search-services/search_service" \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header "Authorization: Bearer <CORTEX_SEARCH_JWT>" \
--data '{
"query": "What is my vacation carry over policy?",
"columns": ["chunk", "web_url"],
"limit": 1
}'