Získání malých nákladových datových sad na vyžádání

Pomocí rozhraní API Pro podrobnosti nákladů získáte nezpracovaná neagregovaná data nákladů, která odpovídají vašemu vyúčtování Azure. Toto rozhraní API je užitečné v případě, že vaše organizace potřebuje řešení pro načítání dat prostřednictvím kódu programu. Zvažte použití rozhraní API, pokud chcete analyzovat menší sady dat nákladů o velikosti 2 GB (2 miliony řádků) nebo méně. Exporty byste ale měli použít pro průběžné úlohy příjmu dat a pro stahování větších datových sad.

Pokud chcete pravidelně získávat velké objemy exportovaných dat, přečtěte si téma Opakované načtení velkých nákladových datových sad s exporty.

Další informace odatech

Sestava Podrobnosti nákladů je dostupná jenom pro zákazníky s smlouva Enterprise nebo Smlouva se zákazníkem Microsoftu. Pokud jste zákazníkem MSDN, průběžných plateb nebo sady Visual Studio, přečtěte si podrobnosti o nákladech pro předplatné s průběžným platbou.

Oprávnění

Pokud chcete použít rozhraní API Pro podrobnosti nákladů, potřebujete oprávnění jen pro čtení pro podporované funkce a obory.

Poznámka:

Rozhraní API pro podrobnosti nákladů nepodporuje skupiny pro správu pro zákazníky se smlouvou EA nebo MCA.

Další informace naleznete v tématu:

Osvědčené postupy rozhraní API pro podrobnosti nákladů

Microsoft doporučuje následující osvědčené postupy při používání rozhraní API Pro podrobnosti nákladů.

Plán požadavků

Pokud chcete získat nejnovější data o nákladech, doporučujeme dotazovat se maximálně jednou za den. Sestavy se aktualizují každých čtyři hodiny. Pokud voláte častěji, obdržíte identická data. Jakmile si stáhnete údaje o nákladech na historické faktury, poplatky se nezmění, pokud nebudete explicitně upozorněni. Doporučujeme ukládat data nákladů do mezipaměti do dotazovatelného úložiště na vaší straně, aby se zabránilo opakovaným voláním stejných dat.

Zahodí vaše požadavky

Zachytejte volání do malých rozsahů kalendářních dat, abyste získali více spravovatelných souborů, které si můžete stáhnout přes síť. Pokud máte například velký soubor nákladů na Azure od měsíce do měsíce, doporučujeme provádět bloky dat podle dne nebo týdne. Pokud máte rozsahy s velkým množstvím nákladových dat (například fakturační účet), zvažte umístění několika volání do podřízených oborů, abyste získali více spravovatelných souborů, které si můžete stáhnout. Další informace o oborech služby Cost Management najdete v tématu Vysvětlení a práce s rozsahy. Po stažení dat použijte Excel k další analýze dat pomocí filtrů a kontingenčních tabulek.

Pokud je vaše datová sada větší než 2 GB (nebo zhruba 2 miliony řádků) mezi měsíci, zvažte použití exportů jako škálovatelného řešení.

Omezení latence a rychlosti

Volání rozhraní API na vyžádání jsou omezená rychlostí. Čas potřebný ke generování souboru podrobností o nákladech přímo koreluje s objemem dat v souboru. Abyste pochopili očekávanou dobu, po kterou bude soubor k dispozici ke stažení, můžete použít hlavičku retry-after v odpovědi rozhraní API.

Podporované časové rozsahy datových sad

Rozhraní API pro podrobnosti nákladů podporuje maximální časový rozsah datové sady o jednom měsíci na sestavu. Historická data je možné načíst po dobu až 13 měsíců před aktuálním datem. Pokud chcete nastavit 13měsíční historickou datovou sadu, doporučujeme za posledních 13 měsíců umístit 13 volání do datových sad za jeden měsíc. Pokud chcete načíst historická data starší než 13 měsíců, použijte rozhraní REST API pro exporty.

