Kis költségű adathalmazok igény szerinti lekérése

A Cost Details API használatával nyers, nem összesített, az Azure-számlának megfelelő költségadatokat kérhet le. Az API akkor hasznos, ha a szervezetnek programozott adatlekérési megoldásra van szüksége. Fontolja meg az API használatát, ha kisebb, 2 GB-os (2 millió sor) vagy annál kisebb költséghalmazt szeretne elemezni. Az Exportálást azonban a folyamatban lévő adatbetöltési számítási feladatokhoz és a nagyobb adathalmazok letöltéséhez kell használnia.

Ha rendszeresen nagy mennyiségű exportált adatot szeretne lekérni, tekintse meg a nagy költségű adathalmazok ismétlődő lekérése exportálással című témakört.

A költségadatok (korábbi nevén használati adatok) adataival kapcsolatos további információkért lásd : Ingest cost details data.

A Költség részletei jelentés csak Nagyvállalati Szerződés vagy Microsoft Ügyfélszerződés rendelkező ügyfelek számára érhető el. Ha Ön MSDN-, használatalapú fizetéses vagy Visual Studio-ügyfél, olvassa el a használatalapú fizetéses előfizetés költségadatainak lekérése című témakört.

Jogosultságok

A Cost Details API használatához csak olvasási engedélyekre van szüksége a támogatott funkciókhoz és hatókörökhöz.

Feljegyzés

A Cost Details API nem támogatja az EA- vagy MCA-ügyfelek felügyeleti csoportjait.

További információkért lásd:

A Cost Details API ajánlott eljárásai

A Microsoft a Cost Details API használata során az alábbi ajánlott eljárásokat javasolja.

Kérelmek ütemezése

Ha a legfrissebb költségadatokat szeretné lekérni, javasoljuk, hogy naponta legfeljebb egyszer kérdezz le. A jelentések négy óránként frissülnek. Ha gyakrabban hív, azonos adatokat kap. Miután letöltötte az előzményszámlák költségadatait, a díjak csak akkor változnak, ha explicit értesítést kap. Javasoljuk, hogy gyorsítótárazza a költségadatokat egy lekérdezhető tárolóban az Ön oldalán, hogy megakadályozza az azonos adatok ismételt hívását.

A kérések adattömbje

A hívások kis dátumtartományokba skálázhatók, így könnyebben kezelhető fájlokhoz juthat, amelyeket a hálózaton keresztül tölthet le. Például azt javasoljuk, hogy ha egy nagy Azure-költségfájlt hónapról hónapra szeretne átszúrni, javasoljuk, hogy napi vagy heti adattömbre bontsa az adatokat. Ha nagy mennyiségű költségadattal (például számlázási fiókkal) rendelkező hatókörökkel rendelkezik, érdemes lehet több hívást intézni a gyermekhatókörökhöz, hogy könnyebben kezelhető fájlokat kapjon, amelyeket letölthet. A Cost Management-hatókörökkel kapcsolatos további információért tekintse meg A hatókörök ismertetése és használata című szakaszt. Az adatok letöltése után az Excel segítségével szűrőkkel és kimutatástáblákkal elemezheti tovább az adatokat.

Ha az adathalmaz több mint 2 GB (vagy nagyjából 2 millió sor) hónapról hónapra, érdemes lehet az Exportot méretezhetőbb megoldásként használni.

Késés és sebességkorlátok

Az API igény szerinti hívásai korlátozottak. A költségadatokat tartalmazó fájl létrehozásához szükséges idő közvetlenül korrelál a fájlban lévő adatok mennyiségével. A fájl letöltésre való elérhetővé válása előtt várható idő megértéséhez használja a fejlécet az retry-after API-válaszban.

Támogatott adathalmaz időtartományai

A Cost Details API a jelentésenkénti egy hónapos maximális adatkészlet-időtartományt támogatja. Az előzményadatok az aktuális dátum előtt legfeljebb 13 hónapig kérhetők le. Ha 13 hónapos előzményadatkészletet szeretne létrehozni, javasoljuk, hogy az elmúlt 13 hónapban 13 hívást helyezzen el egy havi adathalmazban. A 13 hónapnál régebbi előzményadatok lekéréséhez használja az Export REST API-t.

Példa Cost Details API-kérelmekre

A Microsoft-ügyfelek az alábbi példakéréseket használják a gyakori forgatókönyvek kezelésére. A kérelem által visszaadott adatok a számlázási rendszer által kapott költség dátumának felelnek meg. Több számla költségeit is tartalmazhatja. Ez egy aszinkron API. Ezért kezdeti hívást kezdeményez a jelentés lekéréséhez, és egy lekérdezési hivatkozást kap a válasz fejlécében. Innen lekérdezheti a megadott hivatkozást, amíg el nem érhető a jelentés.

retry-after Az API-válasz fejlécével megszabhatja, hogy mikor kell legközelebb lekérdezni az API-t. A fejléc a jelentés generálásához szükséges becsült minimális időt adja meg.

Az API-szerződésről további információt a Cost Details API-val kapcsolatban talál.

Tényleges költség és amortizált költség

Ha meg szeretné állapítani, hogy tényleges költséget vagy amortizált költségjelentést szeretne-e látni, módosítsa a metrikamezőhöz használt értéket a kezdeti kérelem törzsében. Az elérhető metrikaértékek vagy ActualCostAmortizedCost.

