API de création de rapports pour les clients Enterprise - Détails d’utilisation

Notes

Le 1er mai 2024, les API Azure Enterprise Reporting seront mises hors service. Toutes les API de création de rapports d’entreprise restantes cesseront de répondre aux demandes. Les clients doivent passer à l’utilisation des API Microsoft Cost Management avant cette période. Pour en savoir plus, consultez Vue d’ensemble de la migration des rapports Azure Enterprise vers les API Microsoft Cost Management.

Cette API prend uniquement en charge les enregistrements d’utilisation avec jusqu’à 400 caractères de balise pour une ressource donnée. L’API peut échouer si vous avez des enregistrements qui dépassent le nombre maximal d’étiquettes. Si vous rencontrez ce problème, migrez vers les exportations ou l’API d’exportations.

L’API Usage Details (Détails d’utilisation) offre une analyse quotidienne des quantités consommées et des frais estimés pour un abonnement. Le résultat inclut également des informations sur les instances, les compteurs et les services. L’API peut être interrogée par période de facturation ou en indiquant une date de début et de fin.

Les propriétés d’en-tête communes qui doivent être ajoutées sont spécifiées dans l’article Vue d’ensemble des API de création de rapports pour les clients Enterprise. Des plages de dates personnalisées peuvent être spécifiées avec les paramètres de date de début et de fin au format AAAA-MM-JJ.

CSV Format

L’API répertoriée ci-dessous fournit des données au format CSV.

Appel synchrone (sans interrogation)

Nous renvoyons des données au format CSV en réponse à l’appel de l’API REST. Les performances de l’API dépendent de la quantité de données d’utilisation retournées par votre appel et peuvent prendre un maximum de 60 minutes. Même si l’API prend en charge les plages de dates personnalisées, nous vous recommandons de les restreindre en fonction du volume de données d’utilisation dont vous disposez pour cette période. Nous autorisons un support maximal d’un mois.

Méthode URI de demande de téléchargement
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

Appel asynchrone (basé sur l’interrogation)

L’appel est un processus en deux étapes qui vous oblige à envoyer d’abord votre demande pour un intervalle de temps spécifique, puis à interroger pour obtenir une URL basée sur une clé d’accès partagé pour un emplacement Blob Azure contenant des données CSV. Le délai maximal pris en charge ici est de 36 mois. Nous recommandons cette API pour les jeux de données plus volumineux.

Méthode Envoyer l’URI de demande
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

Réponse de l’appel d’envoi asynchrone (interrogation)

    {
        "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"
    }
Définitions de propriété Response d’appel asynchrone
Nom de la propriété Type Description
id string ID unique de la demande.
enrollmentNumber string Numéro d’inscription pour lequel la demande a été effectuée.
requestedOn string Date d’heure à laquelle la demande a été effectuée.
status int Indique le status de la demande. Mis en file d’attente = 1, InProgress = 2, Terminé = 3, Failed = 4, NoDataFound = 5, ReadyToDownload=6, TimedOut = 7.
blobPath string URL de clé d’accès partagé à l’objet blob csv.
reportUrl string URL qui peut être utilisée pour interroger le status de la demande d’envoi.
startDate string Correspond au début de l’intervalle de temps utilisé lors de l’envoi de l’appel.
endDate string Correspond à la fin de l’intervalle de temps utilisé lors de l’envoi de l’appel.

ReportUrl est l’URL qui peut être utilisée pour d’autres appels d’interrogation (opération GET). Lorsque le champ status dans la réponse de la demande d’interrogation revient à 3, la demande est terminée. Nous avons le champ blobPath dans la réponse remplie avec une URL pointant vers les données csv. L’objet blob est disponible pendant 1 jour à partir de la date heure dans le champ de réponse requestedOn. Les états 4, 5 et 7 sont des échecs status où l’appel d’API a rencontré une condition d’erreur. Pour tous les autres status, l’appel d’interrogation doit être répété.

Format JSON

L’API répertoriée ci-dessous fournit des données au format JSON. Si aucune période de facturation n’est spécifiée, les données de la période de facturation en cours sont retournées. La période maximale prise en charge est de 36 mois.

