Openflow Connector for HubSpot 설정

참고

이 커넥터에는 `Snowflake Connector 약관<https://www.snowflake.com/legal/snowflake-connector-terms/>`_이 적용됩니다.

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

전제 조건

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

  2. Openflow - BYOC 설정 또는 :doc:`Openflow - Snowflake Deployments를 설정</user-guide/data-integration/openflow/setup-openflow-spcs>`했는지 확인합니다.

  3. Openflow - Snowflake Deployments 를 사용하는 경우 필수 도메인 구성</user-guide/data-integration/openflow/setup-openflow-spcs-sf-allow-list>`을 검토했는지와 :ref:`label-openflow_domains_used_by_openflow_connectors_hubspot 커넥터의 필수 도메인에 대한 액세스 권한을 부여했는지 확인합니다.

자격 증명 받기

HubSpot 계정 관리자는 HubSpot 비공개 앱 토큰을 생성하거나 HubSpot 계정에서 토큰을 생성합니다. 이를 통해 HubSpot API 에 요청을 인증할 수 있습니다.

  1. HubSpot 계정에 로그인합니다.

  2. 상단 탐색 모음에서 톱니바퀴 아이콘을 선택하여 Settings 으로 이동합니다.

  3. 왼쪽 탐색 모음에서 Integrations » Private Apps 로 이동합니다.

  4. Create a private app 을 선택합니다.

    1. 앱 이름을 입력합니다.

    2. Scopes 탭으로 이동합니다.

    3. API 요청의 필수 필수의 범위를 선택합니다. API 요청의 필수 범위를 확인하려면 범위 섹션을 참조하십시오.

    4. Create app 을 선택합니다.

    5. 각 엔드포인트에 대해 수행하려는 API 요청에 대한 필수 범위를 설정합니다.

  5. View access token 을 선택하여 액세스 토큰을 봅니다. 커넥터 매개 변수에 토큰을 붙여넣거나 안전하게 저장합니다.

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. 커넥터가 수집한 데이터를 저장할 수 있도록 Snowflake에서 데이터베이스와 스키마를 생성합니다. 첫 번째 단계에서 생성한 역할에 다음 데이터베이스 권한 를 부여합니다.

    CREATE DATABASE hubspot_destination_db;
    CREATE SCHEMA hubspot_destination_db.hubspot_destination_schema;
    GRANT USAGE ON DATABASE hubspot_destination_db TO ROLE <hubspot_connector_role>;
    GRANT USAGE ON SCHEMA hubspot_destination_db.hubspot_destination_schema TO ROLE <hubspot_connector_role>;
    GRANT CREATE TABLE, CREATE VIEW ON SCHEMA hubspot_destination_db.hubspot_destination_schema TO ROLE <hubspot_connector_role>;
    
  8. 커넥터에서 사용할 웨어하우스를 생성하거나 기존 웨어하우스를 사용합니다. 가장 작은 데이터 웨어하우스 크기로 시작한 다음 복제되는 테이블 수와 전송되는 데이터의 양에 따라 크기를 실험해 보십시오. 테이블 수가 많은 경우 일반적으로 더 큰 규모의 웨어하우스보다는 멀티 클러스터 웨어하우스 에서 확장이 더 쉽습니다.

  9. 커넥터가 사용하는 역할이 있는 사용자에게 웨어하우스를 사용하는 데 필요한 권한이 있는지 확인합니다. 그렇지 않은 경우에는 해당 역할에 필수 권한을 충족하는 권한을 부여하십시오.

    CREATE WAREHOUSE hubspot_connector_warehouse WITH WAREHOUSE_SIZE = 'X-Small';
    GRANT USAGE ON WAREHOUSE hubspot_connector_warehouse TO ROLE <hubspot_connector_role>;
    

커넥터 설정하기

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

커넥터 설치하기

커넥터를 설치하려면 데이터 엔지니어로서 다음을 수행합니다.

  1. Openflow 개요 페이지로 이동합니다. Featured connectors 섹션에서 View more connectors 을 선택합니다.

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

  3. Select runtime 대화 상자의 Available runtimes 드롭다운 목록에서 런타임을 선택하고 :ui:`Add`를 클릭합니다.

    참고

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

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

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

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

