Bagikan melalui


Dapatkan rekaman pemanfaatan pelanggan untuk Azure

Berlaku untuk: Pusat Mitra | Pusat Mitra untuk Microsoft Cloud untuk Pemerintah AS

Anda bisa mendapatkan catatan pemanfaatan langganan Azure pelanggan untuk jangka waktu tertentu menggunakan API pemanfaatan Azure.

Prasyarat

  • Kredensial seperti yang dijelaskan dalam autentikasi Pusat Mitra. Skenario ini mendukung autentikasi dengan kredensial aplikasi mandiri dan Aplikasi+Pengguna.

  • ID pelanggan (customer-tenant-id). Jika Anda tidak mengetahui ID pelanggan, Anda dapat mencarinya di Pusat Mitra dengan memilih ruang kerja Pelanggan , lalu pelanggan dari daftar pelanggan, lalu Akun. Pada halaman Akun pelanggan, cari ID Microsoft di bagian Info Akun Pelanggan. ID Microsoft sama dengan ID pelanggan (customer-tenant-id).

  • Pengidentifikasi langganan.

API ini mengembalikan konsumsi harian dan per jam yang tidak dinilai untuk rentang waktu arbitrer. Namun, API ini tidak didukung untuk paket Azure. Jika Anda memiliki paket Azure, lihat artikel Mendapatkan item baris konsumsi faktur yang tidak ditagih dan Mendapatkan item baris konsumsi yang ditagih faktur sebagai gantinya. Artikel ini menjelaskan cara mendapatkan konsumsi berperingkat pada tingkat harian per meter per sumber daya. Konsumsi tarif ini setara dengan data biji-bijian harian yang disediakan oleh API pemanfaatan Azure. Anda harus menggunakan pengidentifikasi faktur untuk mengambil data penggunaan yang ditagih. Atau, Anda dapat menggunakan periode saat ini dan sebelumnya untuk mendapatkan perkiraan penggunaan yang tidak ditagih. Data grain per jam dan filter rentang tanggal arbitrer saat ini tidak didukung untuk sumber daya langganan paket Azure.

API pemanfaatan Azure

API pemanfaatan Azure ini menyediakan akses ke rekaman pemanfaatan untuk periode waktu yang mewakili kapan pemanfaatan dilaporkan dalam sistem penagihan. Ini menyediakan akses ke data pemanfaatan yang sama yang digunakan untuk membuat dan menghitung file rekonsiliasi. Namun, ia tidak memiliki pengetahuan tentang logika file rekonsiliasi sistem penagihan. Anda seharusnya tidak mengharapkan hasil ringkasan file rekonsiliasi agar sesuai dengan hasil yang diambil dari API ini persis untuk periode waktu yang sama.

Misalnya, sistem penagihan mengambil data pemanfaatan yang sama dan menerapkan aturan keterlambatan untuk menentukan apa yang diperhitungkan dalam file rekonsiliasi. Ketika periode penagihan ditutup, semua penggunaan hingga akhir hari periode penagihan berakhir disertakan dalam file rekonsiliasi. Setiap penggunaan terlambat dalam periode penagihan yang dilaporkan dalam waktu 24 jam setelah periode penagihan berakhir diperhitungkan dalam file rekonsiliasi berikutnya. Untuk aturan keterlambatan tentang cara mitra ditagih, lihat Mendapatkan data konsumsi untuk langganan Azure.

REST API ini di-paged. Jika payload respons lebih besar dari satu halaman, Anda harus mengikuti tautan berikutnya untuk mendapatkan halaman rekaman pemanfaatan berikutnya.

Skenario: Mitra A telah mentransfer kepemilikan tagihan Langganan Azure Legacy (145P) ke Mitra B

Jika mitra mentransfer kepemilikan tagihan langganan warisan Azure ke mitra lain, ketika mitra baru memanggil API Pemanfaatan untuk langganan yang ditransfer, mereka harus menggunakan ID Langganan Perdagangan (yang muncul di akun Pusat Mitra mereka) daripada ID Pemberian Hak Azure. ID Pemberian Hak Azure hanya muncul untuk Mitra B saat mereka adalah Admin atas nama (AOBO) ke portal Azure Pelanggan.

Agar berhasil memanggil API Pemanfaatan untuk langganan yang ditransfer, mitra baru perlu menggunakan ID Langganan Perdagangan.

C#

Untuk mendapatkan Catatan Pemanfaatan Azure:

  1. Dapatkan ID pelanggan dan ID langganan.

  2. Panggil metode IAzureUtilizationCollection.Query untuk mengembalikan ResourceCollection yang berisi rekaman pemanfaatan.

  3. Dapatkan enumerator catatan pemanfaatan Azure untuk melintasi halaman pemanfaatan. Langkah ini diperlukan, karena kumpulan sumber daya di-paged.

// 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

SDK Java Pusat Mitra dapat digunakan untuk mengelola sumber daya Pusat Mitra. Ini adalah proyek sumber terbuka yang dikelola oleh komunitas mitra dan tidak didukung secara resmi oleh Microsoft. Anda bisa mendapatkan bantuan dari komunitas atau membuka masalah di GitHub jika Anda mengalami masalah.

Untuk mendapatkan Catatan Pemanfaatan Azure, Anda terlebih dahulu memerlukan pengidentifikasi pelanggan dan pengidentifikasi langganan. Anda kemudian memanggil fungsi IAzureUtilizationCollection.query untuk mengembalikan ResourceCollection yang berisi rekaman pemanfaatan. Karena kumpulan sumber daya di halaman, Anda kemudian harus mendapatkan enumerator catatan pemanfaatan Azure untuk melintasi halaman pemanfaatan.