Méthode URI de demande
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

Notes

Pour utiliser la version précédente de l’API, remplacez v3 par v2 dans les URL ci-dessus. Certains champs ne sont pas disponibles si vous utilisez v2.

response

En raison du volume potentiellement important de données, le jeu de résultats est paginé. La propriété nextLink, si elle est présente, spécifie le lien vers la page suivante de données. Si le lien est vide, cela indique qu’il s’agit de la dernière page.

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

Définitions de champ détails d’utilisation

Nom de la propriété Type Description
id string ID unique de l’appel d’API.
data Tableau JSON Tableau des détails d’utilisation quotidienne pour chaque instance ou compteur.
nextLink string Quand il y a plus de pages de données, le lien nextLink pointe vers l’URL qui retourne la page suivante de données.
accountId int Champ obsolète. Présent à des fins de compatibilité descendante.
productId int Champ obsolète. Présent à des fins de compatibilité descendante.
resourceLocationId int Champ obsolète. Présent à des fins de compatibilité descendante.
consumedServiceId int Champ obsolète. Présent à des fins de compatibilité descendante.
departmentId int Champ obsolète. Présent à des fins de compatibilité descendante.
accountOwnerEmail string Compte de messagerie du propriétaire du compte.
accountName string Nom du compte entré par le client.
serviceAdministratorId string Adresse e-mail de l’administrateur de service.
subscriptionId int Champ obsolète. Présent à des fins de compatibilité descendante.
subscriptionGuid string Identificateur global unique de l’abonnement.
subscriptionName string Nom de l'abonnement.
Date string Date à laquelle la consommation s’est produite.
product string Détails supplémentaires sur le compteur.
meterId string Identificateur du compteur qui a émis l’utilisation.
meterCategory string Service de plateforme Azure qui a été utilisé.
meterSubCategory string Définit le type de service Azure pouvant affecter le tarif.
meterRegion string Identifie l’emplacement du centre de données pour certains services dont le prix est basé sur cet emplacement.
meterName string Nom du compteur.
consumedQuantity double Quantité du compteur consommée.
resourceRate double Taux applicable par unité facturable.
cost double Frais encourus pour le compteur.
resourceLocation string Identifie le centre de données où le compteur s’exécute.
consumedService string Service de plateforme Azure qui a été utilisé.
instanceId string Cet identificateur est le nom de la ressource ou l’ID de ressource complet. Pour plus d’informations, consultez API Azure Resource Manager
serviceInfo1 string Métadonnées de service Azure interne.
serviceInfo2 string Par exemple, le type d’image d’une machine virtuelle et le nom du fournisseur de services Internet pour ExpressRoute.
additionalInfo string Métadonnées relatives au service. Par exemple, le type d’image d’une machine virtuelle.
tags string Balises ajoutées par le client. Pour plus d’informations, voir Organisation des ressources Azure à l’aide de balises.
storeServiceIdentifier string Cette colonne n'est pas utilisée. Présent à des fins de compatibilité descendante.
departmentName string Nom du service.
costCenter string Centre de coût avec lequel l’utilisation est associée.
unitOfMeasure string Identifie l’unité dans laquelle le service est facturé. Par exemple : Go, heures, 10 000 s.
resourceGroup string Groupe de ressources dans lequel le compteur déployé s’exécute. Pour plus d’informations, consultez Présentation d’Azure Resource Manager.
chargesBilledSeparately string Frais facturés en dehors de l’engagement monétaire.
location string Emplacement où le service a été déployé.
offerId string OfferId par rapport au service.
partNumber string Numéro de référence SKU pour le service.
resourceGuid string Identificateur du compteur qui a émis l’utilisation.
serviceTier string Niveau de service.
serviceName string Nom du service.

Limitation du débit

Pour permettre des expériences cohérentes entre nos clients, toutes les API d’utilisation sont limitées au niveau de l’inscription. Lorsque vous atteignez la limite, vous recevez le code d’état HTTP 429 Trop de requêtes. Le débit actuel dans un intervalle de 15 minutes est le suivant :

API Limite de débit
Nextpage 1 000
Télécharger 50
Sondage 180
Envoyer 20

Voir aussi