커넥터 구성

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

  2. 플로우 매개 변수 에 설명된 대로 필수 매개 변수 값을 채웁니다.

플로우 매개 변수

이 섹션에서는 다음 매개 변수 컨텍스트에 따라 구성할 수 있는 플로우 매개 변수에 대해 설명합니다.

HubSpot 소스 매개 변수

매개 변수

설명

HubSpot 액세스 토큰

HubSpot 비공개 애플리케이션 액세스 토큰.

HubSpot 대상 매개 변수

매개 변수

설명

필수

대상 데이터베이스

데이터가 유지될 데이터베이스입니다. Snowflake에 이미 존재해야 합니다. 이름은 대소문자를 구분합니다. 따옴표로 묶지 않은 식별자의 경우 이름을 대문자로 입력합니다.

대상 스키마

데이터가 유지될 스키마로, Snowflake에 이미 존재해야 합니다. 이름은 대소문자를 구분합니다. 따옴표로 묶지 않은 식별자의 경우 이름을 대문자로 입력합니다.

다음 예제를 참조하세요.

  • CREATE SCHEMA SCHEMA_NAME 또는 CREATE SCHEMA schema_name: SCHEMA_NAME 사용

  • CREATE SCHEMA "schema_name" 또는 CREATE SCHEMA "SCHEMA_NAME": 각각 schema_name 또는 SCHEMA_NAME 사용

Snowflake Authentication Strategy

사용하는 경우:

  • Snowflake Openflow Deployment 또는 BYOC: SNOWFLAKE_MANAGED_TOKEN 을 사용합니다. 이 토큰은 Snowflake에서 자동으로 관리됩니다. BYOC 배포에서 SNOWFLAKE_MANAGED_TOKEN을 사용하도록 :ref:`런타임 역할 <label-deployment_byoc_setup_runtime_role>`을 미리 구성했어야 합니다.

  • BYOC: 또는 BYOC에서 KEY_PAIR를 인증 전략의 값으로 사용할 수 있습니다.

Snowflake 계정 식별자

사용하는 경우:

  • Session Token Authentication Strategy: 비워 두어야 합니다.

  • KEY_PAIR: 데이터가 유지될 [organization-name]-[account-name] 형식의 Snowflake 계정 이름입니다.

Snowflake 개인 키

사용하는 경우:

  • Session Token Authentication Strategy: 비워 두어야 합니다.

  • KEY_PAIR: 인증에서 사용되는 RSA 개인 키여야 합니다.

    RSA 키는 PKCS8 표준에 따라 형식이 지정되어야 하며 표준 PEM 머리글 및 바닥글이 있어야 합니다. Snowflake 개인 키 파일 또는 Snowflake 개인 키를 정의해야 합니다.

아니요

Snowflake 개인 키 파일

사용하는 경우:

  • Session token authentication strategy: 개인 키 파일은 비워 두어야 합니다.

  • KEY_PAIR: RSA 표준에 따라 형식이 지정되고 표준 PKCS8 머리글과 바닥글을 포함하며 Snowflake 인증에 사용되는 PEM 개인 키를 포함하는 파일을 업로드합니다. 머리글 라인은 ``—–BEGIN PRIVATE``으로 시작합니다. 개인 키 파일을 업로드하려면 Reference asset 확인란을 선택합니다.

아니요

Snowflake 개인 키 비밀번호

사용하는 경우

  • Session Token Authentication Strategy: 비워 두어야 합니다.

  • KEY_PAIR: Snowflake 개인 키 파일과 연결된 비밀번호를 입력합니다.

아니요

Snowflake 역할

사용하는 경우

  • Session Token Authentication Strategy: Snowflake 역할을 사용합니다. 런타임에 대한 View Details 로 이동하여 Openflow UI에서 Snowflake 역할을 찾을 수 있습니다.

  • KEY_PAIR Authentication Strategy: 서비스 사용자에 대해 구성된 유효한 역할을 사용합니다.

Snowflake 사용자 이름

사용하는 경우

  • Session Token Authentication Strategy: 비워 두어야 합니다.

  • KEY_PAIR: Snowflake 인스턴스에 연결하는 데 사용되는 사용자 이름을 입력합니다.

너무 큰 값 초과 시 전략