Příklady požadavků rozhraní API pro podrobnosti nákladů

Následující příklady požadavků používají zákazníci Microsoftu k řešení běžných scénářů. Data vrácená požadavkem odpovídají datu, kdy byly náklady přijaty fakturačním systémem. Mohou zahrnovat náklady z více faktur. Jedná se o asynchronní rozhraní API. Proto umístíte počáteční volání, které požádá o sestavu a obdržíte odkaz na dotazování v hlavičce odpovědi. Odtud se můžete dotazovat na odkaz, který jste zadali, dokud nebude sestava k dispozici.

Pomocí hlavičky retry-after v odpovědi rozhraní API můžete určit, kdy se má rozhraní API dotazovat. Hlavička poskytuje odhadovaný minimální čas potřebný ke generování sestavy.

Další informace o kontraktu rozhraní API najdete v tématu Rozhraní API Podrobnosti nákladů .

Skutečné náklady versus amortizované náklady

Pokud chcete určit, jestli chcete zobrazit skutečnou nebo amortizovanou sestavu nákladů, změňte hodnotu použitou pro pole metriky v textu počátečního požadavku. Dostupné hodnoty metrik jsou ActualCost nebo AmortizedCost.

Amortizované náklady rozdělí vaše nákupy rezervací do denních bloků a rozloží je po dobu trvání období rezervace. Například místo nákupu v hodnotě 365 Kč z 1. ledna se tak každý den od 1. ledna do 31. prosince zobrazí nákup v hodnotě 1 Kč. Kromě základní amortizace se náklady také relokují a přidruží pomocí konkrétních prostředků, které rezervaci používaly. Pokud se například denní poplatek 1,00 USD rozdělil mezi dva virtuální počítače, zobrazily by se vám dva poplatky za den ve výši 0,50 USD. Pokud část rezervace nebude některý den využitá, zobrazí se vám jeden poplatek ve výši 0,50 Kč přidružený k příslušnému virtuálnímu počítači a další poplatek ve výši 0,50 Kč s typem poplatku UnusedReservation. Náklady na nevyužité rezervace se zobrazují jenom při prohlížení amortizovaných nákladů.

Vzhledem ke změně způsobu znázornění nákladů je důležité si uvědomit, že zobrazení skutečných nákladů a amortizovaných nákladů zobrazují různá celková čísla. Obecně platí, že celkové náklady na měsíce v průběhu času nákupu rezervace se při prohlížení amortizovaných nákladů sníží. Náklady na měsíce po zvýšení nákupu rezervace. Amortizace je dostupná jenom pro nákupy rezervací a aktuálně se nevztahuje na nákupy na Azure Marketplace.

Počáteční požadavek na vytvoření sestavy

POST https://management.azure.com/{scope}/providers/Microsoft.CostManagement/generateCostDetailsReport?api-version=2022-05-01

Text žádosti:

Tady je příklad požadavku na datovou sadu ActualCost pro zadaný rozsah kalendářních dat.

{
  "metric": "ActualCost",
  "timePeriod": {
    "start": "2020-03-01",
    "end": "2020-03-15"
  }
}

Dostupné možnosti {scope} pro sestavení správného identifikátoru URI jsou popsané v části Identifikace ID prostředku pro obor.

