<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 권한.

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

사용법 노트

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

  • If you are directly adding individual objects, you can only add an object to one custom budget. In this case, if an object is currently included in one custom budget and you add that object to a second custom budget, Budgets removes the object from the first custom budget without issuing a warning.

    이 동작은 태그를 사용하여 예산에 오브젝트를 추가하는 경우에는 적용되지 않습니다. 태그를 사용하여 예산에 오브젝트를 추가하는 경우 하나 이상의 태그가 있는 오브젝트가 여러 사용자 지정 예산에 포함될 수 있습니다.

  • 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

오류 메시지

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