ADA-C01 Question 357
Single answer4.3 Given a scenario, implement resource monitors.A Snowflake administrator needs to prevent a non-critical ETL warehouse from consuming more than 3,000 credits in a calendar month. The business also wants advance notice before the limit is reached and wants the warehouse to stop consuming credits automatically if the limit is exceeded. Which configuration best meets these requirements?
- A
Create a resource monitor with a monthly credit quota of 3,000, assign it to the ETL warehouse, and configure triggers to notify at 80% and suspend the warehouse at 100%.
- B
Create a warehouse with AUTO_SUSPEND enabled and set STATEMENT_TIMEOUT_IN_SECONDS so queries stop when monthly usage reaches 3,000 credits.
- C
Create an account-level resource monitor with a monthly quota of 3,000 and configure it to suspend all warehouses immediately at 100%.
- D
Create a budget for 3,000 credits and configure the budget to automatically suspend the ETL warehouse when the threshold is reached.
Show answer and explanation
Correct answer: A
Explanation
The best solution is to use a warehouse-level resource monitor. Resource monitors are designed to track credit usage over a specified interval, such as monthly, and can trigger actions including notifications and warehouse suspension when thresholds are met. In this scenario, the administrator should set a 3,000-credit monthly quota, assign the monitor to the ETL warehouse, configure an early warning threshold such as 80% with NOTIFY, and configure a 100% threshold with SUSPEND or SUSPEND_IMMEDIATE depending on how aggressively enforcement should occur. This approach aligns with Snowflake best practices for controlling spend on non-critical workloads without affecting unrelated warehouses. Account-level monitors are useful when the goal is to limit total account consumption, but they are not appropriate when only one warehouse must be governed. Warehouse parameters like AUTO_SUSPEND reduce unnecessary usage but do not implement quota-based governance. Snowflake documentation on resource monitors describes quotas, schedules, warehouse assignment, and actions such as NOTIFY, SUSPEND, and SUSPEND_IMMEDIATE as the correct mechanism for this use case.
- A. Correct.
Correct. A resource monitor is the Snowflake feature used to track credit usage and take actions at defined thresholds. To control a specific warehouse, the monitor should be assigned to that warehouse rather than the entire account. A monthly quota of 3,000 credits with a NOTIFY trigger before the limit and a SUSPEND or SUSPEND_IMMEDIATE action at 100% directly satisfies the requirements for advance warning and automatic enforcement.
- B. Incorrect.
Incorrect. AUTO_SUSPEND helps reduce idle warehouse time, and STATEMENT_TIMEOUT_IN_SECONDS limits query runtime, but neither setting enforces a monthly credit cap. These parameters do not monitor accumulated monthly credit consumption or trigger actions based on credit thresholds.
- C. Incorrect.
Incorrect. An account-level resource monitor would apply to the entire account's warehouse consumption, not just the non-critical ETL warehouse. While resource monitors can suspend warehouses when thresholds are reached, this option would be overly broad and could interrupt critical workloads unrelated to the ETL process.
- D. Incorrect.
Incorrect. Budgets are used for cost governance and monitoring, but they do not replace resource monitors for warehouse-level enforcement actions such as suspending compute when credit thresholds are reached. The common misconception is that budgets can directly stop warehouse consumption in the same way resource monitors can.