Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Partner Center | Partner Center für die Microsoft-Cloud für die US-Regierung
Mithilfe der Azure-Nutzungs-API können Sie die Auslastungsdatensätze des Azure-Abonnements eines Kunden für einen bestimmten Zeitraum abrufen.
Voraussetzungen
Anmeldeinformationen wie unter Partner Center-Authentifizierung beschrieben. Dieses Szenario unterstützt die Authentifizierung sowohl mit eigenständigen App- als auch mit App+Benutzer-Anmeldeinformationen.
Eine Kunden-ID (
customer-tenant-id). Wenn Sie die Kunden-ID nicht kennen, können Sie sie im Partner Center nachschlagen, indem Sie den Arbeitsbereich Kunden auswählen, dann den Kunden aus der Kundenliste und anschließend Konto. Suchen Sie auf der Kontoseite des Kunden im Abschnitt Kundenkontoinfo nach der Microsoft-ID. Die Microsoft-ID ist identisch mit der Kunden-ID (customer-tenant-id).Eine Abonnement-ID.
Diese API gibt den täglichen und stündlichen nicht bewerteten Verbrauch für einen beliebigen Zeitraum zurück. Diese API wird jedoch für Azure-Pläne nicht unterstützt. Wenn Sie über einen Azure-Plan verfügen, lesen Sie stattdessen die Artikel Abrufen von nicht abgerechneten Verbrauchseinzelposten in Rechnung undAbrufen von Rechnungsverbrauchseinzelposten . In diesen Artikeln wird beschrieben, wie Sie den Nennverbrauch auf täglicher Ebene pro Verbrauchseinheit und Ressource abrufen. Dieser Verbrauch entspricht den täglichen Getreidedaten, die von der Azure-Auslastungs-API bereitgestellt werden. Sie müssen die Rechnungs-ID verwenden, um die abgerechneten Nutzungsdaten abzurufen. Sie können auch aktuelle und frühere Zeiträume verwenden, um nicht abgerechnete Nutzungsschätzungen zu erhalten. Stündliche Grain-Daten und beliebige Datumsbereichsfilter werden derzeit für Azure-Planabonnementressourcen nicht unterstützt.
Azure-Nutzungs-API
Diese Azure-Auslastungs-API bietet Zugriff auf Auslastungsdatensätze für einen Zeitraum, der den Zeitpunkt darstellt, an dem die Auslastung im Abrechnungssystem gemeldet wurde. Sie bietet Zugriff auf dieselben Auslastungsdaten, die zum Erstellen und Berechnen der Abstimmungsdatei verwendet werden. Es verfügt jedoch nicht über Kenntnisse der Logik der Abstimmungsdatei des Abrechnungssystems. Sie sollten nicht erwarten, dass die Zusammenfassungsergebnisse der Abstimmungsdatei genau mit dem Ergebnis übereinstimmen, das von dieser API für denselben Zeitraum abgerufen wurde.
Das Abrechnungssystem verwendet beispielsweise dieselben Auslastungsdaten und wendet Verspätungsregeln an, um zu bestimmen, was in einer Abstimmungsdatei berücksichtigt wird. Wenn ein Abrechnungszeitraum endet, wird die gesamte Nutzung bis zum Ende des Tages, an dem der Abrechnungszeitraum endet, in die Abstimmungsdatei aufgenommen. Jede verspätete Nutzung innerhalb des Abrechnungszeitraums, die innerhalb von 24 Stunden nach Ablauf des Abrechnungszeitraums gemeldet wird, wird in der nächsten Abstimmungsdatei berücksichtigt. Informationen zu den Verspätungsregeln für die Abrechnung des Partners finden Sie unter Abrufen von Verbrauchsdaten für ein Azure-Abonnement.
Diese REST-API wird ausgelagert. Wenn die Antwortnutzlast größer als eine einzelne Seite ist, müssen Sie dem nächsten Link folgen, um die nächste Seite mit Auslastungsdatensätzen abzurufen.
Szenario: Partner A hat den Abrechnungsbesitz für das Azure Legacy-Abonnement (145P) an Partner B übertragen.
Wenn ein Partner den Abrechnungsbesitz eines Azure-Legacyabonnements an einen anderen Partner überträgt, muss der neue Partner beim erneuten Aufruf der Auslastungs-API für das übertragene Abonnement die Commerce-Abonnement-ID (die in seinem Partner Center-Konto angezeigt wird) anstelle der Azure-Berechtigungs-ID verwenden. Die Azure-Berechtigungs-ID wird für Partner B nur angezeigt, wenn er Administrator im Auftrag von (AOBO) für das Azure-Portal des Kunden ist.
Um die Auslastungs-API für das übertragene Abonnement erfolgreich aufzurufen, muss der neue Partner die Commerce-Abonnement-ID verwenden.
C#
So rufen Sie die Azure-Auslastungsdatensätze ab:
Rufen Sie die Kunden-ID und die Abonnement-ID ab.
Rufen Sie die IAzureUtilizationCollection.Query-Methode auf, um eine ResourceCollection zurückzugeben, die die Auslastungsdatensätze enthält.
Rufen Sie einen Azure-Auslastungsdatensatz-Enumerator ab, um die Auslastungsseiten zu durchlaufen. Dieser Schritt ist erforderlich, da die Ressourcensammlung ausgelagert wird.
- Beispiel: Konsolentest-App
- Projekt: Partner Center SDK-Beispiele
- Klasse: GetAzureSubscriptionUtilization.cs
// IAggregatePartner partnerOperations;
// string customerId;
// string subscriptionId;
IPartner partner = PartnerService.Instance.CreatePartnerOperations(credentials);
// Retrieve the utilization records for the last year in pages of 100 records.
var utilizationRecords = partner.Customers[customerId].Subscriptions[subscriptionId].Utilization.Azure.Query(
DateTimeOffset.Now.AddYears(-1),
DateTimeOffset.Now,
size: 100);
// Create an Azure utilization enumerator which will aid us in traversing the utilization pages.
var utilizationRecordEnumerator = partner.Enumerators.Utilization.Azure.Create(utilizationRecords);
while (utilizationRecordEnumerator.HasValue)
{
//
// Insert code here to work with this page.
//
// Get the next page.
utilizationRecordEnumerator.Next();
}
Java
Das Partner Center Java SDK kann zum Verwalten von Partner Center-Ressourcen verwendet werden. Es handelt sich um ein Open-Source-Projekt, das von der Partnercommunity verwaltet wird und von Microsoft nicht offiziell unterstützt wird. Sie können Hilfe von der Community erhalten oder ein Issue auf GitHub öffnen, wenn ein Problem auftritt.
Zum Abrufen der Azure-Nutzungsdatensätze benötigen Sie zunächst eine Kunden-ID und eine Abonnement-ID. Anschließend rufen Sie die IAzureUtilizationCollection.query-Funktion auf, um eine ResourceCollection zurückzugeben, die die Auslastungsdatensätze enthält. Da die Ressourcensammlung ausgelagert wird, müssen Sie dann einen Azure-Auslastungsdatensatz-Enumerator abrufen, um die Auslastungsseiten zu durchlaufen.
// IAggregatePartner partnerOperations;
// String customerId;
// String subscriptionId;
ResourceCollection<AzureUtilizationRecord> utilizationRecords = partnerOperations.getCustomers()
.byId(customerId).getSubscriptions().byId(subscriptionId)
.getUtilization().getAzure().query(
new DateTime().minusYears(1),
new DateTime(),
AzureUtilizationGranularity.Daily,
true,
100);
// Create an Azure utilization enumerator which will aid us in traversing the utilization pages
IResourceCollectionEnumerator<ResourceCollection<AzureUtilizationRecord>> utilizationRecordEnumerator =
partnerOperations.getEnumerators().getUtilization().getAzure().create(utilizationRecords);
while (utilizationRecordEnumerator.hasValue())
{
//
// Insert code here to work with this page.
//
// get the next page
utilizationRecordEnumerator.next();
}
PowerShell
Das Partner Center PowerShell-Modul kann zum Verwalten von Partner Center-Ressourcen verwendet werden. Es handelt sich um ein Open-Source-Projekt, das von der Partnercommunity verwaltet wird und von Microsoft nicht offiziell unterstützt wird. Sie können Hilfe von der Community erhalten oder ein Issue auf GitHub öffnen, wenn ein Problem auftritt.
Zum Abrufen der Azure-Nutzungsdatensätze benötigen Sie zunächst eine Kunden-ID und eine Abonnement-ID. Anschließend rufen Sie Get-PartnerCustomerSubscriptionUtilization auf. Dieser Befehl gibt alle Datensätze zurück, die für den angegebenen Zeitraum verfügbar sind.
# $customerId
# $subscriptionId
Get-PartnerCustomerSubscriptionUtilization -CustomerId $customerId -SubscriptionId $subscriptionId -StartDate (Get-Date).AddDays(-2).ToUniversalTime() -Granularity Hourly -ShowDetails
REST-Anforderung
Anforderungssyntax
| Methode | Anforderungs-URI |
|---|---|
| ERHALTEN | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/utilizations/azure?start_time={start-time}&end_time={end-time}&granularity={granularity}&show_details={True} |
URI-Parameter
Verwenden Sie den folgenden Pfad und die Abfrageparameter, um die Auslastungsdatensätze abzurufen.
| Name | Typ | Erforderlich | BESCHREIBUNG |
|---|---|---|---|
| Kunden-Mieter-ID | Schnur | Ja | Eine GUID-formatierte Zeichenfolge, die den Kunden identifiziert. |
| Abonnement-ID | Schnur | Ja | Eine GUID-formatierte Zeichenfolge, die das Abonnement identifiziert. |
| Startzeit | Zeichenfolge im UTC-Format für Datum/Uhrzeit-Offset | Ja | Der Beginn des Zeitraums, der den Zeitpunkt angibt, an dem die Auslastung im Abrechnungssystem gemeldet wurde. |
| end_time | Zeichenfolge im UTC-Format für Datum/Uhrzeit-Offset | Ja | Das Ende des Zeitraums, der den Zeitpunkt darstellt, an dem die Auslastung im Abrechnungssystem gemeldet wurde. |
| Granularität | Schnur | Nein | Definiert die Granularität von Nutzungsaggregationen. Verfügbare Optionen sind: daily (Standard) und hourly. |
| show_details | Boolescher Wert | Nein | Gibt an, ob die Nutzungsdetails auf Instanzebene abgerufen werden sollen. Der Standardwert lautet true. |
| Größe | Zahl | Nein | Gibt die Anzahl der Aggregationen an, die von einem einzelnen API-Aufruf zurückgegeben werden. Der Standardwert lautet 1000. Das Maximum ist 1000. |
Anforderungsheader
Weitere Informationen finden Sie unter Partner Center REST-Header.
Anfragekörper
Nichts
Beispielanfrage
Die folgende Beispielanforderung führt zu Ergebnissen, die denen ähneln, die in der Abstimmungsdatei für den Zeitraum vom 02.07. bis 01.08. angezeigt werden. Diese Ergebnisse stimmen möglicherweise nicht genau überein (weitere Informationen finden Sie im Abschnitt Azure-Auslastungs-API ).
Diese Beispielanforderung gibt Auslastungsdaten zurück, die zwischen dem 2.7. um 12 Uhr (UTC) und dem 2.8. um 12 Uhr (UTC) im Abrechnungssystem gemeldet wurden.
GET https://api.partnercenter.microsoft.com/v1/customers/E499C962-9218-4DBA-8B83-8ADC94F47B9F/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/utilizations/azure?start_time=2017-07-02T00:00:00-08:00&end_time=2017-08-02T00:00:00-08:00 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: e6a3b6b2-230a-4813-999d-57f883b60d38
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Host: api.partnercenter.microsoft.com
REST-Antwort
Bei erfolgreicher Ausführung gibt diese Methode eine Auflistung von Azure-Auslastungsdatensatz-Ressourcen im Antworttext zurück. Wenn die Azure-Auslastungsdaten in einem abhängigen System noch nicht bereit sind, gibt diese Methode den HTTP-Statuscode 204 mit einem Retry-After Header zurück.
Antworterfolgs- und Fehlercodes
Jede Antwort enthält einen HTTP-Statuscode, der Erfolg oder Fehler sowie zusätzliche Debuginformationen angibt. Verwenden Sie ein Netzwerkablaufverfolgungstool, um den HTTP-Statuscode, den Fehlercodetyp und zusätzliche Parameter zu lesen.
Antwortbeispiel
HTTP/1.1 200 OK
Content-Length: 2630
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: e6a3b6b2-230a-4813-999d-57f883b60d38
MS-CV: PjuGoYrw806o6A3Y.0
MS-ServerId: 030020525
Date: Fri, 04 Aug 2017 23:48:28 GMT
{
"totalCount": 2,
"items": [
{
"usageStartTime": "2017-06-07T17:00:00-07:00",
"usageEndTime": "2017-06-08T17:00:00-07:00",
"resource": {
"id": "8767aeb3-6909-4db2-9927-3f51e9a9085e",
"name": "Storage Admin",
"category": "Storage",
"subcategory": "Block Blob",
"region": "Azure Stack"
},
"quantity": 0.217790327034891,
"unit": "1 GB/Hr",
"infoFields": {},
"instanceData": {
"resourceUri": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourcegroups/system.local/providers/Microsoft.Storage/storageaccounts/srphealthaccount",
"location": "azurestack",
"partNumber": "",
"orderNumber": "",
"additionalInfo": {
"azureStack.MeterId": "09F8879E-87E9-4305-A572-4B7BE209F857",
"azureStack.SubscriptionId": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"azureStack.Location": "local",
"azureStack.EventDateTime": "06/05/2017 06:00:00"
}
},
"attributes": {
"objectType": "AzureUtilizationRecord"
}
},
{
"usageStartTime": "2017-06-07T17:00:00-07:00",
"usageEndTime": "2017-06-08T17:00:00-07:00",
"resource": {
"id": "8767aeb3-6909-4db2-9927-3f51e9a9085e",
"name": "Storage Admin",
"category": "Storage",
"subcategory": "Block Blob",
"region": "Azure Stack"
},
"quantity": 0.217790327034891,
"unit": "1 GB/Hr",
"infoFields": {},
"instanceData": {
"resourceUri": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourcegroups/system.local/providers/Microsoft.Storage/storageaccounts/srphealthaccount",
"location": "azurestack",
"partNumber": "",
"orderNumber": "",
"additionalInfo": {
"azureStack.MeterId": "09F8879E-87E9-4305-A572-4B7BE209F857",
"azureStack.SubscriptionId": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"azureStack.Location": "local",
"azureStack.EventDateTime": "06/05/2017 06:00:00"
},
"attributes": {
"objectType": "AzureUtilizationRecord"
}
},
"links": {
"self": {
"uri": "customers/E499C962-9218-4DBA-8B83-8ADC94F47B9F/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/utilizations/azure?start_time=2017-06-10T00:00:00Z&end_time=2017-07-09T00:00:00Z&granularity=Daily&show_details=True&size=1000",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}
]
}