복제 중에 커넥터가 내부 크기 제한(16MB)을 초과하는 값을 처리하는 방식을 결정합니다. 가능한 값은 다음과 같습니다.

  • **Fail Table**(기본값): 테이블은 영구적으로 실패한 것으로 표시되고 해당 테이블에 대한 복제가 중지됩니다.

  • Set Null: 대상 테이블에서 값이 ``NULL``로 대체됩니다. 너무 큰 값을 초과하는 테이블의 데이터 손실이 허용되는 경우 이 옵션을 사용하면 테이블 오류를 방지할 수 있습니다.

아니요

Snowflake 웨어하우스

쿼리 실행에 사용되는 Snowflake 웨어하우스입니다.

HubSpot 수집 매개 변수

매개 변수

설명

오브젝트 타입

수집할 HubSpot 오브젝트 유형의 쉼표로 구분된 목록입니다.

지원되는 오브젝트 유형 값은 다음과 같습니다.

  • 약속

  • 통화

  • 캠페인

  • 카트

  • 상거래 결제

  • 통신

  • 기업

  • 연락처

  • 코스

  • 거래

  • 할인

  • 이메일

  • 수수료

  • 피드백 제출

  • 목표

  • 청구서

  • 리드

  • 라인 항목

  • 목록

  • 회의

  • 참고

  • 주문

  • 우편

  • 제품

  • 견적

  • 견적 템플릿

  • 서비스

  • 구독

  • 작업

  • 세금

  • 티켓

  • 사용자

Updated After

지정된 날짜 또는 시간 이후에 업데이트된 오브젝트를 필터링합니다. 이 매개 변수는 선택 사항입니다.

데이터 수집 일정

다음 예약 사이의 시간입니다. 30분 또는 1시간과 같이 유효한 시간 길이여야 합니다.

플로우 실행

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

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

커넥터 재구성하기

커넥터가 데이터 수집을 시작한 후에 커넥터 매개 변수를 수정할 수 있습니다. 문제 쿼리 기준이 변경되는 경우 다음 단계를 수행하여 대상 테이블의 데이터가 일관성이 있는지 확인합니다.

  1. 커넥터 중지: 모든 Openflow 프로세서가 중지되었는지 확인합니다.

  2. 구성 설정에 액세스합니다. Snowflake Openflow 인터페이스 내에서 커넥터의 구성 설정으로 이동합니다.

  3. 매개 변수 수정: 필요에 따라 매개 변수를 조정하십시오.

  4. 프로세서 상태 지우기: 수집 기준을 변경하는 경우 대상 테이블의 데이터를 일관되게 유지하기 위해 수집을 처음부터 시작하는 것이 좋습니다. List Fresh HubSpot Objects 프로세서에서 상태를 지운 후 커넥터는 처음부터 모든 오브젝트를 가져옵니다. 행 중복을 방지하기 위해 대상 테이블을 수동으로 잘라야 할 수 있습니다.

데이터 구조 및 뷰

커넥터는 Snowflake 데이터베이스 내에 다음 두 가지 형식으로 데이터를 저장합니다.

원시 데이터 저장소

모든 원시 HubSpot 데이터는 오브젝트 유형 매개 변수에 지정된 정확한 이름으로 테이블에 저장됩니다. 예:

  • 오브젝트 유형 매개 변수의 Products,Contacts,Companies 를 구성하는 경우 커넥터는 PRODUCTS, CONTACTS, COMPANIES 라는 세 테이블을 생성합니다.

  • 각 테이블에는 HubSpot API 응답의 전체 JSON 페이로드가 포함되어 있습니다.

  • 원시 데이터는 HubSpot 의 원래 구조 및 모든 메타데이터를 보존합니다.

평면화된 뷰

더 간편한 쿼리와 분석을 위해 커넥터는 각 오브젝트 유형에 대한 평면화된 뷰를 자동으로 생성합니다.

  • 각 원시 테이블에는 접미사가 _VIEW 인 해당 뷰가 있습니다. 예: PRODUCTS_VIEW, CONTACTS_VIEW, COMPANIES_VIEW.

  • 뷰는 JSON 페이로드에서 일반적으로 사용되는 필드를 개별 열에 추출합니다.

  • 복잡한 중첩 구조는 간소화된 SQL 쿼리를 위해 평면화됩니다.