Openflow Connector for Box 설정

참고

커넥터에는 커넥터 약관 이 적용됩니다.

이 항목에서는 Openflow Connector for Box 를 설정하는 단계에 대해 설명합니다.

전제 조건

  1. Openflow Connector for Box 정보 을 검토했는지 확인합니다.

  2. Openflow를 설정 했는지 확인합니다.

자격 증명 받기

Box 개발자 또는 Box 관리자 는 다음과 같이 Box Platform 애플리케이션 을 생성합니다.

  1. Box Developer Console 로 이동합니다.

  2. Create Platform App 을 선택합니다.

  3. 애플리케이션 유형으로 Custom App 을 선택합니다.

  4. 앱의 이름과 설명을 입력하고 드롭다운 목록에서 용도를 선택합니다.

  5. 인증 방법으로 Server Authentication (with JWT) 를 선택합니다.

  6. Create App 을 선택합니다.

  7. 앱을 구성하려면 Configuration 탭으로 이동합니다.

  8. App Access Level 섹션에서 App + Enterprise Access 을 선택합니다.

  9. Application Scopes 섹션에서 다음 옵션을 선택합니다.

    • Read all files and folders stored in Box.

    • Write all files and folders stored in Box: 파일 및 폴더를 다운로드하기 위한 용도. 커넥터는 파일을 업로드할 수 없다는 점에 유의하십시오. 서비스 계정에 Viewer 역할만 부여하는 것이 좋습니다. 애플리케이션에 Box의 파일에 대한 액세스 권한을 부여하려면 동기화하려는 폴더를 선택합니다. N단계의 서비스 계정의 이메일을 사용하여 앱 서비스 계정과 공유합니다. Openflow Connector for Box 는 지정된 폴더 및 모든 하위 폴더에서 파일을 검색하고 다운로드할 수 있지만 파일을 수정할 수는 없습니다.

    • Manage users: 기업에서 사용자를 읽기 위한 용도.

    • Manage groups: 기업에서 그룹 및 해당 멤버를 읽기 위한 용도.

    • Manage enterprise properties: 기업 이벤트를 읽기 위한 용도.

  10. Add and Manage Public Keys 섹션에서 공개/개인 키 페어를 생성합니다. Box는 개인 키가 포함된 JSON 구성 파일을 다운로드합니다.

  11. 변경 사항을 저장합니다.

  12. Authorization 탭으로 이동하여 앱을 제출하고 기업 액세스에 대한 승인을 요청합니다.

  13. 기업 관리자에게 앱 승인을 요청하십시오.

  14. 승인이 완료되면 General Settings 탭으로 이동하여 앱 서비스 계정 이메일 주소를 저장합니다.

    자세한 내용은 JWT 를 사용한 설정 섹션을 참조하십시오.

Snowflake 계정 설정하기

Snowflake 계정 관리자는 수동으로 또는 아래 포함된 스크립트를 사용하여 다음 작업을 수행합니다.

  1. 새 역할을 생성하거나 기존 역할을 사용하여 데이터베이스 권한 권한을 부여합니다.

  2. 유형이 SERVICE 인 새 Snowflake 서비스 사용자를 생성합니다.

  3. Snowflake 서비스 사용자에게 이전 단계에서 생성한 역할을 부여합니다.

  4. 2단계의 Snowflake SERVICE 사용자에 대해 키 페어 인증 으로 구성합니다.

  5. Snowflake는 이 단계를 강력히 권장합니다. Openflow에서 지원하는 시크릿 관리자(예: AWS, Azure, Hashicorp)를 구성하고 공개 및 개인 키를 시크릿 스토어에 저장합니다.

    참고

    어떤 이유로든 시크릿 관리자를 사용하지 않으려면 조직의 보안 정책에 따라 키 페어 인증에 사용되는 공개 키와 개인 키 파일을 보호할 책임이 있습니다.

    1. 시크릿 관리자가 구성되면 인증 방법을 결정합니다. AWS 에서는 다른 시크릿을 유지할 필요가 없으므로 Openflow와 연결된 EC2 인스턴스 역할을 사용하는 것이 좋습니다.

    2. Openflow에서 오른쪽 상단의 햄버거 메뉴에서 이 시크릿 관리자와 연결된 매개 변수 공급자를 구성합니다. Controller Settings » Parameter Provider 로 이동한 다음 매개 변수 값을 가져옵니다.

    3. 이 시점에서 모든 자격 증명은 연결된 매개 변수 경로로 참조할 수 있으며 민감한 값은 Openflow 내에서 유지될 필요가 없습니다.

  6. 다른 Snowflake 사용자가 커넥터에서 수집한 원시 수집 문서 및 테이블에 대한 액세스가 필요한 경우(예: Snowflake에서 사용자 정의 처리를 위해), 해당 사용자에게 1단계에서 생성한 역할을 부여하십시오.

  7. 커넥터가 사용할 웨어하우스를 지정합니다. 가장 작은 데이터 웨어하우스 크기로 시작한 다음 복제되는 테이블 수와 전송되는 데이터의 양에 따라 크기를 실험해 보십시오. 테이블 수가 많은 경우 일반적으로 더 큰 규모의 웨어하우스보다는 멀티 클러스터 웨어하우스 에서 확장이 더 쉽습니다.

