Získání malých nákladových datových sad na vyžádání
Pomocí rozhraní API Podrobnosti nákladů můžete získat nezpracovaná, neagregovaná data nákladů, která odpovídají vaší faktuře za 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. Pokud chcete analyzovat menší datové sady nákladů o velikosti 2 GB (2 miliony řádků) nebo méně, zvažte použití rozhraní API. 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čítání datových sad s velkými náklady pomocí exportů.
Další informace o datech v podrobnostech o nákladech (dříve označovaných jako podrobnosti o využití) najdete v tématu Ingestování podrobností o nákladech.
Sestava Podrobnosti nákladů je dostupná jenom zákazníkům 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 článek Získání podrobností o nákladech pro předplatné s průběžnými 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 rozsahy. Další informace naleznete v tématu:
- Rozsahy Azure RBAC – Oprávnění rolí pro chování funkcí
- rozsahy smlouva Enterprise – oprávnění rolí pro chování funkcí
- rozsahy Smlouva se zákazníkem Microsoftu – oprávnění role pro chování funkcí
Osvědčené postupy pro rozhraní API pro podrobnosti nákladů
Microsoft při používání rozhraní API Pro podrobnosti nákladů doporučuje následující osvědčené postupy.
Plán požadavků
Pokud chcete získat nejnovější data o nákladech, doporučujeme dotazovat se maximálně jednou denně. Sestavy se aktualizují každé čtyři hodiny. Pokud voláte častěji, obdržíte identická data. Jakmile si stáhnete data nákladů pro historické faktury, poplatky se nezmění, dokud nedostanete explicitní upozornění. Pokud chcete zabránit opakovaným voláním identických dat, doporučujeme ukládat data nákladů do mezipaměti v úložišti s možnostmi dotazování.
Roztásejte své žádosti do bloku
Rozdělte volání do malých rozsahů dat, abyste získali lépe spravovatelné soubory, které si můžete stáhnout přes síť. Pokud máte například velký soubor nákladů na Azure měsíčně, doporučujeme provádět bloky dat po dnech nebo týdnech. Pokud máte rozsahy s velkým množstvím dat o nákladech (například fakturační účet), zvažte umístění několika volání do podřízených rozsahů, abyste získali lépe spravovatelné soubory, 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 můžete v Excelu dále analyzovat data pomocí filtrů a kontingenčních tabulek.
Pokud je vaše datová sada měsíc po měsíci větší než 2 GB (nebo zhruba 2 miliony řádků), zvažte použití exportů jako škálovatelného řešení.
Latence a omezení přenosové rychlosti
Volání rozhraní API na vyžádání jsou rychlostně omezená. Doba potřebná k vygenerování souboru s podrobnostmi o nákladech přímo koreluje s množstvím dat v souboru. Pokud chcete pochopit očekávanou dobu, po kterou bude soubor dostupný ke stažení, můžete použít hlavičku retry-after
v odpovědi rozhraní API.
Podporované časové rozsahy datové sady
Rozhraní API Pro podrobnosti nákladů podporuje maximální časový rozsah datové sady jeden měsíc na sestavu. Historická data je možné načíst až za 13 měsíců od aktuálního data. Pokud chcete nasypat datovou sadu s historickými daty za 13 měsíců, doporučujeme umístit 13 volání pro jednoměsíční datové sady o 13 měsíců zpět.
Příklad požadavků rozhraní API pro podrobnosti nákladů
Následující příklad 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. V takovém případě provedete počáteční volání s žádostí o sestavu a v hlavičce odpovědi obdržíte odkaz na dotazování. Odtud se můžete dotazovat na poskytnutý odkaz, dokud nebude sestava k dispozici.
Pomocí hlavičky retry-after
v odpovědi rozhraní API nadiktujte, kdy se má rozhraní API příště dotazovat. Hlavička poskytuje odhadovanou minimální dobu, kterou bude trvat vygenerování sestavy.
Další informace o kontraktu rozhraní API najdete v tématu Věnovaném rozhraní API pro podrobnosti nákladů .
Skutečné náklady versus amortizované náklady
Pokud chcete určit, jestli chcete zobrazit sestavu skutečných nákladů nebo amortizovaných nákladů, změňte hodnotu použitou pro pole metriky v textu počáteční žádosti. Dostupné hodnoty metrik jsou ActualCost
nebo AmortizedCost
.
Amortizované náklady rozdělí nákupy rezervací do denních bloků a rozloží je na 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 jsou náklady také přerozděleny a přidruženy pomocí konkrétních prostředků, které rezervaci využily. Pokud by se například denní poplatek 1,00 USD rozdělil mezi dva virtuální počítače, zobrazily by se vám za tento den dvě poplatky 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
. Nevyužité náklady na rezervace se zobrazují jenom při zobrazení amortizovaných nákladů.
Vzhledem k rozdílům v započítávání nákladů je důležité mít na vědomí, že v zobrazení skutečných a amortizačních nákladů se zobrazí rozdílné celkové částky. Obecně platí, že při zobrazení amortizovaných nákladů se celkové náklady na měsíce v průběhu času při nákupu rezervace sníží. Zvýší se počet měsíců následujících po nákupu rezervace. Amortizace je dostupná jenom pro nákupy rezervací a v současné době se nevztahuje na Azure Marketplace nákupy.
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 požadavku:
Příklad požadavku na datovou sadu ActualCost pro zadaný rozsah kalendářních dat je uvedený níže.
{
"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 tématu Identifikace ID prostředku pro obor.
Dostupná pole, která můžete zadat v textu žádosti sestavy, jsou shrnutá níže.
- metric – typ požadované sestavy. Může to být buď ActualCost, nebo AmortizedCost. Nevyžadují se. Pokud pole není zadané, rozhraní API ve výchozím nastavení použije sestavu ActualCost.
- timePeriod – požadovaný rozsah dat pro vaše data. Nevyžadují se. Tento parametr nelze použít společně s parametry invoiceId ani billingPeriod. Pokud text požadavku neobsahuje parametr timePeriod, invoiceId nebo billingPeriod, rozhraní API vrátí náklady za aktuální měsíc.
- invoiceId – požadovaná faktura pro vaše data. Tento parametr můžou používat jenom Smlouva se zákazníkem Microsoftu zákazníci. Kromě toho se dá použít jenom v rozsahu fakturačního profilu nebo zákazníka. Tento parametr nelze použít společně s parametry billingPeriod ani timePeriod. Pokud text požadavku neobsahuje parametr timePeriod, invoiceId nebo billingPeriod, rozhraní API vrátí náklady za aktuální měsíc.
- billingPeriod – požadované fakturační období pro vaše data. Tento parametr můžou používat jenom smlouva Enterprise zákazníci. Použijte formát YearMonth. Například 202008. Tento parametr nelze použít společně s parametry invoiceId ani timePeriod. Pokud text požadavku neobsahuje parametr timePeriod, invoiceId nebo billingPeriod, rozhraní API vrátí náklady za aktuální měsíc.
Odpověď rozhraní API:
Response Status: 202 – Accepted
: Označuje, že se žádost zpracuje. Pomocí hlavičky Location
zkontrolujte stav.
Hlavičky odpovědi:
Název | Typ | Formát | Description |
---|---|---|---|
Umístění | Řetězec | Adresa URL pro kontrolu výsledku asynchronní operace. | |
Retry-After | Integer | Int32 | Očekávaná doba pro vygenerování sestavy Před dalším dotazováním počkejte na tuto dobu. |
Dotazování a stahování sestav
Jakmile požádáte o vytvoření sestavy podrobností o nákladech, požádejte o tuto sestavu pomocí koncového bodu uvedeného v location
hlavičce odpovědi rozhraní API. Příklad žádosti o dotazování je níže.
Žádost o dotazování sestavy:
GET https://management.azure.com/{scope}/providers/Microsoft.CostManagement/costDetailsOperationStatus/{operationId}?api-version=2022-05-01
Response Status 200 – Succeeded
: Označuje, že žádost byla ú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"
}
Níže najdete souhrn polí s klíči v odpovědi rozhraní API:
- manifestVersion – verze kontraktu manifestu, která se používá v odpovědi. V tuto chvíli zůstane verze manifestu pro danou verzi rozhraní API stejná.
- dataFormat – jediným podporovaným formátem souborů, který rozhraní API v tuto chvíli poskytuje, je CSV.
- blobCount – představuje počet jednotlivých datových objektů blob, které jsou přítomné 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 s více než jedním souborem. Navrhněte datové kanály, abyste mohli odpovídajícím způsobem zpracovávat dělené soubory. Dělení vám umožní rychleji přijímat větší datové sady.
- byteCount – celkový počet bajtů datové sady sestavy napříč všemi oddíly.
- compressData – Komprese je pro první verzi vždy nastavená na false. Rozhraní API však bude v budoucnu podporovat kompresi.
- requestContext – počáteční konfigurace požadovaná pro sestavu.
- blobs – 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ých oddílů objektů blob.
- validTill – datum, kdy už sestava nebude přístupná.
Další kroky
- Přečtěte si článek Ingestování podrobností o nákladech .
- Přečtěte si další informace o volbě řešení s podrobnostmi o nákladech.
- Seznamte se s poli podrobností o nákladech.
- Umožňuje vytvářet a spravovat exportovaná data v Azure Portal s exporty.
- Automatizace vytváření a příjmu exportu ve velkém s využitím rozhraní API