Skip to content

Add Support for Configurable Rate Limiting with service and action tags #899

@misraved

Description

@misraved

Is your feature request related to a problem? Please describe.
Currently, the Steampipe Azure plugin does not implement any form of rate limiting. This makes it easy to accidentally overwhelm Azure APIs, especially during high-concurrency operations like querying dashboards or scanning multiple subscriptions. Without any throttling or backpressure mechanism, users can encounter Azure 429 (Too Many Requests) errors or inconsistent performance.

Describe the solution you'd like
Introduce support for configurable token bucket–based rate limiting in the plugin, similar to what is available in other Steampipe plugins (e.g., AWS). Each List and Get operation in a table should be tagged with:

  • a service tag (e.g., key_vault, compute)
  • an action tag (e.g., GetSecret, ListAll, ListByResourceGroup)

This tagging will allow users to define limiter blocks in azure.spc like:

plugin "azure" {
  limiter "azure_key_vault_list_secrets" {
    bucket_size = 400
    fill_rate   = 400
    tags = {
      service = "key_vault"
      action  = "ListSecrets"
    }
  }
}

Metadata

Metadata

Labels

azureAzure plugin issuesenhancementNew feature or requeststeampipeSteampipe plugin issues

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions