<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 문입니다.

참고

예산에 Snowflake Native App 을 추가하려면 SYSTEM$REFERENCE 를 호출할 때 object_type 인자에 'APPLICATION' 이 아닌 'DATABASE' 를 지정하십시오.

예산에 Snowflake Native App 추가하기 섹션을 참조하십시오.

반환

오브젝트가 예산에 성공적으로 추가되었는지 여부를 나타내는 VARCHAR 값을 반환합니다. 예:

Successfully added resource to resource group

오브젝트를 예산에 추가할 수 없는 경우 이 함수는 오류 메시지를 반환합니다. 사용자 지정 예산에서 오브젝트를 추가하거나 제거할 수 없습니다. 섹션을 참조하십시오.

액세스 제어 요구 사항

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

  • 예산 인스턴스에 대한 ADMIN 인스턴스 역할.

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

  • 추가 중인 오브젝트가 포함된 데이터베이스 및 스키마에 대한 USAGE 권한(스키마 오브젝트의 경우).

  • 추가 중인 오브젝트에 대한 APPLYBUDGET 권한.

자세한 내용은 예산 역할 및 권한 섹션을 참조하십시오.

사용법 노트

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

  • 사용자 지정 예산에는 하나의 오브젝트만 추가할 수 있습니다. 오브젝트가 현재 하나의 사용자 지정 예산에 포함되어 있는데 해당 오브젝트를 두 번째 사용자 지정 예산에 추가하면 Budgets는 경고 없이 첫 번째 사용자 지정 예산에서 해당 오브젝트를 제거합니다.

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

  • 이 메서드를 호출해도 오브젝트는 반환되지 않습니다. 이로 인해, 메서드 연결을 사용하여 이 메서드의 반환값으로 다른 메서드를 호출할 수 없습니다. 대신, 별도의 SQL 문에서 각 메서드를 호출합니다.

다음 예는 사용자 지정 예산에 오브젝트를 추가하는 방법을 보여줍니다.

예산에 테이블 추가하기

  • 다음 예제는 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
  • 다음 예제에서는 SQL 문을 사용하여 참조를 지정해 budget_db.budget_schema.my_budget 예산에 t2 테이블을 추가합니다.

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

예산에 Snowflake Native App 추가하기

다음 예제는 budget_db.budget_schema.my_budget 예산에 my_app 애플리케이션을 추가하는 예제입니다.

SYSTEM$REFERENCE 를 호출할 때는 object_type 인자에 'APPLICATION' 이 아닌 'DATABASE' 를 전달해야 합니다.

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

오류 메시지

일반적인 오류 메시지 목록과 원인 및 해결 방법은 사용자 지정 예산에서 오브젝트를 추가하거나 제거할 수 없습니다. 섹션을 참조하십시오.