Tady jsou dostupná pole, která můžete zadat v textu žádosti o sestavu.

  • metrika – typ požadované sestavy. Může to být Buď ActualCost, nebo AmortizedCost. Nepovinné. Pokud pole není zadané, rozhraní API ve výchozím nastavení nastaví sestavu ActualCost.
  • timePeriod – požadovaný rozsah kalendářních dat pro vaše data. Nepovinné. Tento parametr nelze použít společně s parametry invoiceId nebo billingPeriod. Pokud parametr timePeriod, invoiceId nebo billingPeriod není v textu požadavku zadaný, vrátí rozhraní API náklady na aktuální měsíc.
  • invoiceId – požadovaná faktura za vaše data. Tento parametr používá jenom Smlouva se zákazníkem Microsoftu zákazníci. Kromě toho ho můžete použít pouze v rozsahu fakturačního profilu nebo zákazníka. Tento parametr nelze použít společně s parametry billingPeriod nebo timePeriod. Pokud parametr timePeriod, invoiceId nebo billingPeriod není v textu požadavku zadaný, vrátí rozhraní API náklady na aktuální měsíc.
  • billingPeriod – požadované fakturační období pro vaše data. Tento parametr používá pouze smlouva Enterprise zákazníci. Použijte formát YearMonth. Například 202008. Tento parametr nelze použít společně s parametry invoiceId nebo timePeriod. Pokud parametr timePeriod, invoiceId nebo billingPeriod není v textu požadavku zadaný, vrátí rozhraní API náklady na aktuální měsíc.

Odpověď rozhraní API:

Response Status: 202 – Accepted : Označuje, že žádost byla přijata. Location Pomocí záhlaví zkontrolujte stav.

Hlavičky odpovědi:

Name Type Formát Popis
Umístění String Adresa URL, která zkontroluje výsledek asynchronní operace.
Opakovat po Celé číslo Int32 Očekávaný čas vygenerování sestavy Před dalším dotazováním počkejte na tuto dobu.

Dotazování sestav a stažení

Dotazování na sestavu pomocí koncového bodu uvedeného v location hlavičce odpovědi rozhraní API po vytvoření žádosti o vytvoření sestavy podrobností o nákladech. Tady je příklad požadavku na dotazování.

Žádost o dotazování sestav:

GET https://management.azure.com/{scope}/providers/Microsoft.CostManagement/costDetailsOperationStatus/{operationId}?api-version=2022-05-01

Response Status 200 – Succeeded: Označuje, že požadavek byl úspěšný.

{
  "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationResults/00000000-0000-0000-0000-000000000000",
  "name": "00000000-0000-0000-0000-000000000000",
  "status": "Completed",
  "manifest": {
    "manifestVersion": "2022-05-01",
    "dataFormat": "Csv",
    "blobCount": 1,
    "byteCount": 160769,
    "compressData": false,
    "requestContext": {
      "requestScope": "subscriptions/00000000-0000-0000-0000-000000000000",
      "requestBody": {
        "metric": "ActualCost",
        "timePeriod": {
          "start": "2020-03-01",
          "end": "2020-03-15"
        }
      }
    },
    "blobs": [
      {
        "blobLink": "{downloadLink}",
        "byteCount": 32741
      }
    ]
  },
  "validTill": "2022-05-10T08:08:46.1973252Z"
}

Tady je souhrn klíčových polí v odpovědi rozhraní API:

  • manifestVersion – verze kontraktu manifestu, který se používá v odpovědi. V tuto chvíli zůstává verze manifestu stejná pro danou verzi rozhraní API.
  • dataFormat – CSV je jediným podporovaným formátem souborů, který v tuto chvíli poskytuje rozhraní API.
  • blobCount – Představuje počet jednotlivých datových objektů blob v datové sadě sestavy. Je důležité si uvědomit, že toto rozhraní API může v odpovědi poskytnout dělenou datovou sadu více než jednoho souboru. Navrhněte datové kanály tak, aby bylo možné zpracovávat dělené soubory odpovídajícím způsobem. Dělení umožňuje rychlejší ingestování větších datových sad.
  • byteCount – celkový počet bajtů datové sady sestavy napříč všemi oddíly.
  • compressData – Komprese je vždy nastavena na false pro první verzi. Rozhraní API však bude podporovat kompresi v budoucnu.
  • requestContext – počáteční konfigurace požadovaná pro sestavu.
  • objekty blob – seznam n souborů objektů blob, které společně tvoří celou sestavu.
    • blobLink – adresa URL pro stažení jednotlivých oddílů objektů blob.
    • byteCount – počet bajtů jednotlivého oddílu objektu blob.
  • validTill – datum, kdy už není sestava přístupná.