{
    "api_version": "1",
    "kind": "dse_post",
    "self": "https://update.dsesecurity.com/api/v1/posts/dse-20260917-059-budget-every-resource-graph-result-page-against-query-quota/",
    "item": {
        "id": "https://update.dsesecurity.com/updates/dse-20260917-059-budget-every-resource-graph-result-page-against-query-quota/",
        "slug": "dse-20260917-059-budget-every-resource-graph-result-page-against-query-quota",
        "url": "https://update.dsesecurity.com/updates/dse-20260917-059-budget-every-resource-graph-result-page-against-query-quota/",
        "alternate_urls": {
            "markdown": "https://update.dsesecurity.com/updates/dse-20260917-059-budget-every-resource-graph-result-page-against-query-quota.md",
            "json": "https://update.dsesecurity.com/api/v1/posts/dse-20260917-059-budget-every-resource-graph-result-page-against-query-quota/"
        },
        "title": "Budget every Resource Graph result page against query quota",
        "summary": "A paginated inventory consumes more than one query operation.",
        "format": {
            "slug": "guide",
            "name": "Guide"
        },
        "priority": {
            "slug": "info",
            "name": "Information"
        },
        "featured": false,
        "image": {
            "theme": "managed-it",
            "label": "Managed IT operations",
            "alt": "A controlled technology lifecycle progressing from assessment to approved production.",
            "card_url": "https://update.dsesecurity.com/assets/editorial/managed-it-card.webp?v=1.8.20",
            "hero_url": "https://update.dsesecurity.com/assets/editorial/managed-it-hero.webp?v=1.8.20",
            "social_url": "https://update.dsesecurity.com/assets/editorial/managed-it-social-v2.jpg?v=1.8.20",
            "width": 2400,
            "height": 1350
        },
        "topics": [
            {
                "slug": "cybersecurity",
                "name": "Cybersecurity",
                "url": "https://update.dsesecurity.com/topic/cybersecurity/"
            },
            {
                "slug": "it",
                "name": "IT",
                "url": "https://update.dsesecurity.com/topic/it/"
            }
        ],
        "author": {
            "name": "DSE Security Editorial Team",
            "url": "https://update.dsesecurity.com/#editorial-team",
            "type": "Organization"
        },
        "publisher": {
            "name": "Detection Systems & Engineering",
            "url": "https://dsesecurity.com/"
        },
        "published_at": "2026-09-17T16:34:01+00:00",
        "modified_at": "2026-09-17T16:38:45+00:00",
        "reviewed_on": "2026-09-17",
        "reading_minutes": 1,
        "word_count": 208,
        "potentially_affected": "Use this review for an automated Resource Graph inventory that already handles continuation tokens. Identify its expected page count, schedule and concurrent jobs. Keep quota budgeting separate from the query-shape question of whether a continuation token is available at all.",
        "dse_recommendation": "DSE recommends measuring requests per complete inventory, including continuation calls and any retries, before setting the schedule.",
        "primary_source": {
            "name": "Guidance for throttled requests in Azure Resource Graph - Azure Resource Graph | Microsoft Learn",
            "url": "https://learn.microsoft.com/en-us/azure/governance/resource-graph/concepts/guidance-for-throttled-requests",
            "published_on": null,
            "authority": "Microsoft Learn"
        },
        "publishing_principles": "https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/",
        "usage_info": "https://update.dsesecurity.com/usage/",
        "copyright_notice": "Copyright © 2026 Detection Systems & Engineering. All rights reserved.",
        "content_html": "<h2>Source facts</h2>\n<p>Microsoft directs Resource Graph SDK callers to pass the previous response&#8217;s skip token to the next paginated request and combine the pages afterward. Each of those paginated queries consumes query quota. A logical inventory operation can therefore require several quota-consuming calls. <a href=\"https://learn.microsoft.com/en-us/azure/governance/resource-graph/concepts/guidance-for-throttled-requests\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft Learn</a>.</p>\n<h2>Applicability</h2>\n<p>Use this review for an automated Resource Graph inventory that already handles continuation tokens. Identify its expected page count, schedule and concurrent jobs. Keep quota budgeting separate from the query-shape question of whether a continuation token is available at all.</p>\n<h2>DSE recommendation</h2>\n<p>DSE recommends measuring requests per complete inventory, including continuation calls and any retries, before setting the schedule. Have the automation owner coordinate competing runs and use the service&#8217;s current throttling guidance. Retain partial results as incomplete until every expected page has been processed, and define how an interrupted run is reported.</p>\n<h2>Verification</h2>\n<p>Run a bounded inventory large enough to require multiple pages. Record each request, returned continuation token and final completion condition without exposing sensitive payloads. Confirm that the assembled result contains the intended scope and that interrupted retrieval does not appear complete. Compare the measured request count with the job&#8217;s quota assumptions before increasing frequency or concurrency.</p>\n<h2>Official references</h2>\n<p><a href=\"https://learn.microsoft.com/en-us/azure/governance/resource-graph/concepts/guidance-for-throttled-requests\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft Learn: Guidance for throttled requests in Azure Resource Graph</a>.</p>",
        "content_text": "Source facts\nMicrosoft directs Resource Graph SDK callers to pass the previous response’s skip token to the next paginated request and combine the pages afterward. Each of those paginated queries consumes query quota. A logical inventory operation can therefore require several quota-consuming calls. Microsoft Learn.\nApplicability\nUse this review for an automated Resource Graph inventory that already handles continuation tokens. Identify its expected page count, schedule and concurrent jobs. Keep quota budgeting separate from the query-shape question of whether a continuation token is available at all.\nDSE recommendation\nDSE recommends measuring requests per complete inventory, including continuation calls and any retries, before setting the schedule. Have the automation owner coordinate competing runs and use the service’s current throttling guidance. Retain partial results as incomplete until every expected page has been processed, and define how an interrupted run is reported.\nVerification\nRun a bounded inventory large enough to require multiple pages. Record each request, returned continuation token and final completion condition without exposing sensitive payloads. Confirm that the assembled result contains the intended scope and that interrupted retrieval does not appear complete. Compare the measured request count with the job’s quota assumptions before increasing frequency or concurrency.\nOfficial references\nMicrosoft Learn: Guidance for throttled requests in Azure Resource Graph.",
        "content_markdown": "## Source facts\n\nMicrosoft directs Resource Graph SDK callers to pass the previous response’s skip token to the next paginated request and combine the pages afterward. Each of those paginated queries consumes query quota. A logical inventory operation can therefore require several quota-consuming calls. [Microsoft Learn](https://learn.microsoft.com/en-us/azure/governance/resource-graph/concepts/guidance-for-throttled-requests).\n\n## Applicability\n\nUse this review for an automated Resource Graph inventory that already handles continuation tokens. Identify its expected page count, schedule and concurrent jobs. Keep quota budgeting separate from the query-shape question of whether a continuation token is available at all.\n\n## DSE recommendation\n\nDSE recommends measuring requests per complete inventory, including continuation calls and any retries, before setting the schedule. Have the automation owner coordinate competing runs and use the service’s current throttling guidance. Retain partial results as incomplete until every expected page has been processed, and define how an interrupted run is reported.\n\n## Verification\n\nRun a bounded inventory large enough to require multiple pages. Record each request, returned continuation token and final completion condition without exposing sensitive payloads. Confirm that the assembled result contains the intended scope and that interrupted retrieval does not appear complete. Compare the measured request count with the job’s quota assumptions before increasing frequency or concurrency.\n\n## Official references\n\n[Microsoft Learn: Guidance for throttled requests in Azure Resource Graph](https://learn.microsoft.com/en-us/azure/governance/resource-graph/concepts/guidance-for-throttled-requests)."
    },
    "json_ld": {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "https://dsesecurity.com/#organization",
                "name": "Detection Systems & Engineering",
                "alternateName": "DSE Security",
                "url": "https://dsesecurity.com/",
                "logo": {
                    "@type": "ImageObject",
                    "url": "https://update.dsesecurity.com/assets/dse-logo-20260812.png?v=1.8.20"
                }
            },
            {
                "@type": "Organization",
                "@id": "https://update.dsesecurity.com/#editorial-team",
                "name": "DSE Security Editorial Team",
                "url": "https://update.dsesecurity.com/",
                "parentOrganization": {
                    "@id": "https://dsesecurity.com/#organization"
                }
            },
            {
                "@type": "WebSite",
                "@id": "https://update.dsesecurity.com/#website",
                "name": "DSE Updates",
                "alternateName": "DSE Security Knowledge Hub",
                "url": "https://update.dsesecurity.com/",
                "inLanguage": "en-US",
                "publisher": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "potentialAction": {
                    "@type": "SearchAction",
                    "target": {
                        "@type": "EntryPoint",
                        "urlTemplate": "https://update.dsesecurity.com/?q={search_term_string}"
                    },
                    "query-input": "required name=search_term_string"
                }
            },
            {
                "@type": "WebPage",
                "@id": "https://update.dsesecurity.com/updates/dse-20260917-059-budget-every-resource-graph-result-page-against-query-quota/",
                "url": "https://update.dsesecurity.com/updates/dse-20260917-059-budget-every-resource-graph-result-page-against-query-quota/",
                "isPartOf": {
                    "@id": "https://update.dsesecurity.com/#website"
                },
                "lastReviewed": "2026-09-17"
            },
            {
                "@type": "BreadcrumbList",
                "@id": "https://update.dsesecurity.com/updates/dse-20260917-059-budget-every-resource-graph-result-page-against-query-quota/#breadcrumbs",
                "itemListElement": [
                    {
                        "@type": "ListItem",
                        "position": 1,
                        "name": "DSE Updates",
                        "item": "https://update.dsesecurity.com/"
                    },
                    {
                        "@type": "ListItem",
                        "position": 2,
                        "name": "Budget every Resource Graph result page against query quota",
                        "item": "https://update.dsesecurity.com/updates/dse-20260917-059-budget-every-resource-graph-result-page-against-query-quota/"
                    }
                ]
            },
            {
                "@type": [
                    "Article",
                    "TechArticle"
                ],
                "@id": "https://update.dsesecurity.com/updates/dse-20260917-059-budget-every-resource-graph-result-page-against-query-quota/#article",
                "identifier": "https://update.dsesecurity.com/updates/dse-20260917-059-budget-every-resource-graph-result-page-against-query-quota/",
                "url": "https://update.dsesecurity.com/updates/dse-20260917-059-budget-every-resource-graph-result-page-against-query-quota/",
                "headline": "Budget every Resource Graph result page against query quota",
                "description": "A paginated inventory consumes more than one query operation.",
                "abstract": "A paginated inventory consumes more than one query operation.",
                "articleBody": "Source facts\nMicrosoft directs Resource Graph SDK callers to pass the previous response’s skip token to the next paginated request and combine the pages afterward. Each of those paginated queries consumes query quota. A logical inventory operation can therefore require several quota-consuming calls. Microsoft Learn.\nApplicability\nUse this review for an automated Resource Graph inventory that already handles continuation tokens. Identify its expected page count, schedule and concurrent jobs. Keep quota budgeting separate from the query-shape question of whether a continuation token is available at all.\nDSE recommendation\nDSE recommends measuring requests per complete inventory, including continuation calls and any retries, before setting the schedule. Have the automation owner coordinate competing runs and use the service’s current throttling guidance. Retain partial results as incomplete until every expected page has been processed, and define how an interrupted run is reported.\nVerification\nRun a bounded inventory large enough to require multiple pages. Record each request, returned continuation token and final completion condition without exposing sensitive payloads. Confirm that the assembled result contains the intended scope and that interrupted retrieval does not appear complete. Compare the measured request count with the job’s quota assumptions before increasing frequency or concurrency.\nOfficial references\nMicrosoft Learn: Guidance for throttled requests in Azure Resource Graph.",
                "datePublished": "2026-09-17T16:34:01+00:00",
                "dateModified": "2026-09-17T16:38:45+00:00",
                "mainEntityOfPage": {
                    "@id": "https://update.dsesecurity.com/updates/dse-20260917-059-budget-every-resource-graph-result-page-against-query-quota/"
                },
                "inLanguage": "en-US",
                "isAccessibleForFree": true,
                "author": {
                    "@type": "Organization",
                    "name": "DSE Security Editorial Team",
                    "url": "https://update.dsesecurity.com/#editorial-team"
                },
                "publisher": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "image": {
                    "@type": "ImageObject",
                    "@id": "https://update.dsesecurity.com/updates/dse-20260917-059-budget-every-resource-graph-result-page-against-query-quota/#primaryimage",
                    "url": "https://update.dsesecurity.com/assets/editorial/managed-it-social-v2.jpg?v=1.8.20",
                    "contentUrl": "https://update.dsesecurity.com/assets/editorial/managed-it-social-v2.jpg?v=1.8.20",
                    "width": 1200,
                    "height": 630,
                    "caption": "Budget every Resource Graph result page against query quota"
                },
                "articleSection": [
                    "Cybersecurity",
                    "IT"
                ],
                "keywords": [
                    "Cybersecurity",
                    "IT",
                    "Guide",
                    "Information priority"
                ],
                "genre": "Guide",
                "about": [
                    {
                        "@type": "Thing",
                        "name": "Cybersecurity",
                        "url": "https://update.dsesecurity.com/topic/cybersecurity/"
                    },
                    {
                        "@type": "Thing",
                        "name": "IT",
                        "url": "https://update.dsesecurity.com/topic/it/"
                    }
                ],
                "wordCount": 208,
                "timeRequired": "PT1M",
                "publishingPrinciples": "https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/",
                "usageInfo": "https://update.dsesecurity.com/usage/",
                "copyrightHolder": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "copyrightNotice": "Copyright © 2026 Detection Systems & Engineering. All rights reserved.",
                "citation": {
                    "@type": "CreativeWork",
                    "name": "Guidance for throttled requests in Azure Resource Graph - Azure Resource Graph | Microsoft Learn",
                    "url": "https://learn.microsoft.com/en-us/azure/governance/resource-graph/concepts/guidance-for-throttled-requests"
                }
            }
        ]
    }
}