예시 설정

--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 the use case: Ingest files and perform processing with Cortex
--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 use case: Ingest files and perform processing with Cortex
--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>;
Copy

사용 사례

다음 사용 사례에 맞게 커넥터를 구성할 수 있습니다.

파일만 수집

커넥터 정의를 사용합니다.

  • 수집된 파일을 Document AI 로 처리합니다.

  • 수집된 파일에 대해 사용자 정의 처리를 수행합니다.

커넥터 설정하기

데이터 엔지니어는 다음 작업을 수행하여 커넥터를 설치하고 구성합니다.

커넥터 설치하기
  1. Openflow 개요 페이지로 이동합니다. Featured connectors 섹션에서 View more connectors 을 선택합니다.

  2. Openflow Connector 페이지에서 커넥터를 찾아 Add to runtime 을 선택합니다.

  3. Select runtime 대화 상자의 Available runtimes 드롭다운 목록에서 런타임을 선택합니다.

  4. Add 를 선택합니다.

    참고

    커넥터를 설치하기 전에 커넥터가 수집한 데이터를 저장할 수 있도록 Snowflake에서 데이터베이스와 스키마를 생성했는지 확인하십시오.

  5. Snowflake 계정 자격 증명으로 배포를 인증하고 런타임 애플리케이션이 Snowflake 계정에 액세스할 수 있도록 허용할지 묻는 메시지가 표시되면 Allow 를 선택합니다. 커넥터 설치 프로세스를 완료하는 데 몇 분 정도 걸립니다.

  6. Snowflake 계정 자격 증명으로 런타임에 인증합니다.

커넥터 프로세스 그룹이 추가된 Openflow 캔버스가 표시됩니다.

커넥터 구성
  1. 가져온 프로세스 그룹을 마우스 오른쪽 버튼으로 클릭하고 Parameters 를 선택합니다.

  2. 상자 수집 매개 변수, 상자 대상 매개 변수상자 소스 매개 변수 에 설명된 대로 필수 매개 변수 값을 입력합니다.

Box 소스 매개 변수

매개 변수

설명

Box 앱 구성 JSON

앱을 생성하는 동안 다운로드한 애플리케이션 JSON 구성입니다.

Box 앱 구성 파일

앱 생성 중에 다운로드한 애플리케이션 json 파일입니다. “Box 앱 구성 파일” 또는 “Box 앱 구성 JSON” 중 하나를 설정해야 합니다. Reference asset 확인란을 선택하여 구성 파일을 업로드합니다.

Box 대상 매개 변수

매개 변수

설명

대상 데이터베이스

데이터가 유지될 데이터베이스입니다. Snowflake에 이미 존재해야 합니다.

대상 스키마

데이터가 유지될 스키마입니다. Snowflake에 이미 존재해야 합니다.

Snowflake 계정 식별자

Snowflake 계정 이름은 [organization-name]-[account-name] 형식으로 형식이 지정되며, 데이터는 여기에 영구적으로 저장됩니다.

Snowflake Authentication Strategy

Snowflake에 대한 인증 전략. 가능한 값: SPCS 에서 흐름을 실행하는 경우 SNOWFLAKE_SESSION_TOKEN, 개인 키를 사용하여 액세스를 설정하는 경우 KEY_PAIR.

Snowflake 개인 키

인증에서 사용되는 RSA 개인 키입니다. RSA 키는 PKCS8 표준에 따라 형식이 지정되어야 하며 표준 PEM 헤더와 푸터가 있어야 합니다. Snowflake 개인 키 파일 또는 Snowflake 개인 키 중 하나를 정의해야 합니다.

Snowflake 개인 키 파일

