API di creazione di report per i clienti Enterprise - Dettagli di utilizzo
Nota
Il 1° maggio 2024 le API di creazione report di Azure Enterprise verranno ritirati. Tutte le API di creazione report aziendali rimanenti smetteranno di rispondere alle richieste. I clienti devono eseguire la transizione all'uso delle API di Gestione costi Microsoft prima di allora. Per altre informazioni, vedere Eseguire la migrazione da Azure Enterprise Reporting alle API di Gestione dei costi Microsoft.
Questa API supporta solo i record di utilizzo con un massimo di 400 caratteri di tag per una determinata risorsa. L'API potrebbe non riuscire se i record superano il numero massimo di tag. Se si verifica questo problema, eseguire la migrazione a Esportazioni o all'API Esportazioni.
L'API per dettagli sull'uso offre un'analisi giornaliera dettagliata delle quantità usate e delle spese stimate in base a una registrazione. Il risultato include anche informazioni su istanze, contatori e reparti. Le query sull'API possono essere eseguite in base al periodo di fatturazione oppure in base a un intervallo definito da date di inizio e di fine specificate.
Le proprietà di intestazione comuni che devono essere aggiunte sono specificate nell'articolo Panoramica delle API di creazione report per clienti Enterprise. Gli intervalli di tempo personalizzato possono essere specificati con parametri di data di inizio e di fine nel formato aaaa-MM-gg.
Formato CSV
L'API elencata di seguito fornisce i dati in formato CSV.
Chiamata sincrona (senza polling)
I dati vengono restituiti in formato CSV come risposta della chiamata API REST. Le prestazioni dell'API dipendono dalla quantità di dati di utilizzo restituiti dalla chiamata e possono richiedere un massimo di 60 minuti. Anche se l'API supporta intervalli di date personalizzati, è consigliabile limitarla in base al volume di dati di utilizzo disponibili per tale periodo. È consentito il supporto massimo di un mese.
Metodo | Scaricare l'URI della richiesta |
---|---|
GET | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/download?billingPeriod={billingPeriod} |
GET | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/download?startTime=2017-01-01& endTime=2017-01-10 |
Chiamata asincrona (basata sul polling)
La chiamata è un processo in due passaggi che richiede di inviare prima la richiesta per un intervallo di tempo specifico e quindi eseguire il polling per ottenere un URL basato su chiave di accesso condiviso per un percorso BLOB di Azure con dati CSV. Il tempo massimo supportato è 36 mesi. È consigliabile usare questa API per set di dati di dimensioni maggiori.
Metodo | URI della richiesta di invio |
---|---|
POST | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/submit?billingPeriod={billingPeriod} |
POST | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/submit?startTime=2017-04-01& endTime=2017-04-10 |
Risposta della chiamata di invio asincrona (polling)
{
"id": "string",
"enrollmentNumber":"string",
"requestedOn":"2017-08-29T06:56:29.1290704Z",
"status":1,
"blobPath":"",
"reportUrl":"string",
"startDate":"2017-06-01T00:00:00",
"endDate":"2017-06-30T00:00:00"
}
Definizioni delle proprietà Response delle chiamate asincrone
Nome proprietà | Tipo | Descrizione |
---|---|---|
id | string | ID univoco per la richiesta. |
enrollmentNumber | string | Numero di registrazione per cui è stata effettuata la richiesta. |
requestedOn | string | Data in cui è stata effettuata la richiesta. |
status | INT | Indica lo stato della richiesta. Queued = 1, InProgress = 2, Completed = 3, Failed = 4, NoDataFound = 5, ReadyToDownload=6, TimedOut = 7. |
blobPath | string | URL della chiave di accesso condiviso per il BLOB CSV. |
reportUrl | string | URL che può essere usato per eseguire il polling dello stato della richiesta di invio. |
startDate | string | Corrisponde all'inizio dell'intervallo di tempo utilizzato durante l'esecuzione della chiamata di invio. |
endDate | string | Corrisponde alla fine dell'intervallo di tempo utilizzato durante l'esecuzione della chiamata di invio. |
ReportUrl è l'URL che può essere usato per altre chiamate di polling (operazione GET). Quando il campo di stato nella risposta della richiesta di polling viene restituito come 3, la richiesta viene completata. Nella risposta è presente il campo blobPath popolato con un URL che punta ai dati csv. Il BLOB è disponibile per 1 giorno dall'ora di data nel campo requestedOn della risposta. Lo stato 4, 5 e 7 sono lo stato di errore in cui la chiamata API ha raggiunto una condizione di errore. Per tutti gli altri stati, la chiamata di polling deve essere ripetuta.
Formato JSON
L'API elencata di seguito fornisce i dati in formato JSON. Se non viene specificato alcun periodo di fatturazione, vengono restituiti i dati per il periodo di fatturazione corrente. L'intervallo di tempo massimo supportato è 36 mesi.
Metodo | URI richiesta |
---|---|
GET | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails |
GET | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/billingPeriods/{billingPeriod}/usagedetails |
GET | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetailsbycustomdate?startTime=2017-01-01& endTime=2017-01-10 |
Nota
Per usare la versione precedente dell'API, sostituire v3 con v2 negli URL precedenti. Alcuni campi non sono disponibili se si usa v2.
Risposta
A causa del volume di dati potenzialmente elevato, viene eseguita la pagina del set di risultati. La proprietà nextLink, se presente, specifica il collegamento alla pagina di dati successiva. Se il collegamento è vuoto, si tratta dell'ultima pagina.
{
"id": "string",
"data": [
{
"serviceName":"Storage",
"serviceTier":"Premium Page Blobs",
"location":"US West",
"chargesBilledSeparately":false,
"partNumber":"ABC-12345",
"resourceGuid":"00000000-0000-0000-0000-000000000000",
"offerId":"MS-AZR-0003P",
"cost":1,
"accountId":123456,
"productId":1234,
"resourceLocationId":12,
"consumedServiceId":1,
"departmentId":3456,
"accountOwnerEmail":"account@live.com",
"accountName":"Account Name",
"serviceAdministratorId":"123",
"subscriptionId":0000000,
"subscriptionGuid":"00000000-0000-0000-0000-000000000000",
"subscriptionName":"Subscription Name",
"date":"2018-08-01T00:00:00",
"product":"Locally Redundant Storage Premium Storage - Page Blob/P10 - US West",
"meterId":"00000000-0000-0000-0000-000000000000",
"meterCategory":"Storage",
"meterSubCategory":"Locally Redundant",
"meterRegion":"California",
"meterName":"Premium Storage - Page Blob/P10 (Units)",
"consumedQuantity"1,
"resourceRate":1,
"resourceLocation":"uswest",
"consumedService":"Microsoft.Compute",
"instanceId":"Id",
"serviceInfo1":"string",
"serviceInfo2":"string",
"additionalInfo":"string",
"tags":"string",
"storeServiceIdentifier":"string",
"departmentName":"Department Name",
"costCenter":"1234",
"unitOfMeasure":"Units",
"resourceGroup":"ResourceGroup"
}
],
"nextLink": "string"
}
Definizioni dei campi dettagli utilizzo
Nome proprietà | Tipo | Descrizione |
---|---|---|
id | string | ID univoco per la chiamata all'API. |
data | Matrice JSON | Matrice dei dettagli sull'uso giornaliero per ogni istanza\contatore. |
nextLink | string | Quando sono presenti più pagine di dati, la proprietà nextLink punta all'URL per restituire la pagina di dati successiva. |
accountId | INT | Campo obsoleto. Presente per compatibilità con le versioni precedenti. |
productId | INT | Campo obsoleto. Presente per compatibilità con le versioni precedenti. |
resourceLocationId | INT | Campo obsoleto. Presente per compatibilità con le versioni precedenti. |
consumedServiceId | INT | Campo obsoleto. Presente per compatibilità con le versioni precedenti. |
departmentId | INT | Campo obsoleto. Presente per compatibilità con le versioni precedenti. |
accountOwnerEmail | string | Account di posta elettronica del proprietario dell'account. |
accountName | string | Nome dell'account immesso dal cliente. |
serviceAdministratorId | string | Indirizzo di posta elettronica dell'amministratore del servizio. |
subscriptionId | INT | Campo obsoleto. Presente per compatibilità con le versioni precedenti. |
subscriptionGuid | string | Identificatore univoco globale per la sottoscrizione. |
subscriptionName | string | Nome della sottoscrizione. |
data | string | Data in cui si è verificato l'utilizzo. |
product | string | Dettagli aggiuntivi sul contatore. |
meterId | string | Identificatore per il contatore che ha emesso l'utilizzo. |
meterCategory | string | Indica il servizio della piattaforma Azure usato. |
meterSubCategory | string | Definisce il servizio di Azure e può influire sulla tariffa. |
meterRegion | string | Identifica la posizione del datacenter per determinati servizi il cui prezzo dipende dalla posizione stessa. |
meterName | string | Nome del contatore. |
consumedQuantity | double | Quantità utilizzata del contatore. |
resourceRate | double | Tariffa applicabile per ogni unità fatturabile. |
cost | double | Addebito applicato per il contatore. |
resourceLocation | string | Identifica il data center in cui il contatore è in esecuzione. |
consumedService | string | Indica il servizio della piattaforma Azure usato. |
instanceId | string | Questo identificatore indica il nome della risorsa o l'ID risorsa completo. Per altre informazioni, vedere API di Azure Resource Manager |
serviceInfo1 | string | Metadati del servizio di Azure interno. |
serviceInfo2 | string | Ad esempio, un tipo di immagine per una macchina virtuale e un nome di ISP per ExpressRoute. |
additionalInfo | string | Metadati specifici del servizio. Ad esempio un tipo di immagine per una macchina virtuale. |
tags | string | Tag aggiunti dal cliente. Per altre informazioni, vedere Organize your Azure resources with tags (Organizzare le risorse di Azure con i tag). |
storeServiceIdentifier | string | Questa colonna non viene utilizzata. Presente per compatibilità con le versioni precedenti. |
departmentName | string | Nome del reparto. |
costCenter | string | Centro di costo a cui è associato l'utilizzo. |
unitOfMeasure | string | Identifica l'unità in base alla quale viene addebitato il servizio. Esempio: GB, ore, decine di migliaia. |
resourceGroup | string | Definisce il gruppo di risorse in cui è in esecuzione il contatore distribuito. Per altre informazioni, vedere Panoramica di Azure Resource Manager. |
chargesBilledSeparately | string | Addebiti fatturati al di fuori dell'impegno monetario. |
posizione | string | Posizione in cui è stato distribuito il servizio. |
offerId | string | OfferId rispetto al servizio. |
partNumber | string | Numero sku per il servizio. |
resourceGuid | string | Identificatore per il contatore che ha emesso l'utilizzo. |
serviceTier | string | Livello di servizio. |
serviceName | string | Service Name. |
Limitazione della frequenza
Per abilitare esperienze coerenti tra i clienti, tutte le API di utilizzo sono limitate a un livello di registrazione. Quando si raggiunge il limite, viene visualizzato il codice di stato HTTP 429 Troppe richieste. La velocità effettiva corrente in un intervallo di 15 minuti è la seguente:
API | Limite di frequenza |
---|---|
Nextpage | 1000 |
Scarica | 50 |
Sondaggio | 180 |
Invia | 20 |