Set up the Salesforce Data Cloud Zerocopy Connector
Set up the Salesforce Data Cloud Zerocopy Connector (Salesforce Data Cloud Zerocopy Connector 설정)
이 주제는 Snowflake 측에서 Salesforce Data Cloud용 Zerocopy Connector를 만들고 연결 승인에 필요한 Enrollment ID를 검색하는 방법을 설명해요.
본문
먼저 이 단계들을 완료해요. Enrollment ID를 얻으면 Salesforce 관리자에게 제공해 Salesforce 측 설정을 완료해요. Salesforce Data Cloud 제로 카피 설정 참고.
각 작업에 필요한 권한은 보안 및 권한을 참고해요.
전제 조건
커넥터 생성에 사용되는 역할은 대상 스키마에 대한 CREATE ZEROCOPY CONNECTOR가 있어야 해요. 기본적으로 스키마의 소유 역할이 이 권한을 가져요.
데이터베이스와 스키마 생성
Zerocopy Connector는 스키마 수준 객체예요. 만들기 전에 대상 데이터베이스와 스키마가 있는지 확인하거나 새로 만들어요. 참고는 CREATE DATABASE와 CREATE SCHEMA를 참고해요.
CREATE DATABASE IF NOT EXISTS my_db;
CREATE SCHEMA IF NOT EXISTS my_db.my_schema;
Zerocopy Connector 생성
Snowsight UI 또는 SQL로 커넥터를 만들 수 있어요.
Snowsight 사용
- Snowsight에서 Ingestion » Zero-Copy로 이동해요.
- Overview 탭을 선택해요.
- Salesforce Data 360 Connect for Snowflake 카드에서 Connect를 클릭해요.
- Connection details 패널에서:
- Connector name: 이름을 입력하거나 자동 생성된 이름(예:
SALESFORCE_CONNECT_1785545041895)을 사용해요. - Connector location: 커넥터가 설치될 스키마를 선택해요.
- Connector name: 이름을 입력하거나 자동 생성된 이름(예:
- Create connector를 클릭해요.
생성 후 Snowsight가 Establish connection to Salesforce 패널에 Enrollment ID를 표시해요. 이 값을 복사해 다음 단계에서 Salesforce 관리자에게 제공해요.
SQL 사용
CREATE ZEROCOPY CONNECTOR IF NOT EXISTS my_db.my_schema.my_sfdc_connector
PARTNER = SALESFORCE;
생성 후 커넥터는 NEW 상태예요. 다음으로 Enrollment ID를 검색해요:
SELECT SYSTEM$GET_ZEROCOPY_CONNECTOR_CONFIG('my_db.my_schema.my_sfdc_connector');
출력에 enrollment_code 값이 포함돼요. 복사해 Salesforce 관리자에게 제공해요.
Enrollment ID를 Salesforce에 제공
Enrollment ID를 Salesforce 관리자와 공유해요. 관리자는 이를 사용해 Salesforce Data Cloud에서 Data Share Target을 만들어 Snowflake 계정으로 돌아오는 승인된 연결을 설정해요. Salesforce 측 단계는 Salesforce Data Cloud 제로 카피 설정을 참고해요.
Salesforce 관리자가 Enrollment ID로 Data Share Target을 만든 후 커넥터는 NEW에서 CONNECTING으로, 그다음 CONNECTED로 자동 전환돼요. 연결 설정에 Snowflake 측 추가 작업은 필요 없어요.
대기하는 동안 DESC ZEROCOPY CONNECTOR로 진행 상황을 모니터링해요:
DESC ZEROCOPY CONNECTOR my_db.my_schema.my_sfdc_connector; -- check state
status가 CONNECTED를 보이면 커넥터가 준비된 거예요.
커넥터 상태 확인
DESCRIBE로 커넥터의 전체 세부 정보를 확인해요:
DESC ZEROCOPY CONNECTOR my_db.my_schema.my_sfdc_connector;
출력
| 컬럼 | 설명 |
|---|---|
| name | Zerocopy Connector의 이름. |
| partner | 데이터 파트너(SALESFORCE). |
| config | Salesforce 테넌트 엔드포인트와 테넌트 ID를 포함한 커넥터 구성. |
| status | 현재 커넥터 상태. 전체 상태 머신은 보안 및 권한 참고. |
| connection_error | 커넥터가 CONNECT_ERROR 또는 DISCONNECT_ERROR 상태면 오류 메시지, 그 외에는 비어 있음. |
| catalog_linked_databases | 현재 역할에 보이는 마운트된 카탈로그 연결 데이터베이스. |
| database_name | 커넥터가 있는 데이터베이스. |
| schema_name | 커넥터가 있는 스키마. |
| owner | 커넥터를 소유한 역할. |
| owner_role_type | 소유 역할의 유형. |
| comment | 커넥터에 설정된 선택적 메모. |
| created_on | 커넥터가 생성된 타임스탬프. |
| updated_on | 커넥터가 마지막으로 업데이트된 타임스탬프. |
현재 역할에 보이는 모든 커넥터를 나열하려면:
SHOW ZEROCOPY CONNECTORS IN SCHEMA my_db.my_schema;
SHOW ZEROCOPY CONNECTORS IN DATABASE my_db;
SHOW ZEROCOPY CONNECTORS IN ACCOUNT;
속성 설정
ALTER ... SET로 커넥터에 선택적 속성을 설정할 수 있어요.
ALTER ZEROCOPY CONNECTOR IF EXISTS my_db.my_schema.my_sfdc_connector
SET COMMENT = 'Salesforce Data Cloud connector for CRM data products';
속성을 해제하고 기본값으로 복원하려면:
ALTER ZEROCOPY CONNECTOR IF EXISTS my_db.my_schema.my_sfdc_connector
UNSET COMMENT;
커넥터 연결 해제
Note
연결 해제 전에 커넥터에서 생성된 모든 카탈로그 연결 데이터베이스를 드롭해야 해요. 커넥터는 CONNECTED 또는 DISCONNECT_ERROR 상태여야 해요.
ALTER ZEROCOPY CONNECTOR IF EXISTS my_db.my_schema.my_sfdc_connector
DISCONNECT;
연결이 비동기적으로 끊어지는 동안 커넥터는 즉시 DISCONNECTING 상태로 들어가요. 성공하면 DISCONNECTED로 전환돼요.
커넥터 드롭
NEW, CONNECT_ERROR, DISCONNECT_ERROR, DISCONNECTED 상태의 커넥터만 드롭할 수 있어요. Zerocopy Connector는 UNDROP을 지원하지 않아요.
DROP ZEROCOPY CONNECTOR IF EXISTS my_db.my_schema.my_sfdc_connector;
다음 단계
커넥터가 CONNECTED 상태가 되면 Salesforce 관리자가 데이터 제품을 공유할 수 있어요. Salesforce Data Cloud 제로 카피 설정으로 Salesforce 측 설정을 완료하고, 그다음 Salesforce Data Cloud의 데이터 제품 탐색으로 공유 데이터를 나열하고 쿼리해요.
더 알아보기 (Learn more)
- About Salesforce Data Cloud and Snowflake — 통합 소개
- Set up Salesforce Data Cloud for Zero-Copy — Salesforce 측 설정
- Explore data products from Salesforce Data Cloud — 데이터 제품 탐색