PKCS8 표준에 따라 형식이 지정되고 표준 PEM 헤더와 푸터가 있는 Snowflake 인증에 사용되는 RSA 개인 키가 포함된 파일입니다. 헤더 라인은 -----BEGIN PRIVATE 로 시작합니다. Reference asset 확인란을 선택하여 개인 키 파일을 업로드합니다.

Snowflake 개인 키 비밀번호

Snowflake 개인 키 파일과 연결된 비밀번호입니다

Snowflake 역할

쿼리 실행 중에 사용되는 Snowflake 역할

Snowflake 사용자 이름

Snowflake 인스턴스에 연결하는 데 사용되는 사용자 이름입니다

Snowflake 웨어하우스

쿼리 실행에 사용되는 Snowflake 웨어하우스

Box 수집 매개 변수

매개 변수

설명

Box 폴더 ID

파일을 읽을 폴더의 ID. Box 앱이 액세스할 수 있는 모든 폴더를 동기화하려면 0 으로 설정합니다. URL 에서 검색할 수 있습니다(예: https://app.box.com/folder/FOLDER_ID).

수집할 파일 확장자

수집할 파일 확장자를 지정하는 쉼표로 구분된 목록입니다. 커넥터는 가능하면 먼저 파일을 PDF 형식으로 변환하려고 시도합니다. 그럼에도 불구하고 확장자 검사는 원본 파일 확장자에 대해 수행됩니다. 지정된 파일 확장자 중 일부가 Cortex Parse Document에서 지원되지 않는 경우 커넥터는 해당 파일을 무시하고 이벤트 로그에 경고 메시지를 기록하고 다른 파일을 계속 처리합니다.

Snowflake 파일 해시 테이블 이름

내용이 변경되었는지 확인하기 위해 파일 해시를 저장할 테이블의 이름입니다. 이 매개 변수는 일반적으로 변경하지 않아야 합니다.

플로우 실행

  1. 평면을 마우스 오른쪽 버튼으로 클릭하고 Enable all Controller Services 를 선택합니다.

  2. 가져온 프로세스 그룹을 마우스 오른쪽 버튼으로 클릭하고 Start 를 선택합니다. 커넥터가 데이터 수집을 시작합니다.

커넥터를 시작한 후 지정된 폴더에서 모든 파일을 검색한 다음 지난 14일 이내에 admin_logs_streaming 이벤트를 소비합니다. 이는 초기화 과정에서 놓칠 수 있는 데이터를 캡처하기 위해 수행됩니다. 이 기간 동안 이벤트에 표시되었지만 더 이상 존재하지 않는 파일로 인해 not found 오류가 발생할 수 있습니다.

Cortex로 파일 수집 및 처리 성능 수행하기

커넥터 정의를 사용합니다.

  • 조직의 Box 엔터프라이즈 내에서 공개 문서를 위한 AI 어시스턴트 생성하기

  • AI 어시스턴트가 조직의 Box 엔터프라이즈에 지정된 액세스 제어를 준수하도록 설정하십시오

커넥터 설정하기

데이터 엔지니어는 다음 작업을 수행하여 커넥터를 설치하고 구성합니다.

커넥터 설치하기
  1. Openflow 개요 페이지로 이동합니다. Featured connectors 섹션에서 View more connectors 을 선택합니다.

  2. Openflow Connector 페이지에서 커넥터를 찾아 Add to runtime 을 선택합니다.

  3. Select runtime 대화 상자의 Available runtimes 드롭다운 목록에서 런타임을 선택합니다.

  4. Add 를 선택합니다.

    참고

    커넥터를 설치하기 전에 커넥터가 수집한 데이터를 저장할 수 있도록 Snowflake에서 데이터베이스와 스키마를 생성했는지 확인하십시오.

  5. Snowflake 계정 자격 증명으로 배포를 인증하고 런타임 애플리케이션이 Snowflake 계정에 액세스할 수 있도록 허용할지 묻는 메시지가 표시되면 Allow 를 선택합니다. 커넥터 설치 프로세스를 완료하는 데 몇 분 정도 걸립니다.

  6. Snowflake 계정 자격 증명으로 런타임에 인증합니다.

커넥터 프로세스 그룹이 추가된 Openflow 캔버스가 표시됩니다.

커넥터 구성
  1. 가져온 프로세스 그룹을 마우스 오른쪽 버튼으로 클릭하고 Parameters 를 선택합니다.

  2. Box Cortex Connect 수집 파라미터, Box Cortex Connect 대상 파라미터Box Cortex Connect 소스 파라미터 에 설명된 대로 필수 매개 변수 값을 채웁니다.

Box Cortex Connect 소스 매개 변수

매개 변수

설명

Box 앱 구성 JSON

앱을 생성하는 동안 다운로드한 애플리케이션 JSON 구성입니다.

Box 앱 구성 파일

앱 생성 중에 다운로드한 애플리케이션 json 파일입니다. “Box 앱 구성 파일” 또는 “Box 앱 구성 JSON” 중 하나를 설정해야 합니다. Reference asset 확인란을 선택하여 구성 파일을 업로드합니다.

Box Cortex Connect 대상 매개 변수

매개 변수

설명

대상 데이터베이스

데이터가 유지될 데이터베이스입니다. Snowflake에 이미 존재해야 합니다.

대상 스키마

데이터가 유지될 스키마입니다. Snowflake에 이미 존재해야 합니다

Snowflake 계정 식별자

Snowflake 계정 이름은 [organization-name]-[account-name] 형식으로 형식이 지정되며, 데이터는 여기에 영구적으로 저장됩니다.

Snowflake Authentication Strategy

Snowflake에 대한 인증 전략. 가능한 값: SPCS 에서 흐름을 실행하는 경우 SNOWFLAKE_SESSION_TOKEN, 개인 키를 사용하여 액세스를 설정하는 경우 KEY_PAIR.

Snowflake 개인 키

인증에서 사용되는 RSA 개인 키입니다. RSA 키는 PKCS8 표준에 따라 형식이 지정되어야 하며 표준 PEM 헤더와 푸터가 있어야 합니다. Snowflake 개인 키 파일 또는 Snowflake 개인 키 중 하나를 정의해야 합니다.

Snowflake 개인 키 파일

PKCS8 표준에 따라 형식이 지정되고 표준 PEM 헤더와 푸터가 있는 Snowflake 인증에 사용되는 RSA 개인 키가 포함된 파일입니다. 헤더 라인은 -----BEGIN PRIVATE 로 시작합니다. Reference asset 확인란을 선택하여 개인 키 파일을 업로드합니다.

Snowflake 개인 키 비밀번호

Snowflake 개인 키 파일과 연결된 비밀번호입니다

Snowflake 역할

쿼리 실행 중에 사용되는 Snowflake 역할

Snowflake 사용자 이름

Snowflake 인스턴스에 연결하는 데 사용되는 사용자 이름입니다

Snowflake 웨어하우스

쿼리 실행에 사용되는 Snowflake 웨어하우스

Box Cortex Connect 수집 매개 변수

매개 변수

설명

Box 폴더 ID

파일을 읽을 폴더의 ID. Box 앱이 액세스할 수 있는 모든 폴더를 동기화하려면 0 으로 설정합니다. URL 에서 검색할 수 있습니다(예: https://app.box.com/folder/FOLDER_ID).

수집할 파일 확장자

수집할 파일 확장자를 지정하는 쉼표로 구분된 목록입니다. 커넥터는 가능하면 먼저 파일을 PDF 형식으로 변환하려고 시도합니다. 그럼에도 불구하고 확장자 검사는 원본 파일 확장자에 대해 수행됩니다. 지정된 파일 확장자 중 일부가 Cortex Parse Document에서 지원되지 않는 경우 커넥터는 해당 파일을 무시하고 이벤트 로그에 경고 메시지를 기록하고 다른 파일을 계속 처리합니다.

Snowflake 파일 해시 테이블 이름

내용이 변경되었는지 확인하기 위해 파일 해시를 저장할 테이블의 이름입니다. 이 매개 변수는 일반적으로 변경하지 않아야 합니다.

OCR 모드

Cortex PARSE_DOCUMENT 함수로 파일을 구문 분석할 때 사용하는 OCR 모드입니다. 값은 OCR 또는 LAYOUT 입니다.

Snowflake Cortex Search Service 사용자 역할

Cortex Search Service에 대한 사용 권한이 할당된 역할의 식별자입니다.

Snowflake 파일 해시 테이블 이름

내용이 변경되었는지 확인하기 위해 파일 해시를 저장할 테이블의 이름입니다. 이 매개 변수는 일반적으로 변경하지 않아야 합니다.

플로우 실행

  1. 평면을 마우스 오른쪽 버튼으로 클릭하고 Enable all Controller Services 를 선택합니다.

  2. 가져온 프로세스 그룹을 마우스 오른쪽 버튼으로 클릭하고 Start 를 선택합니다. 커넥터가 데이터 수집을 시작합니다.

커넥터를 시작한 후 지정된 폴더에서 모든 파일을 검색한 다음 지난 14일 이내에 admin_logs_streaming 이벤트를 소비합니다. 이는 초기화 과정에서 누락되었을 수 있는 데이터를 캡처하기 위해 수행됩니다. 이 기간 동안 이벤트에 나타나지만 더 이상 존재하지 않는 파일로 인해 not found 오류가 발생할 수 있습니다.

Cortex Search Service 쿼리하기

Cortex Search 서비스를 사용하여 채팅 및 검색 애플리케이션을 구축하여 Box에 있는 문서를 채팅하거나 쿼리할 수 있습니다.

커넥터를 설치하고 구성한 후 Box에서 내용을 수집하기 시작하면 Cortex Search 서비스에 쿼리할 수 있습니다. Cortex Search 사용에 대한 자세한 내용은 Cortex Search Service 쿼리하기 섹션을 참조하십시오.

응답 필터링하기

특정 사용자가 Box에서 액세스할 수 있는 문서로만 Cortex Search Service의 응답을 제한하려면 Cortex Search를 쿼리할 때 ID 또는 사용자의 이메일 주소가 포함된 필터를 지정할 수 있습니다. 예를 들어, filter.@contains.user_ids 또는 filter.@contains.user_emails. 커넥터가 생성한 Cortex Search Service의 이름은 Cortex 스키마에서 search_service 입니다.

SQL 워크시트에서 다음 SQL 코드를 실행하여 Box 사이트에서 수집한 파일로 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
Copy

다음은 columns 에 입력할 수 있는 전체 값 목록입니다.

열 이름

타입

설명

full_name

String

Box 사이트 문서 루트에서 파일에 대한 전체 경로입니다. 예: folder_1/folder_2/file_name.pdf.

web_url

String

원본 Box 파일을 브라우저에 표시하는 URL 입니다.

last_modified_date_time

String

항목이 가장 최근에 수정된 날짜 및 시간입니다.

chunk

String

문서의 텍스트 중 Cortex Search 쿼리와 일치하는 부분입니다.

user_ids

배열

문서에 액세스할 수 있는 사용자 IDs 의 배열입니다.

user_emails

배열

문서에 액세스할 수 있는 사용자 이메일 IDs 의 배열입니다. 또한 문서에 할당된 모든 Microsoft 365 그룹의 사용자 이메일 IDs 도 포함됩니다.

예시: AI 어시스턴트에게 인적 리소스(HR) 정보 쿼리하기

Cortex Search를 사용하여 직원들이 온보딩, 행동 강령, 팀 프로세스 및 조직 정책과 같은 최신 버전의 HR 정보에 대해 채팅할 수 있도록 AI 어시스턴트에게 쿼리할 수 있습니다. 응답 필터를 사용하여 HR 팀원이 Box에 구성된 액세스 제어를 준수하면서 직원 계약에 쿼리할 수 있도록 허용할 수도 있습니다.

SQL 워크시트 에서 다음을 실행하여 Box에서 수집된 파일로 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 carryover policy?",
             "columns": ["chunk", "web_url"],
             "filter": {"@contains": {"user_emails": "<user_emailID>"} },
             "limit": 1
          }'
     )
 )['results'] AS results
