Set up SAP® BDC Connect for Snowflake Zerocopy Connector

Set up SAP® BDC Connect for Snowflake Zerocopy Connector (SAP® BDC Connect for Snowflake Zerocopy Connector 설정)

이 주제는 Snowflake 측에서 SAP® BDC Connect for Snowflake용 Zerocopy Connector를 만들고 관리하는 방법을 설명해요. SAP® 측 설정은 SAP® Snowflake 또는 SAP® BDC Connect for Snowflake를 참고해요.

출처: Snowflake Documentation

본문

Note

SAP® BDC Connect for Snowflake Terms가 Zerocopy Connector에 적용돼요.

SAP® BDC에서 SAP® Snowflake 계정과 SAP® BDC Connect for Snowflake를 사용하는 기존 Snowflake 계정으로 Data Products를 공유하는 단계는 정확히 같아요.

각 작업에 필요한 권한은 SAP® BDC Connect for Snowflake Zerocopy Connector — 보안 및 권한을 참고해요.

전제 조건

Zerocopy Connector를 만들기 전에:

  • ORGADMIN이 SAP® BDC Connect for Snowflake Terms를 수락해야 해요. 이 작업은 Snowflake 조직당 한 번만 하면 돼요. 서비스 약관은 스스로 철회할 수 없으며, 철회하려면 Snowflake 지원과 법무에 문의해요.

Snowsight에서 SAP® BDC Connect for Snowflake Terms를 수락하려면:

  1. ORGADMIN 역할을 가진 사용자로 Snowflake에 로그인해요.
  2. 탐색 메뉴에서 Admin » Terms를 선택해요.
  3. Snowflake Marketplace 섹션에서 SAP® BDC Connect for Snowflake Terms 옆의 Review를 선택해요.
  4. Acknowledge & Continue를 선택해요.
  • SAP® Snowflake 또는 SAP® BDC Connect for Snowflake에 설명된 SAP® 측 설정을 완료해요.

  • 커넥터 생성에 사용되는 역할은 대상 스키마에 대한 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 생성

Zerocopy Connector는 스키마 수준 객체예요. 정규화된 이름(<db>.<schema>.<connector>)이나 부분적으로 정규화된 이름, 또는 데이터베이스와 스키마가 현재 세션 컨텍스트에 설정된 경우 일반 이름으로 지정할 수 있어요.

CREATE [ OR REPLACE ] ZEROCOPY CONNECTOR [ IF NOT EXISTS ] <name>
  PARTNER = SAP_BDC;
CREATE ZEROCOPY CONNECTOR IF NOT EXISTS my_db.my_schema.my_sap_connector
  PARTNER = SAP_BDC;

생성 후 커넥터는 NEW 상태예요. ALTER ... CONNECT를 실행하기 전까지 연결이 설정되지 않아요.

SAP® BDC에 등록

Note

커넥터는 NEW, CONNECT_ERROR, DISCONNECTED 상태여야 해요. 자세한 내용은 보안 및 권한 참고.

ALTER ZEROCOPY CONNECTOR IF EXISTS my_db.my_schema.my_sap_connector
  CONNECT WITH CONFIG = (
    INVITATION_LINK = '<Invitation Link from SAP BDC>'
  );

연결이 비동기적으로 설정되는 동안 커넥터는 즉시 CONNECTING 상태로 들어가요. 현재 상태를 확인하려면 DESC ZEROCOPY CONNECTOR를 사용해요.

커넥터 상태 확인

DESCRIBE로 커넥터의 현재 상태를 확인해요:

DESC ZEROCOPY CONNECTOR my_db.my_schema.my_sap_connector;
출력
컬럼 설명
name Zerocopy Connector의 이름.
partner 데이터 파트너(예: SAP_BDC).
config 데이터 파트너의 구성. SAP® BDC의 경우 SAP® BDC Connector Endpoint를 포함함.
status 현재 커넥터 상태. 보안 및 권한 참고.
connection_error 커넥터가 CONNECT_ERROR 또는 DISCONNECT_ERROR 상태면 오류 메시지, 그 외에는 비어 있음.
catalog_linked_databases 현재 역할에 보이는 마운트된 카탈로그 연결 데이터베이스.
share_back 이 커넥터에 대해 Snowflake에서 SAP® BDC로 데이터 공유가 활성화되어 있는지 여부.
shares 이 커넥터와 연결된 Snowflake 데이터 공유.
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로 커넥터에 선택적 속성을 설정할 수 있어요.

-- Set a comment
ALTER ZEROCOPY CONNECTOR IF EXISTS my_db.my_schema.my_sap_connector
  SET COMMENT = 'SAP BDC connector for sales data products';

-- Enabling share back allows publishing data from Snowflake to SAP BDC
ALTER ZEROCOPY CONNECTOR IF EXISTS my_db.my_schema.my_sap_connector
  SET SHARE_BACK = TRUE;

속성을 해제하고 기본값으로 복원하려면:

ALTER ZEROCOPY CONNECTOR IF EXISTS my_db.my_schema.my_sap_connector
  UNSET COMMENT;

ALTER ZEROCOPY CONNECTOR IF EXISTS my_db.my_schema.my_sap_connector
  UNSET SHARE_BACK;

커넥터 연결 해제

Note

연결 해제 전에 커넥터에서 생성된 모든 카탈로그 연결 데이터베이스를 드롭해야 해요. 연결 해제 전에 share-back을 비활성화해야 해요. 커넥터는 CONNECTED 또는 DISCONNECT_ERROR 상태여야 해요.

ALTER ZEROCOPY CONNECTOR IF EXISTS my_db.my_schema.my_sap_connector
  DISCONNECT;

연결이 비동기적으로 끊어지는 동안 커넥터는 즉시 DISCONNECTING 상태로 들어가요. 성공하면 DISCONNECTED로 전환돼요.

커넥터 드롭

NEW, CONNECT_ERROR, DISCONNECT_ERROR, DISCONNECTED 상태의 커넥터만 드롭할 수 있어요. Zerocopy Connector는 UNDROP을 지원하지 않아요.

DROP ZEROCOPY CONNECTOR IF EXISTS my_db.my_schema.my_sap_connector;

다음 단계

커넥터가 CONNECTED 상태가 되면 다음을 할 수 있어요.

더 알아보기 (Learn more)