// 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

Modul Pusat Mitra PowerShell dapat digunakan untuk mengelola sumber daya Pusat Mitra. Ini adalah proyek sumber terbuka yang dikelola oleh komunitas mitra dan tidak didukung secara resmi oleh Microsoft. Anda bisa mendapatkan bantuan dari komunitas atau membuka masalah di GitHub jika Anda mengalami masalah.

Untuk mendapatkan Catatan Pemanfaatan Azure, Anda terlebih dahulu memerlukan pengidentifikasi pelanggan dan pengidentifikasi langganan. Anda kemudian memanggil Get-PartnerCustomerSubscriptionUtilization. Perintah ini akan mengembalikan semua rekaman yang tersedia untuk jangka waktu yang ditentukan.

# $customerId
# $subscriptionId

Get-PartnerCustomerSubscriptionUtilization -CustomerId $customerId -SubscriptionId $subscriptionId -StartDate (Get-Date).AddDays(-2).ToUniversalTime() -Granularity Hourly -ShowDetails

Permintaan REST

Minta sintaks

Metode URI Permintaan
DAPATKAN {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/utilizations/azure?start_time={start-time}&end_time={end-time}&granularity={granularity}&show_details={True}

Parameter URI

Gunakan jalur dan parameter kueri berikut untuk mendapatkan rekaman pemanfaatan.

Nama Jenis Wajib Deskripsi
customer-tenant-id string Ya String berformat GUID yang mengidentifikasi pelanggan.
subscription-id string Ya String berformat GUID yang mengidentifikasi langganan.
waktu_mulai string dalam format offset tanggal-waktu UTC Ya Awal rentang waktu yang mewakili kapan pemanfaatan dilaporkan dalam sistem penagihan.
end_time string dalam format offset tanggal-waktu UTC Ya Akhir rentang waktu yang mewakili kapan pemanfaatan dilaporkan dalam sistem penagihan.
Granularity string No Menentukan granularitas agregasi penggunaan. Opsi yang tersedia adalah: daily (default) dan hourly.
show_details Boolean No Menentukan apakah akan mendapatkan detail penggunaan tingkat instans. Default adalah true.
size number No Menentukan jumlah agregasi yang dikembalikan oleh satu panggilan API. Defaultnya adalah 1000. Maksimal 1000.

Header permintaan

Untuk informasi selengkapnya, lihat Header REST Pusat Mitra.

Isi permintaan

Tidak

Contoh permintaan

Contoh permintaan berikut menghasilkan hasil yang mirip dengan apa yang akan ditampilkan file rekonsiliasi untuk periode 7/2 - 8/1. Hasil ini mungkin tidak sama persis (lihat bagian API pemanfaatan Azure untuk detailnya).

Contoh permintaan ini mengembalikan data pemanfaatan yang dilaporkan dalam sistem penagihan antara 7/2 pada pukul 12.00 (UTC) dan 8/2 pada pukul 12.00 (UTC).

GET https://api.partnercenter.microsoft.com/v1/customers/E499C962-9218-4DBA-8B83-8ADC94F47B9F/subscriptions/FC8F8908-F918-4406-AF13-D5BC0FE41865/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: a687bc47-8d08-4b78-aff6-5a59aa2055c2
X-Locale: en-US
Host: api.partnercenter.microsoft.com

Respons REST

Jika berhasil, metode ini mengembalikan kumpulan sumber daya Rekaman Pemanfaatan Azure dalam isi respons. Jika data pemanfaatan Azure belum siap dalam sistem dependen, metode ini mengembalikan Kode Status HTTP 204 dengan header Coba Lagi Setelah.

Kode kesalahan dan keberhasilan respons

Setiap respons dilengkapi dengan kode status HTTP yang menunjukkan keberhasilan atau kegagalan dan informasi penelusuran kesalahan tambahan. Gunakan alat pelacakan jaringan untuk membaca kode status HTTP, jenis kode kesalahan, dan parameter tambahan.

Contoh tanggapan

HTTP/1.1 200 OK
Content-Length: 2630
Content-Type: application/json; charset=utf-8
MS-CorrelationId: a687bc47-8d08-4b78-aff6-5a59aa2055c2
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/ab7e2384-eeee-489a-a14f-1eb41ddd261d/resourcegroups/system.local/providers/Microsoft.Storage/storageaccounts/srphealthaccount",
        "location": "azurestack",
        "partNumber": "",
        "orderNumber": "",
        "additionalInfo": {
          "azureStack.MeterId": "09F8879E-87E9-4305-A572-4B7BE209F857",
          "azureStack.SubscriptionId": "dbd1aa30-e40d-4436-b465-3a8bc11df027",
          "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/ab7e2384-eeee-489a-a14f-1eb41ddd261d/resourcegroups/system.local/providers/Microsoft.Storage/storageaccounts/srphealthaccount",
        "location": "azurestack",
        "partNumber": "",
        "orderNumber": "",
        "additionalInfo": {
          "azureStack.MeterId": "09F8879E-87E9-4305-A572-4B7BE209F857",
          "azureStack.SubscriptionId": "dbd1aa30-e40d-4436-b465-3a8bc11df027",
          "azureStack.Location": "local",
          "azureStack.EventDateTime": "06/05/2017 06:00:00"
        },
        "attributes": {
          "objectType": "AzureUtilizationRecord"
        }
      },

      "links": {
        "self": {
          "uri": "customers/E499C962-9218-4DBA-8B83-8ADC94F47B9F/subscriptions/FC8F8908-F918-4406-AF13-D5BC0FE41865/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"
      }
    }
  ]
}