Copy

Box AI 를 사용하여 Box 메타데이터를 추출하고 이를 Snowflake 테이블로 수집

커넥터 정의를 사용합니다.

  • Box 파일에 대한 메타데이터를 추출하여 Snowflake 테이블로 수집하십시오

  • Box에 저장된 파일의 메타데이터에 대한 작업을 수행하십시오

Box 메타데이터를 저장하기 위한 Snowflake 테이블 생성하기

  1. 메타데이터 추출을 위해 Box AI가 활성화되어 있는지 확인하십시오. 자세한 내용은 Box AI 구성 섹션을 참조하십시오.

  2. 메타데이터가 전송될 Snowflake 테이블을 생성합니다

    커넥터가 어떤 종류의 메타데이터를 추출할지 알기 위해서는 데이터베이스 테이블에 Snowflake 테이블을 생성하고 추출하려는 필드의 열 이름이 포함된 스키마를 생성해야 합니다. 각 열에 설명을 추가하여 파일에서 메타데이터를 추출하는 데 사용되는 모델의 성능을 개선하십시오.

  3. 이전 단계에서 생성한 테이블에 Box 파일 ID 를 저장할 열이 있고 유형이 VARCHAR 인지 확인합니다.

    이 열의 이름은 이후 단계에서 상자 파일 식별자 열 매개 변수로 입력해야 합니다. 메타데이터 테이블에 지원되는 열 유형 목록은 VARCHAR, STRING, TEXT, FLOAT, DOUBLE, DATE 입니다.