Az amortizált költségek napi adattömbökre bontják a foglalásvásárlásokat, és a foglalás időtartama alatt elosztják őket. Például ahelyett, hogy január 1-én kiugrana egy 365 dollár értékű vásárlás, január 1-től december 31-ig minden nap egy 1,00 dollár értékű vásárlás jelenik meg. Az alapszintű amortizáció mellett a költségeket a foglalást használó konkrét erőforrások használatával is átcsoportosítjuk és társítjuk. Ha például az 1,00 usd napi díj két virtuális gép között oszlik meg, akkor két 0,50 dolláros díjat fog látni a napra vonatkozóan. Ha a foglalás egyik része az adott napon nincs felhasználva, a megfelelő virtuális gépnél egy 0,50 dolláros díj látható, egy másik 0,50 dolláros díj pedig UnusedReservation díjtípussal jelenik meg. A fel nem használt foglalási költségek csak az amortizált költségek megtekintésekor jelennek meg.

A költségek ábrázolásának változása miatt fontos megjegyezni, hogy a tényleges költség és az amortizált költségnézetek eltérő teljes számokat mutatnak. Általánosságban elmondható, hogy az amortizált költségek megtekintésekor a foglalásvásárlások hónapokra vonatkozó teljes költsége csökken. A foglalásvásárlás növekedését követő hónapok költsége. Az amortizáció csak foglalásvásárlásokhoz érhető el, és jelenleg nem vonatkozik az Azure Marketplace-vásárlásokra.

Kezdeti kérelem jelentés létrehozásához

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

Kérelem törzse:

Íme egy példakérelem egy ActualCost-adatkészletre egy megadott dátumtartományhoz.

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

A megfelelő URI létrehozásához elérhető {scope} beállításokat a hatókör erőforrás-azonosítójának azonosítása című témakörben dokumentáljuk.

Az alábbi mezőket a jelentéskérés törzsében adhatja meg.

  • metrika – A kért jelentés típusa. Lehet ActualCost vagy AmortizedCost. Nem kötelező. Ha a mező nincs megadva, az API alapértelmezés szerint egy ActualCost-jelentés lesz.
  • timePeriod – Az adatok kért dátumtartománya. Nem kötelező. Ez a paraméter sem a invoiceId, sem a billingPeriod paraméter mellett nem használható. Ha a kérelem törzsében nincs megadva timePeriod, invoiceId vagy billingPeriod paraméter, az API az aktuális havi költséget adja vissza.
  • invoiceId – Az adatokhoz kért számla. Ezt a paramétert csak Microsoft Ügyfélszerződés ügyfelek használják. Emellett csak a számlázási profilban vagy az ügyfél hatókörében használható. Ez a paraméter sem a billingPeriod, sem a timePeriod paraméter mellett nem használható. Ha a kérelem törzsében nincs megadva timePeriod, invoiceId vagy billingPeriod paraméter, az API az aktuális havi költséget adja vissza.
  • billingPeriod – Az adatokhoz kért számlázási időszak. Ezt a paramétert csak Nagyvállalati Szerződés ügyfelek használják. Használja a YearMonth formátumot. Például 202008. Ez a paraméter sem a invoiceId, sem az timePeriod paraméter mellett nem használható. Ha a kérelem törzsében nincs megadva timePeriod, invoiceId vagy billingPeriod paraméter, az API az aktuális havi költséget adja vissza.

API-válasz:

Response Status: 202 – Accepted : Azt jelzi, hogy a kérést elfogadták. Az állapot ellenőrzéséhez használja a Location fejlécet.

Válaszfejlécek:

Név Típus Formátum Leírás
Hely Sztring Az aszinkron művelet eredményének ellenőrzéséhez szükséges URL-cím.
Újrapróbálkozás után Egész Int32 A jelentés létrehozásának várható ideje. Várja meg ezt az időtartamot, mielőtt újra lekérdezi.

Jelentéslekérdezés és letöltés

Lekérdezés a jelentéshez az API-válasz fejlécében location megadott végpont használatával, miután kérést küldött a Cost Details jelentés létrehozására. Íme egy példa lekérdezési kérelemre.

Jelentés lekérdezési kérése:

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

Response Status 200 – Succeeded: Azt jelzi, hogy a kérés sikeres volt.

{
  "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"
}

Íme az API-válasz kulcsmezőinek összegzése:

  • manifestVersion – A válaszban használt jegyzékszerződés verziója. Jelenleg a jegyzékverzió ugyanaz marad egy adott API-verzió esetében.
  • dataFormat – A CSV jelenleg az API által biztosított egyetlen támogatott fájlformátum.
  • blobCount – A jelentés adatkészletében található egyes adatblobok számát jelöli. Fontos megjegyezni, hogy ez az API több fájlból álló particionált adatkészletet is biztosíthat a válaszban. Úgy tervezheti meg az adatfolyamokat, hogy ennek megfelelően kezelni tudják a particionált fájlokat. A particionálás lehetővé teszi, hogy gyorsabban betöltse a nagyobb adathalmazokat.
  • byteCount – A jelentés adatkészletének teljes bájtszáma az összes partíción.
  • compressData – A tömörítés mindig hamis értékre van állítva az első kiadáshoz. Az API azonban a jövőben támogatja a tömörítést.
  • requestContext – A jelentéshez kért kezdeti konfiguráció.
  • blobok – A teljes jelentést alkotó n blobfájlok listája.
    • blobLink – Egy adott blobpartíció letöltési URL-címe.
    • byteCount – Az egyes blobpartíciók bájtszáma.
  • validTill – Az a dátum, amikor a jelentés már nem érhető el.

Következő lépések