-
Notifications
You must be signed in to change notification settings - Fork 23
Description
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"
}
}
}