다음은 이 커넥터에 대해 생성할 수 있는 테이블의 예입니다.

CREATE OR REPLACE TABLE OPENFLOW.BOX_METADATA_SCHEMA.LOAN_AGREEMENT_METADATA (
  BOX_FILE_ID               VARCHAR    COMMENT 'Box file identifier column',
  LOAN_ID                   STRING     COMMENT 'Unique loan agreement identifier (e.g. L-2025-0001)',
  BORROWER_NAME             STRING     COMMENT 'Name of the borrower entity or individual',
  LENDER_NAME               STRING     COMMENT 'Name of the lending institution',
  LOAN_AMOUNT               DOUBLE     COMMENT 'Principal amount of the loan (in USD)',
  INTEREST_RATE             FLOAT      COMMENT 'Annual interest rate (%)',
  EFFECTIVE_DATE            DATE       COMMENT 'Date on which the loan becomes effective',
  MATURITY_DATE             DATE       COMMENT 'Scheduled loan maturity date',
  LOAN_TERM_MONTHS          FLOAT      COMMENT 'Original term length in months',
  COLLATERAL_DESCRIPTION    TEXT       COMMENT 'Description of collateral securing the loan',
  CREDIT_SCORE              FLOAT      COMMENT 'Borrower credit score',
  JURISDICTION              STRING     COMMENT 'Governing law jurisdiction (e.g. NY, CA)'
);
Copy

