동적 테이블과 데이터 공유하기¶
동적 테이블은 공유 가능한 오브젝트입니다. 동적 테이블을 공유하기 위해 데이터 공유 공급자는 동적 테이블에 대한 권한을 공유에 부여하며, 이에 따라 데이터 공유 컨슈머가 동적 테이블을 사용할 수 있게 됩니다.
동적 테이블과 데이터를 공유하는 방법¶
동적 테이블을 다른 Snowflake 계정과 공유하려면 공유 또는 애플리케이션 패키지에 동적 테이블을 추가하면 됩니다.
리전 내 계정과 동적 테이블을 공유하려면 직접 공유를 사용하면 됩니다. 자세한 내용은 Snowflake에서의 데이터 공유 및 공동 작업 섹션을 참조하십시오.
다른 리전의 계정과 동적 테이블을 공유하려면 공유 또는 애플리케이션 패키지를 목록에 데이터 제품으로 추가하고 클라우드 간 자동 복제를 설정하십시오. 자세한 내용은 목록 생성하기 및 게시 섹션을 참조하십시오.
데이터 공유 공급자는 다음 예시와 같이 단일 동적 테이블에 대한 SELECT 권한을 부여하거나 데이터베이스의 모든 동적 테이블에 대한 SELECT 권한을 부여하도록 선택할 수 있습니다.
GRANT SELECT ON ALL DYNAMIC TABLES IN SCHEMA mydb.public TO SHARE share1;
GRANT SELECT ON DYNAMIC TABLE mydb.public TO SHARE share1;
자세한 내용은 GRANT <권한> … TO SHARE 섹션을 참조하십시오.
공유 데이터를 수집하기 위한 동적 테이블 만들기¶
동적 테이블을 사용하여 공유 데이터를 수집하는 경우 쿼리는 공유 동적 테이블이나 업스트림 동적 테이블을 참조하는 공유 보안 뷰에서 선택할 수 없습니다.
공유 데이터를 수집하기 위해 동적 테이블을 만들려면 다음을 수행하십시오.
올바른 권한 이 있는지 확인하고 공유에서 데이터베이스를 만들고 그에 대한 권한을 부여합니다.
CREATE DATABASE my_shared_db FROM SHARE provider_account.share1;
Copy공유 데이터베이스에 권한을 부여합니다.
공유 동적 테이블을 만듭니다.
CREATE OR REPLACE DYNAMIC TABLE my_dynamic_table TARGET_LAG = '1 day' WAREHOUSE = mywh AS SELECT * FROM my_shared_db.public.mydb;Copy참고
동적 테이블에서 사용하는 모든 기본 오브젝트에서 변경 내용 추적을 활성화해야 합니다. 동적 테이블을 사용하여 공유 데이터를 수집하려면 데이터 공유 공급자가 공유 오브젝트에서
change_tracking
을 활성화해야 합니다. 자세한 내용은 변경 내용 추적 활성화 섹션을 참조하십시오.