Native App: 앱의 매니페스트 파일에서 제거된 참조를 사용하는 쿼리가 실패함¶
Snowflake Native App은 컨슈머 계정의 오브젝트에 대한 액세스 권한을 부여하기 위해 참조 를 요청할 수 있습니다. 이러한 참조는 애플리케이션 버전의 매니페스트 파일 에서 앱 공급자에 의해 정의됩니다. 새 버전의 앱이 매니페스트 파일에서 이전에 포함된 참조 정의를 제거하면 원래 참조는 현재 버전에 더 이상 존재하지 않습니다.
예를 들어 앱 my_app
의 V1
버전에서는 앱 공급자가 참조 REF_TO_TABLE을 정의합니다. 앱에는 테이블 참조 REF_TO_TABLE을 사용하여 뷰 VIEW_SELECT_FROM_DEFINED_REF를 생성하는 저장 프로시저 CREATE_VIEW_FROM_TABLE이 포함됩니다.
컨슈머는 my_app
을 설치하고, my_app
에 자신의 계정에 있는 테이블의 참조를 연결하고, 앱의 CREATE_VIEW_FROM_TABLE 프로시저를 호출한 다음, 뷰 VIEW_SELECT_FROM_DEFINED_REF에서 선택할 수 있습니다.
앱 my_app
의 버전 V2
에서는 앱 공급자가 REF_TO_TABLE에 대한 참조 정의를 제거합니다. 컨슈머가 설치된 앱 my_app
을 V2
로 업그레이드할 경우 CREATE_VIEW_FROM_TABLE 프로시저가 버전 V2
의 매니페스트 파일에 더 이상 정의되지 않는 참조를 사용하므로 프로시저 호출이 실패해야 합니다.
매니페스트 파일에서 제거된 참조를 사용하는 Snowflake Native App의 쿼리는 다음과 같이 동작합니다.
- 변경 전:
현재 버전의 앱에 대한 매니페스트 파일에 더 이상 정의되지 않은 참조를 사용하는 쿼리는 성공 합니다.
- 변경 후:
현재 버전의 앱에 대한 매니페스트 파일에 더 이상 정의되지 않은 참조를 사용하는 쿼리는 다음 오류가 발생하며 실패 합니다.
Reference definition '<REF_DEF_NAME>' cannot be found in the current version of the application '<APP_NAME>'
참조: 1218