커넥터 설정하기

데이터 엔지니어는 다음 작업을 수행하여 커넥터를 설치하고 구성합니다.

커넥터 설치하기
  1. Openflow 개요 페이지로 이동합니다. Featured connectors 섹션에서 View more connectors 을 선택합니다.

  2. Openflow Connector 페이지에서 커넥터를 찾아 Add to runtime 을 선택합니다.

  3. Select runtime 대화 상자의 Available runtimes 드롭다운 목록에서 런타임을 선택합니다.

  4. Add 를 선택합니다.

    참고

    커넥터를 설치하기 전에 커넥터가 수집한 데이터를 저장할 수 있도록 Snowflake에서 데이터베이스와 스키마를 생성했는지 확인하십시오.

  5. Snowflake 계정 자격 증명으로 배포를 인증하고 런타임 애플리케이션이 Snowflake 계정에 액세스할 수 있도록 허용할지 묻는 메시지가 표시되면 Allow 를 선택합니다. 커넥터 설치 프로세스를 완료하는 데 몇 분 정도 걸립니다.

  6. Snowflake 계정 자격 증명으로 런타임에 인증합니다.

커넥터 프로세스 그룹이 추가된 Openflow 캔버스가 표시됩니다.

커넥터 구성
  1. 가져온 프로세스 그룹을 마우스 오른쪽 버튼으로 클릭하고 Parameters 를 선택합니다.

  2. 상자 메타데이터 소스 파라미터 수집, 상자 메타데이터 대상 파라미터 수집상자 메타데이터 수집 파라미터 수집 에 설명된 대로 필수 매개 변수 값을 채웁니다.

Box 수집 메타데이터 소스 매개 변수

매개 변수

설명

Box 앱 구성 JSON

앱을 생성하는 동안 다운로드한 애플리케이션 JSON 구성입니다.

Box 앱 구성 파일

앱 생성 중에 다운로드한 애플리케이션 json 파일입니다. “Box 앱 구성 파일” 또는 “Box 앱 구성 JSON” 중 하나를 설정해야 합니다. Reference asset 확인란을 선택하여 구성 파일을 업로드합니다.

Box 수집 메타데이터 대상 매개 변수

매개 변수

설명

대상 데이터베이스

데이터가 유지될 데이터베이스입니다. 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 개인 키가 포함된 파일입니다. 헤더 라인은 -----BEGIN PRIVATE 로 시작합니다. Reference asset 확인란을 선택하여 개인 키 파일을 업로드합니다.

Snowflake 개인 키 비밀번호

Snowflake 개인 키 파일과 연결된 비밀번호입니다

Snowflake 역할

쿼리 실행 중에 사용되는 Snowflake 역할

Snowflake 사용자 이름

Snowflake 인스턴스에 연결하는 데 사용되는 사용자 이름입니다

