Update Cosmos DB Table Throughput

The Update Cosmos DB Table Thoughput Action is used to update the throughput of every table within targeted Cosmos DB database accounts.

Permissions

When you link GorillaStack to your Azure account, GorillaStack creates a service principal that provides access to the following permissions that are used by this action:

  • Microsoft.DocumentDB/databaseAccounts/read
  • Microsoft.DocumentDB/databaseAccounts/tables/read
  • Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings/read
  • Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings/write

Getting Started

  1. Link your Azure account to your GorillaStack account if you have not done so already
  2. Create a database account in the linked Azure account
  3. Apply tags to the database account so it can be targeted in GorillaStack
  4. Create a new rule in GorillaStack
  5. In the rule’s context settings, select Azure as the platform, and then select one or more linked Azure Subscriptions to target
  6. In the rule’s trigger settings, select any available trigger — Schedule and Manual Execution are the most popular
  7. In the rule’s actions settings, select Update Cosmos DB Table Throughput as the action
  8. In this action’s Tag Targeting panel, create or select a tag group that targets the intended database account(s) and no others
  9. In this action’s Throughput Settings panel, select a throughput
  10. In the same panel, also click Store Existing Throughput if you want GorillaStack to remember each database account table’s current throughput before changing it
  11. To use the information stored in the previous step, create a second rule in which Restore To Previous Throughput is selected

Note

Azure sets a few limitations that affect how this action operates:

  • The throughput setting must be a multiple of 100 RU/s
  • If your database is in heavy use, Azure might set a minimum throughput that is higher than 400 RU/s, and if the target throughput in the rule is less than this minimum throughput, the rule will set the throughput to the actual minimum
  • The maximum throughput on a Cosmos DB database account is almost always 1,000,000 but a small number of customers with exceptional needs have negotiated a higher throughput with directly Microsoft; customers in this position should contact GorillaStack directly too
  • Do not enable the setting in Cosmos DB that allows you to update the throughput on an entire database account in one operation as GorillaStack updates (and stores/restores) the throughput on each table in a database account individually
  • The Update Cosmos DB Table Throughput Action loops through each table in a database account, and updates, stores and restores each one individually, but it uses tags on the database account for targeting, as Cosmos DB does not allow the tagging of tables
  • You must create your Cosmos DB database account with the Table API for it to have tables; if not, you will probably find your database has containers instead of tables