<budget_name>!ADD_RESOURCE

사용자 지정 예산 에 오브젝트를 추가합니다. 오브젝트는 참조 로 추가해야 합니다.

참고 항목:

<budget_name>!REMOVE_RESOURCE, <budget_name>!GET_LINKED_RESOURCES

구문

<budget_name>!ADD_RESOURCE( { '<object_reference>' | <reference_statement> } )
Copy

인자

'object_reference'

오브젝트로 확인되는 직렬화된 문자열 표현입니다. 이 문자열은 SYSTEM$REFERENCE 함수의 출력입니다.

reference_statement

예산에 추가할 오브젝트에 대한 참조를 생성하는 SYSTEM$REFERENCE 문입니다.

반환

Successfully added resource to resource group

액세스 제어 요구 사항

사용자 지정 예산에 대해 이 메서드를 호출하려면 다음 권한과 역할이 필요합니다.

  • 예산 인스턴스에 대해 ADMIN 인스턴스 역할 을 가진 역할.

  • 예산 인스턴스가 포함된 데이터베이스와 스키마에 대한 USAGE 권한이 부여된 역할.

  • 오브젝트에 대한 APPLYBUDGET 권한이 추가되는 역할.

사용법 노트

  • 사용자 지정 예산 에만 오브젝트를 추가할 수 있습니다.

  • SNOWFLAKE 데이터베이스에 대한 참조를 생성할 수 없으며 이를 예산에 추가할 수도 없습니다.

  1. 오브젝트에 대한 참조를 생성하고 오브젝트를 예산에 추가합니다.

    테이블 t1 에 대한 참조를 만듭니다.

    SELECT SYSTEM$REFERENCE('TABLE', 't1', 'SESSION', 'APPLYBUDGET');
    
    Copy

    반환 결과:

    ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7
    

    스키마 budget_db.budget_schema 의 예산 my_budget 에 테이블 t1 을 추가합니다.

    CALL budget_db.budget_schema.my_budget!ADD_RESOURCE(
      'ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7');
    
    Copy
  2. SYSTEM$REFERENCE 문을 사용하여 예산에 오브젝트를 추가합니다.

    스키마 budget_db.budget_schema 의 예산 my_budget 에 테이블 t1 을 추가합니다.

    CALL budget_db.budget_schema.my_budget!ADD_RESOURCE(
      SELECT SYSTEM$REFERENCE('TABLE', 't2', 'SESSION', 'APPLYBUDGET'));
    
    Copy

오류 메시지

다음 시나리오는 사용자 지정 예산에 리소스를 추가할 때 발생할 수 있는 문제를 해결하는 데 도움이 될 수 있습니다.

오류

Unknown user-defined function <budget_db>.<budget_schema>.ADD_RESOURCE

원인

이 메서드를 호출하는 데 사용한 역할에는 ADMIN 인스턴스 역할이 없습니다.

해결책

예산에 오브젝트를 추가하는 데 필요한 역할과 권한이 있는 역할을 사용하십시오. 액세스 제어 요구 사항 을 참조하십시오.

오류

002003 (02000): SQL compilation error:
<object_type> '<object_name>' does not exist or not authorized.

원인

이 메서드를 호출하는 데 사용한 역할에는 예산에 추가하려는 오브젝트에 대한 APPLYBUDGET 권한이 없습니다.

해결책

예산에 오브젝트를 추가하는 데 필요한 역할과 권한이 있는 역할을 사용하십시오. 액세스 제어 요구 사항 을 참조하십시오.

오류

Uncaught exception of type 'EXPRESSION_ERROR' on line 10 at position 21 :
Privilege 'APPLYBUDGET' is not authorized on the reference object.

원인

SYSTEM$REFERENCE 문에 PRIVILEGE 매개 변수를 지정하지 않고 오브젝트에 대한 참조를 생성하려고 했습니다.

해결책

오브젝트에 대한 APPLYBUDGET 권한으로 참조를 생성하십시오.

오류

505001 (55000): Uncaught exception of type 'EXPRESSION_ERROR' on line 10
at position 21 : Specified object does not exist or not authorized for
the reference.

원인

인라인 SYSTEM$REFERENCE 문을 사용하여 사용자 지정 예산에 SNOWFLAKE 데이터베이스를 추가하려고 했습니다.

해결책

SNOWFLAKE 데이터베이스를 예산에 추가할 수 없습니다. 위의 사용법 노트 를 참조하십시오.