외부 및 Apache Iceberg™ 테이블에 액세스 요청하기

이 항목에서는 공급자가 컨슈머가 앱에서 외부 및 공급자가 앱에서 공유하는 Apache Iceberg™ 테이블에 액세스할 수 있도록 허용하도록 요청하도록 앱을 구성하는 방법에 대해 설명합니다.

외부 및 Snowflake Native App 의 Iceberg 테이블 정보

Snowflake Native App Framework 를 통해 공급자는 외부 테이블Apache Iceberg™ 테이블 를 컨슈머와 공유할 수 있습니다. 일반 정보는 외부 테이블 및 Iceberg 테이블 지원 섹션을 참조하십시오.

앱에 외부 테이블이나 Iceberg 테이블을 포함하려면:

  1. 앱에 테이블을 추가합니다. Snowflake Native App 에서 데이터 내용 공유 섹션을 참조하십시오.

  2. 매니페스트에 외부 및 Iceberg 테이블에 대한 항목 추가

  3. 외부 및 Iceberg 테이블에 액세스하기 위한 권한 요청

매니페스트에 외부 및 Iceberg 테이블에 대한 항목 추가

앱에 외부 테이블이나 Iceberg 테이블을 포함하려면 공급자가 다음 예와 같이 매니페스트 파일에 항목을 추가해야 합니다.

restricted_features:
  EXTERNAL_DATA:
  description: “The reason for enabling an external or Iceberg table.”
Copy

외부 및 Iceberg 테이블에 액세스하기 위한 권한 요청

보안 및 비용 문제로 인해 컨슈머는 앱에 외부 테이블이나 Iceberg 테이블을 사용할 수 있는 권한을 명시적으로 부여해야 합니다.

참고

앱이 설치 스크립트에서 외부 테이블이나 Iceberg 테이블을 직접 확인하려고 시도하는 경우, 컨슈머가 아직 앱에 권한을 부여하지 않았다면 설치 스크립트가 실패합니다. 예를 들어, 외부 테이블에서 뷰를 생성하는 등 외부 데이터에 액세스하려면 공급자가 설치 스크립트의 저장 프로시저에서 뷰를 생성해야 합니다. 그러면 컨슈머가 앱에 권한을 부여한 후에 앱이 저장된 프로시저를 호출할 수 있습니다.

컨슈머가 앱이 외부 및 Iceberg 테이블에 액세스할 수 있도록 허용하는 Python Permission SDK 를 생성하려면 Snowsight 는 다음과 같은 함수를 제공합니다.

request_external_data() -> None

Snowsight 가 앱에 필요한 외부 또는 Iceberg 테이블에 액세스할 수 있도록 허용할지 묻는 대화 상자를 컨슈머에게 표시하도록 합니다.

is_external_data_enabled() -> boolean

컨슈머가 앱이 외부 테이블이나 Iceberg 테이블을 사용하도록 허용했는지 여부를 확인합니다. 허용되는 경우 True 를 반환합니다. 그렇지 않으면, False 를 반환합니다.