Snowflake 웨어하우스

쿼리 실행에 사용되는 Snowflake 웨어하우스

Box 수집 메타데이터 수집 매개 변수

매개 변수

설명

Box 폴더 ID

파일을 읽을 폴더의 ID. Box 앱이 액세스할 수 있는 모든 폴더를 동기화하려면 0 으로 설정합니다. ID 는 URL 에서 검색할 수 있습니다(예: https://app.box.com/folder/FOLDER_ID).

Box 파일 식별자 열

지정된 메타데이터를 파일과 연결하기 위해 Box 파일 ID 를 저장할 메타데이터 테이블의 열입니다. 이 열은 VARCHAR 유형이어야 하며 Box 메타데이터를 저장하기 위한 Snowflake 테이블 만들기 에서 생성된 테이블의 일부여야 합니다.

대상 메타데이터 테이블

에서 생성한 Snowflake 테이블 수집하려는 메타데이터의 열이 있는 에 Box 메타데이터를 저장하기 위한 Snowflake 테이블을 생성합니다.

플로우 실행

  1. 평면을 마우스 오른쪽 버튼으로 클릭하고 Enable all Controller Services 를 선택합니다.

  2. 가져온 프로세스 그룹을 마우스 오른쪽 버튼으로 클릭하고 Start 를 선택합니다. 커넥터가 데이터 수집을 시작합니다.

커넥터를 시작한 후 지정된 폴더에서 모든 파일을 검색한 다음 지난 14일 동안의 admin_logs_streaming 이벤트를 소비합니다. 이는 초기화 과정에서 누락되었을 수 있는 데이터를 캡처하기 위해 수행됩니다. 이 기간 동안 이벤트에 나타나지만 더 이상 존재하지 않는 파일로 인해 not found 오류가 발생할 수 있습니다.

Box 파일 메타데이터 인스턴스를 Snowflake 테이블과 동기화하기

커넥터 정의를 사용하여 Snowflake 테이블에서 Box의 메타데이터에 대한 데이터 변환을 수행하고 변경 사항을 다시 Box 메타데이터 인스턴스에 추가하십시오.

Box 메타데이터를 저장하기 위한 Snowflake 스트림 생성하기

  1. 사용하려는 메타데이터 테이블에 대한 Snowflake 스트림을 생성합니다. 스트림은 Box 파일을 동기화하려는 테이블에 발생하는 모든 변경 사항을 모니터링하는 데 사용됩니다. Box 메타데이터를 저장하기 위한 테이블을 생성하는 방법을 알아보려면 Box 메타데이터를 저장하기 위한 Snowflake 테이블 생성하기 를 참조하십시오. 커넥터가 데이터 보존 시간을 초과하여 중지되어 스트림이 부실해지면 스트림을 다시 생성하고 이전 스트림을 교체해야 합니다. 스트림 관리에 대해 자세히 알아보려면 스트림 관리하기 섹션을 참조하십시오.

    다음은 이 커넥터에 대해 생성할 수 있는 스트림의 예입니다.

    CREATE OR REPLACE STREAM OPENFLOW.BOX_METADATA_SCHEMA.LOAN_AGREEMENT_METADATA_STREAM
    ON TABLE OPENFLOW.BOX_METADATA_SCHEMA.LOAN_AGREEMENT_METADATA
    
    Copy
  2. 메타데이터 테이블에 Box 파일 ID 를 저장할 열이 있고 유형이 VARCHAR 인지 확인합니다.

    이 열의 이름은 이후 단계에서 상자 파일 식별자 열 매개 변수로 입력해야 합니다. 메타데이터 테이블에 지원되는 열 유형 목록은 VARCHAR, STRING, TEXT, FLOAT, DOUBLE, DATE 입니다.

커넥터 설정하기

데이터 엔지니어는 다음 작업을 수행하여 커넥터를 설치하고 구성합니다.

커넥터 설치하기
  1. Openflow 개요 페이지로 이동합니다. Featured connectors 섹션에서 View more connectors 을 선택합니다.

  2. Openflow Connector 페이지에서 커넥터를 찾아 Add to runtime 을 선택합니다.

  3. Select runtime 대화 상자의 Available runtimes 드롭다운 목록에서 런타임을 선택합니다.

  4. Add 를 선택합니다.

    참고

    커넥터를 설치하기 전에 커넥터가 수집한 데이터를 저장할 수 있도록 Snowflake에서 데이터베이스와 스키마를 생성했는지 확인하십시오.

  5. Snowflake 계정 자격 증명으로 배포를 인증하고 런타임 애플리케이션이 Snowflake 계정에 액세스할 수 있도록 허용할지 묻는 메시지가 표시되면 Allow 를 선택합니다. 커넥터 설치 프로세스를 완료하는 데 몇 분 정도 걸립니다.

  6. Snowflake 계정 자격 증명으로 런타임에 인증합니다.

커넥터 프로세스 그룹이 추가된 Openflow 캔버스가 표시됩니다.

커넥터 구성
  1. 가져온 프로세스 그룹을 마우스 오른쪽 버튼으로 클릭하고 Parameters 를 선택합니다.

  2. 상자 메타데이터 소스 파라미터 게시, 상자 메타데이터 대상 파라미터 게시상자 메타데이터 수집 파라미터 게시 에 설명된 대로 필수 매개 변수 값을 채웁니다.

상자 게시 메타데이터 소스 매개 변수

매개 변수

설명

소스 데이터베이스

변경 사항을 수집하는 Snowflake 스트림이 포함된 스키마를 포함하는 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 개인 키가 포함된 파일입니다. 헤더 라인은 -----BEGIN PRIVATE 로 시작합니다. Reference asset 확인란을 선택하여 개인 키 파일을 업로드합니다.

Snowflake 개인 키 비밀번호

Snowflake 개인 키 파일과 연결된 비밀번호입니다

Snowflake 역할

쿼리 실행 중에 사용되는 Snowflake 역할

Snowflake 사용자 이름

Snowflake 인스턴스에 연결하는 데 사용되는 사용자 이름입니다

Snowflake 웨어하우스

쿼리 실행에 사용되는 Snowflake 웨어하우스

Snowflake 스트림 이름

소스 Snowflake 테이블에서 변경 사항을 수집하는 데 사용되는 Snowflake 스트림 이름입니다. 커넥터를 시작하기 전에 커넥터를 생성하고 테이블에 링크해야 합니다.

상자 게시 메타데이터 대상 매개 변수

매개 변수

설명

Box 앱 구성 JSON

앱을 생성하는 동안 다운로드한 애플리케이션 JSON 구성입니다.

Box 앱 구성 파일

앱 생성 중에 다운로드한 애플리케이션 json 파일입니다. “Box 앱 구성 파일” 또는 “Box 앱 구성 JSON” 중 하나를 설정해야 합니다. Reference asset 확인란을 선택하여 구성 파일을 업로드합니다.

Box 게시 메타데이터 수집 매개 변수

매개 변수

설명

Box 파일 식별자 열

지정된 메타데이터를 파일과 연결하기 위해 Box 파일 ID 를 저장할 메타데이터 테이블의 열입니다. 이 열은 VARCHAR 유형이어야 하며 Box 메타데이터를 저장하기 위한 Snowflake 테이블 만들기 에서 생성된 테이블의 일부여야 합니다.

Box 메타데이터 템플릿 이름

Box 파일에 추가될 Box 메타데이터 템플릿의 템플릿 이름입니다. 커넥터를 시작하기 전에 템플릿을 수동으로 생성할 필요가 없습니다. 이 매개 변수에 값을 입력하면 이 템플릿 이름으로 템플릿이 자동으로 생성됩니다. 제공된 이름이 Box 환경에서 이미 생성한 템플릿과 겹치지 않아야 합니다.

Box 메타데이터 템플릿 키

Box 파일에 추가될 Box 메타데이터 템플릿의 Box 템플릿 키입니다. 이 키는 Box API 에서 템플릿을 참조하는 데 사용되는 키입니다. 커넥터를 시작하기 전에 템플릿을 수동으로 생성할 필요가 없습니다. 이 매개 변수에 값을 입력하면 이 템플릿 키로 템플릿이 자동으로 생성됩니다. 제공된 키는 Box 환경에서 이미 생성한 템플릿과 겹치지 않아야 합니다.

플로우 실행

  1. 평면을 마우스 오른쪽 버튼으로 클릭하고 Enable all Controller Services 를 선택합니다.

  2. 가져온 프로세스 그룹을 마우스 오른쪽 버튼으로 클릭하고 Start 를 선택합니다. 커넥터가 데이터 수집을 시작합니다.

플로우를 실행한 후 Cortex Search Service를 쿼리할 수 있습니다. Cortex Search Service를 쿼리하는 방법에 대한 자세한 내용은 Cortex Search 서비스 쿼리하기 섹션을 참조하십시오.