Udostępnij za pośrednictwem


Rozliczanie taryfowe dla kontenerów platformy Azure przy użyciu komercyjnej usługi pomiaru użytkowania platformy handlowej

Za pomocą usługi pomiaru na rynku komercyjnym możesz tworzyć oferty kontenerów Azure, które są rozliczane zgodnie z niestandardowymi jednostkami. Przed opublikowaniem oferty na komercyjnej platformie handlowej należy zdefiniować wymiary rozliczeniowe, takie jak przepustowość, shardy, pliki dziennika, skanowania, przetworzone wiadomości e-mail itp. Następnie klienci płacą zgodnie z użyciem tych wymiarów, a aplikacja informuje Microsoft za pośrednictwem komercyjnej platformy handlowej API usługi mierzenia zużycia o rozliczanych zdarzeniach, gdy te zachodzą.

Wymagania wstępne dotyczące rozliczeń mierzonych

W przypadku oferty kontenerów Azure, aby korzystać z rozliczeń opartych na pomiarze, należy najpierw zapoznać się z opcje licencjonowania opisanymi w temacie Plan dla oferty kontenerów Azure i upewnić się, że masz niestandardowe potrzeby dotyczące rozliczeń, które nie są zaspokojone przez jeden z sześciu istniejących wstępnie zdefiniowanych modeli rozliczeniowych.

Następnie oferta kontenerów platformy Azure może być zintegrowana z interfejsami API komercyjnej usługi pomiarowej platformy handlowej, aby poinformować firmę Microsoft o rozliczanych zdarzeniach.

Ważny

Aplikacja będzie musiała wywołać interfejsy API usług pomiarowych komercyjnego rynku. Obecnie nie ma możliwości umożliwienia hostowanej usłudze (poza aplikacją) wywołania interfejsu API usługi metryk.

Notatka

Usługa pomiaru użytkowania witryny Marketplace jest dostępna tylko dla niestandardowego modelu rozliczeń i nie ma zastosowania do modelu rozliczeń dla poszczególnych użytkowników.

Jak rozliczanie według zużycia pasuje do strategii cenowej

Zrozumienie hierarchii ofert jest ważne, jeśli chodzi o definiowanie oferty wraz z jej modelami cenowymi.

  • Każda oferta jest skonfigurowana do sprzedaży za pośrednictwem firmy Microsoft lub nie. Po opublikowaniu oferty nie można zmienić tej opcji.
  • Każda oferta, skonfigurowana do sprzedaży za pośrednictwem firmy Microsoft, może mieć co najmniej jeden plan.
  • Każdy plan ma skojarzony z nim model cenowy: miesięczny plan rozliczany na podstawie użycia lub bring your own license (BYOL). W przypadku miesięcznego planu rozliczeniowego opartego na użyciu możesz wybrać bezpłatną, jedną z sześciu wstępnie zdefiniowanych opcji rozliczeniowych lub niestandardową.
  • Nie można zaktualizować modelu cenowego i opcji wejściowych cen po opublikowaniu.
  • Każdy plan musi mieć pełny plan cenowy.
  • Możesz zdecydować się na ustalanie cen przy użyciu wymiarów niestandardowych, aby obciążać klientów zgodnie z ich potrzebami i lepiej realizować wymagania związane z rozliczeniami. Każdy wymiar reprezentuje rozliczaną jednostkę, którą Twoja usługa raportuje do firmy Microsoft za pomocą interfejsu API usługi metryki rynku komercyjnego .

Ważny

Musisz śledzić użycie w kodzie i wysyłać zdarzenia użycia tylko do firmy Microsoft dla użycia, które ma zostać zafakturowane przez klienta.

Notatka

Oferty będą rozliczane dla klientów w walucie umowy klienta przy użyciu lokalnej ceny rynkowej opublikowanej w momencie utworzenia oferty. Kwota, jaką płacą klienci i którą otrzymują dostawcy oprogramowania, zależy od kursów wymiany walut w momencie dokonywania transakcji przez klienta. Dowiedz się więcej na temat "Jak konwertujemy walutę?".

Przykładowe niestandardowe opcje cennika

Na przykład firma Contoso jest wydawcą, którego adres IP znajduje się w logice fragmentowania dla aplikacji Kubernetes. Firma Contoso chce obciążać swoich klientów zależnie od liczby użytych fragmentów. Eksplorują również inne wygodne i konkurencyjne opcje rozliczeń. Firma Contoso jest zarejestrowana jako wydawca w Centrum partnerskim dla komercyjnego programu marketplace i chce publikować oferty kontenerów dla klientów platformy Azure. Istnieją cztery plany skojarzone z firmą Contoso, opisane poniżej:

  • Opłata za shardy używane za godzinę, na przykład 1 000 zł/shard/godzina.

    Zrzut ekranu przedstawiający opłatę za korzystanie z fragmentów na godzinę.

  • Modelowanie jednorazowej płatności lub rozliczeń cyklicznych: załóżmy, że firma Contoso chce obciążać klienta opłatą w wysokości 449 USD/mo za użycie maksymalnie 100 plików dziennika z aplikacji. Logika aplikacji firmy Contoso śledzi wykorzystanie w ciągu miesiąca i nalicza opłatę po zakończeniu miesiąca za użytkowanie 100 plików dziennika.

    Zrzut ekranu przedstawiający modelowanie jednorazowej płatności lub rozliczeń cyklicznych.

  • Modelowanie rozliczeń warstwowych: załóżmy, że firma Contoso chce pobierać opłaty w wysokości 449 USD/miesiąc za maksymalnie 100 fragmentów, a następnie ceny progresywne za wszelkie przekroczenia. Logika ich aplikacji będzie śledzić wykorzystanie w miesiącu, segmentować je odpowiednio i raportować przy użyciu poniższych interfejsów API do mierzenia na koniec okresu.

    Zrzut ekranu przedstawiający modelowanie rozliczeń warstwowych.

  • Rozliczenia wielowymiarowe: firma Contoso może również używać niestandardowych pomiarów, aby zaspokoić potrzeby zaawansowanych rozliczeń przy użyciu wielu wymiarów

    zrzut ekranu przedstawiający rozliczenia wielowymiarowe.

Na podstawie wybranego planu klient platformy Azure uzyskujący ofertę kontenera Contoso jest naliczany na podstawie ich użycia. Firma Contoso zlicza użycie bez wysyłania żadnych zdarzeń użycia do firmy Microsoft. Gdy klienci zużywają odpowiednią ilość lub okresowo, firma Contoso zgłasza użycie. Klienci nie muszą zmieniać planów ani nic innego. Firma Contoso mierzy użycie, a następnie zaczyna generowanie zdarzeń użycia dla Microsoftu w celu naliczania opłat za nadmierne użycie, korzystając z API usługi pomiaru w komercyjnym rynku handlowym . Firma Microsoft z kolei pobiera opłaty od klienta za użycie określone przez wydawcę w wymiarach niestandardowych. Rozliczanie odbywa się w następnym miesięcznym cyklu rozliczeniowym.

Wymiary rozliczeń

Każdy wymiar rozliczeniowy definiuje jednostkę niestandardową, którą ISV może wykorzystać do generowania zdarzeń użycia. Wymiary rozliczeniowe są również używane do informowania klienta o tym, w jaki sposób będą rozliczani za korzystanie z oprogramowania. Są one definiowane w następujący sposób:

  • ID: niezmienny identyfikator wymiaru, który jest używany jako odniesienie podczas emitowania zdarzeń użycia.
  • nazwa wyświetlana: nazwa wyświetlana skojarzona z wymiarem, na przykład "wiadomości SMS wysłane".
  • Jednostka miary: opis jednostki rozliczeniowej, na przykład "za wiadomość SMS" lub "za 100 wiadomości e-mail".
  • Cena za jednostkę w USD: cena za jedną jednostkę wymiaru. Może to być 0.

Ważny

Musisz śledzić użycie w kodzie aplikacji i wysyłać zdarzenia użycia do firmy Microsoft w zależności od potrzeb rozliczeniowych.

Wymiary rozliczeniowe są wspólne we wszystkich planach oferty. Niektóre atrybuty mają zastosowanie do wymiaru we wszystkich planach, a inne atrybuty są specyficzne dla planu.

Atrybuty, które definiują sam wymiar, są współdzielone w ramach wszystkich planów oferty. Przed opublikowaniem oferty, zmiana dokonana w tych atrybutach w kontekście dowolnego planu wpływa na definicję wymiaru we wszystkich planach. Po opublikowaniu oferty te atrybuty nie będą już edytowalne. Te atrybuty są:

  • identyfikator
  • Nazwa wyświetlana
  • Jednostka miary

Inne atrybuty wymiaru są specyficzne dla każdego planu i mogą mieć różne wartości od planu do planu. Przed opublikowaniem planu można edytować te wartości i będzie to miało wpływ tylko na ten plan. Po opublikowaniu planu te atrybuty nie będą już edytowalne. Te oto atrybuty:

  • Cena za jednostkę w USD

Wymiary mają również specjalną koncepcję o nazwie "enabled":

  • Włączone wskazuje, że ten plan uczestniczy w tej dziedzinie. Jeśli tworzysz nowy plan i nie wysyłasz zdarzeń użycia na podstawie tego wymiaru, warto nie zaznaczać tej opcji. Ponadto wszystkie nowe wymiary dodane po pierwszym opublikowaniu planu będą wyświetlane jako "nie włączone" w już opublikowanym planie. Wyłączony wymiar nie będzie widoczny na żadnej liście wymiarów planu widzianego przez klientów.

Notatka

Następujące scenariusze są jawnie obsługiwane:

  • Nowy wymiar można dodać do nowego planu. Nowy wymiar nie zostanie włączony do żadnego z już opublikowanych planów.

Ustalanie ceny za wymiar na jednostkę dla każdego obsługiwanego rynku

Podobnie jak w przypadku innych cen opartych na użyciu, ceny wymiarów rozliczeniowych można ustawić dla obsługiwanego kraju lub regionu. W Centrum partnerskim należy użyć funkcji importowania i eksportowania danych cenowych w następujący sposób.

  1. Zdefiniuj żądane wymiary i oznacz, które rynki są obsługiwane.
  2. Wyeksportuj te dane do pliku.
  3. Dodaj poprawne ceny dla kraju/regionu i zaimportuj plik w Centrum partnerskim.

Interfejs użytkownika miernika zmienia się, aby odzwierciedlić, że ceny wymiaru są widoczne wyłącznie w pliku.

Zrzut ekranu przedstawiający interfejs użytkownika miernika.

Plan prywatny

Podobnie jak wstępnie zdefiniowane plany rozliczeniowe oparte na użyciu, plan z wymiarami niestandardowymi można ustawić jako plan prywatny, dostępny tylko dla zdefiniowanych odbiorców planu.

Ograniczenia

Zachowanie blokujące

Ponieważ wymiar używany z usługą meteringu na platformie handlowej określa sposób, w jaki klient będzie płacił za usługę, wszystkie szczegóły wymiaru nie mogą być już edytowane po jego opublikowaniu. Ważne jest, aby przed opublikowaniem planu w pełni zdefiniować jego wymiary.

Po opublikowaniu oferty z wymiarem, nie można już zmieniać szczegółów oferty dotyczących tego wymiaru.

  • identyfikator
  • Nazwa wyświetlana
  • Jednostka miary

Po opublikowaniu planu nie można już zmienić szczegółów na poziomie planu:

  • Czy wymiar jest włączony czy wyłączony dla planu

Górne limity

Maksymalna liczba wymiarów, które można skonfigurować dla pojedynczej oferty, to 30 unikatowych wymiarów.

Rozliczanie według zużycia dla kontenerów platformy Azure

API do rozliczeń taryfowych powinny być używane, gdy wydawca tworzy niestandardowe wymiary pomiaru w celu opublikowania oferty w Partner Center. Integracja z interfejsami API do rozliczeń licznikowych jest wymagana dla każdej zakupionej oferty, która ma co najmniej jeden plan z niestandardowymi wymiarami do generowania zdarzeń użycia.

Ważny

Aby uzyskać więcej informacji na temat tworzenia niestandardowych wymiarów pomiaru dla aplikacji Kubernetes, zobacz Tworzenie oferty kontenera platformy Azure.

Wymuszanie notatki protokołu TLS 1.2

Protokół TLS w wersji 1.2 jest wymuszany jako minimalna wersja komunikacji HTTPS. Upewnij się, że używasz tej wersji protokołu TLS w kodzie. Protokoły TLS w wersji 1.0 i 1.1 są przestarzałe, a próby nawiązania połączenia są odrzucane.

Zdarzenie jednorazowego użycia w systemie rozliczeń według zużycia

Interfejs API zdarzeń użycia powinien być wywoływany przez wydawcę do emisji zdarzeń użycia względem aktywnego zasobu (zasubskrybowanego) dla planu zakupionego przez określonego klienta. Zdarzenie użycia jest emitowane oddzielnie dla każdego niestandardowego wymiaru planu zdefiniowanego przez wydawcę podczas publikowania oferty.

Dla każdej godziny w ciągu dnia kalendarzowego na każdy zasób i wymiar można emitować tylko jedno zdarzenie użycia. Jeśli zużywane jest więcej niż jedna jednostka w ciągu godziny, zlicz wszystkie jednostki zużyte w tej godzinie, a następnie emituj je jako jedno zdarzenie. Zdarzenia użycia mogą być emitowane tylko przez ostatnie 24 godziny. Jeśli w dowolnym momencie emitujesz zdarzenie użycia z zakresu od 8:00 do 8:59:59 (i jest akceptowane) i wyślij kolejne zdarzenie tego samego dnia między 8:00 a 8:59:59, zostanie odrzucone jako duplikat.

POST: https://marketplaceapi.microsoft.com/api/usageEvent?api-version=<ApiVersion>

Parametry zapytania:

Parametr Zalecenie
ApiVersion Użyj 31.08.2018.

nagłówki żądań:

Typ zawartości Użyj application/json
x-ms-requestid Unikalna wartość ciągu do śledzenia żądania od klienta, najlepiej identyfikator GUID (Globally Unique Identifier). Jeśli ta wartość nie zostanie podana, zostanie wygenerowana i podana w nagłówkach odpowiedzi.
x-ms-correlationid Unikalna wartość ciągu dla operacji po stronie klienta. Ten parametr koreluje wszystkie zdarzenia z operacji klienta ze zdarzeniami po stronie serwera. Jeśli ta wartość nie zostanie podana, zostanie wygenerowana i podana w nagłówkach odpowiedzi.
authorization Unikatowy token dostępu identyfikujący niezależnego dostawcę oprogramowania, który wykonuje to wywołanie interfejsu API. Format jest "Bearer <access_token>", gdy wartość tokenu jest pobierana przez wydawcę, zgodnie z opisem w aplikacji Kubernetes w Strategiach uwierzytelniania.

Przykład treści żądania:

{
  "resourceUri": "<ARM resource URI of the Kubernetes app instance>", // unique identifier of the resource against which usage is emitted. 
  "quantity": 5.0, // how many units were consumed for the date and hour specified in effectiveStartTime, must be greater than 0 or a double integer
  "dimension": "dim1", // custom dimension identifier
  "effectiveStartTime": "2018-12-01T08:30:14", // time in UTC when the usage event occurred, from now and until 24 hours back
  "planId": "plan1", // id of the plan purchased for the offer
}

Notatka

W przypadku aplikacji Kubernetes resourceUri jest identyfikatorem URI zasobu ARM wystąpienia aplikacji Kubernetes.

Odpowiedzi

Kod: 200
OK. Emisja użycia została zaakceptowana i zarejestrowana po stronie firmy Microsoft w celu dalszego przetwarzania i rozliczeń.

Przykład ładunku odpowiedzi:

{
  "usageEventId": <guid>, // unique identifier associated with the usage event in Microsoft records
  "status": "Accepted" // this is the only value in case of single usage event
  "messageTime": "2020-01-12T13:19:35.3458658Z", // time in UTC this event was accepted
  "resourceUri": "<ARM resource URI of the Kubernetes app instance>", // unique identifier of the resource against which usage is emitted. For SaaS it's the subscriptionId.
  "quantity": 5.0, // amount of emitted units as recorded by Microsoft
  "dimension": "dim1", // custom dimension identifier
  "effectiveStartTime": "2018-12-01T08:30:14", // time in UTC when the usage event occurred, as sent by the ISV
  "planId": "plan1", // id of the plan purchased for the offer
}

Kod: 400
Nieprawidłowe żądanie.

  • Brak lub podano nieprawidłowe dane żądania.
  • effectiveStartTime zostało przekroczone o ponad 24 godziny. Zdarzenie wygasło.

Przykład ładunku odpowiedzi:

{
  "message": "One or more errors have occurred.",
  "target": "usageEventRequest",
  "details": [
    {
      "message": "The resourceUri is required.",
      "target": "ResourceUri",
      "code": "BadArgument"
    }
  ],
  "code": "BadArgument"
}

Kod: 400
Nieprawidłowe żądanie.

  • Identyfikator URI zasobu został już wcześniej zarejestrowany. Należy poczekać 24 godziny przed zgłoszeniem użycia.

Przykład ładunku odpowiedzi:

{
  "message": "One or more errors have occurred.",
  "target": "usageEventRequest",
  "details": [
    {
      "message": "Invalid usage state.",
      "target": "ResourceUri",
      "code": "BadArgument"
    }
  ],
  "code": "BadArgument"
}

Kod: 403

Zakazany. Token autoryzacji nie jest podany, jest nieprawidłowy lub wygasł.

Kod: 409
Konflikt. Zdarzenie użycia zostało już pomyślnie zgłoszone dla określonego identyfikatora zasobu, obowiązującej daty użycia i godziny.

Przykład ładunku odpowiedzi:

{
  "additionalInfo": {
    "acceptedMessage": {
      "usageEventId": "<guid>", //unique identifier associated with the usage event in Microsoft records
      "status": "Duplicate",
      "messageTime": "2020-01-12T13:19:35.3458658Z",
      "resourceUri": "<ARM resource URI of the Kubernetes app instance>", //unique identifier of the resource against which usage is emitted.
      "quantity": 1.0,
      "dimension": "dim1",
      "effectiveStartTime": "2020-01-12T11:03:28.14Z",
      "planId": "plan1"
    }
  },
  "message": "This usage event already exist.",
  "code": "Conflict"
}

Zdarzenie użycia partii rozliczenia taryfowego

Interfejs API zdarzeń użycia wsadowego umożliwia emitowanie zdarzeń użycia dla więcej niż jednego zakupionego zasobu jednocześnie. Umożliwia również emitowanie kilku zdarzeń użycia dla tego samego zasobu, o ile są one przeznaczone dla różnych godzin kalendarzowych. Maksymalna liczba zdarzeń w pojedynczej partii wynosi 25.

POST:https://marketplaceapi.microsoft.com/api/batchUsageEvent?api-version=<ApiVersion>

Parametry zapytania:

Parametr Zalecenie
ApiVersion Użyj 2018-08-31.

nagłówki żądań:

Typ zawartości Użyj application/json
x-ms-requestid Unikalna wartość ciągu dla śledzenia żądania od klienta, najlepiej identyfikator GUID. Jeśli ta wartość nie zostanie podana, zostanie wygenerowana i podana w nagłówkach odpowiedzi.
x-ms-correlationid Unikalna wartość ciągu dla operacji po stronie klienta. Ten parametr koreluje wszystkie zdarzenia z operacji klienta ze zdarzeniami po stronie serwera. Jeśli ta wartość nie zostanie podana, zostanie wygenerowana i podana w nagłówkach odpowiedzi.
authorization Unikatowy token dostępu identyfikujący niezależnego dostawcę oprogramowania, który wykonuje to wywołanie interfejsu API. Format jest Bearer <access_token>, kiedy wartość tokenu jest pobierana przez wydawcę, jak wyjaśniono w aplikacji Kubernetes w Strategiach uwierzytelniania.

Notatka

W treści żądania identyfikator zasobu aplikacji Kubernetes jest resourceUri.

Przykład treści żądania dla aplikacji Kubernetes:

{
  "request": [ // list of usage events for the same or different resources of the publisher
    { // first event
      "resourceUri": "<ARM resource URI of the Kubernetes app instance>", // Unique identifier of the resource against which usage is emitted. 
      "quantity": 5.0, // how many units were consumed for the date and hour specified in effectiveStartTime, must be greater than 0 or a double integer
      "dimension": "dim1", //Custom dimension identifier
      "effectiveStartTime": "2018-12-01T08:30:14",//Time in UTC when the usage event occurred, from now and until 24 hours back
      "planId": "plan1", // id of the plan purchased for the offer
    },
    { // next event
      "resourceUri": "<ARM resource URI of the Kubernetes app instance>", 
      "quantity": 39.0, 
      "dimension": "email", 
      "effectiveStartTime": "2018-11-01T23:33:10
      "planId": "gold", // id of the plan purchased for the offer
    }
  ]
}

Odpowiedzi

Kod: 200
OK. Emisja użycia partii została zaakceptowana i zarejestrowana po stronie firmy Microsoft w celu dalszego przetwarzania i rozliczeń. Lista odpowiedzi jest zwracana wraz ze stanem dla każdego indywidualnego zdarzenia w grupie. Należy przeanalizować zawartość odpowiedzi, aby zrozumieć odpowiedzi dla każdego pojedynczego zdarzenia użytkowego wysyłanego w ramach procesu wsadowego.

Przykład pakietu danych odpowiedzi:

{
  "count": 2, // number of records in the response
  "result": [
    { // first response
      "usageEventId": "<guid>", // unique identifier associated with the usage event in Microsoft records
      "status": "Accepted" // see list of possible statuses below,
      "messageTime": "2020-01-12T13:19:35.3458658Z", // Time in UTC this event was accepted by Microsoft,
      "resourceUri": "<ARM resource URI of the Kubernetes app instance>", // unique identifier of the resource against which usage is emitted.
      "quantity": 5.0, // amount of emitted units as recorded by Microsoft 
      "dimension": "dim1", // custom dimension identifier
      "effectiveStartTime": "2018-12-01T08:30:14",// time in UTC when the usage event occurred, as sent by the ISV
      "planId": "plan1", // id of the plan purchased for the offer
    },
    { // second response
      "status": "Duplicate",
      "messageTime": "0001-01-01T00:00:00",
      "error": {
        "additionalInfo": {
          "acceptedMessage": {
            "usageEventId": "<guid>",
            "status": "Duplicate",
            "messageTime": "2020-01-12T13:19:35.3458658Z",
            "resourceUri": "<ARM resource URI of the Kubernetes app instance>",
            "quantity": 1.0,
            "dimension": "email",
            "effectiveStartTime": "2020-01-12T11:03:28.14Z",
            "planId": "gold"
          }
        },
        "message": "This usage event already exist.",
        "code": "Conflict"
      },
      "resourceId": "<guid2>",
      "quantity": 1.0,
      "dimension": "email",
      "effectiveStartTime": "2020-01-12T11:03:28.14Z",
      "planId": "gold"
    }
  ]
}

Opis kodu stanu, do którego odnosi się odpowiedź interfejsu API BatchUsageEvent.

Kod stanu Opis
Accepted Akceptowane.
Expired Przedawnione użycie.
Duplicate Podano zduplikowane użycie.
Error Kod błędu.
ResourceNotFound Podany do użycia zasób jest nieprawidłowy.
ResourceNotAuthorized Nie masz uprawnień do udostępniania użycia tego zasobu.
ResourceNotActive Zasób jest zawieszony lub nigdy nie został aktywowany.
InvalidDimension Wymiar, dla którego przekazano użycie, jest nieprawidłowy dla tej oferty lub planu.
InvalidQuantity Przekazana ilość jest niższa lub równa 0.
BadArgument Brak danych wejściowych lub nieprawidłowo sformułowanych.

Kod: 400
Nieprawidłowe żądanie. Partia zawierała ponad 25 zdarzeń użycia.

Kod: 403
Zakazany. Token autoryzacji nie jest podany, jest nieprawidłowy lub wygasł.

Fakturowanie mierzone pobiera zdarzenia dotyczące użycia

Aby uzyskać listę zdarzeń użycia, możesz wywołać interfejs API zdarzeń użycia. Niezależni dostawcy oprogramowania (ISV) mogą używać tego interfejsu API do przeglądania zdarzeń użycia, które zostały opublikowane w określonym konfigurowalnym okresie czasu, a także sprawdzania stanu, w jakim te zdarzenia znajdują się w momencie wywołania interfejsu API.

POBIERZ: https://marketplaceapi.microsoft.com/api/usageEvents

parametry zapytania:

Parametr Zalecenie
ApiVersion Użyj 2018-08-31.
data rozpoczęcia użytkowania Data/godzina w formacie ISO8601. Na przykład 2020-12-03T15:00 lub 2020-12-03
UsageEndDate (opcjonalnie) Data/godzina w formacie ISO8601. Wartość domyślna = bieżąca data
offerId (opcjonalnie) Ustawienie domyślne = wszystkie dostępne
planId (opcjonalnie) Ustawienie domyślne = wszystkie dostępne
wymiar (opcjonalnie) Ustawienie domyślne = wszystkie dostępne
azureSubscriptionId (opcjonalnie) Ustawienie domyślne = wszystkie dostępne
reconStatus (opcjonalnie) Ustawienie domyślne = wszystkie dostępne

możliwe wartości reconStatus:

ReconStatus Opis
Przesłano Jeszcze nie przetworzone przez usługę PC Analytics
Akceptowane Dopasowane do PC Analytics
Odrzucone Odrzucone w potoku. Skontaktuj się z pomocą techniczną firmy Microsoft, aby zbadać przyczynę.
Niezgodność Ilości w MarketplaceAPI i Partner Center Analytics są różne, choć obie są większe niż zero.
TestHeaders Subskrypcja zawiera nagłówki testowe i dlatego nie jest uwzględniona w PC Analytics
DryRun Przesłano z trybem SessionMode=DryRun, a tym samym nie na komputerze

nagłówki żądania:

Typ zawartości Używanie pliku application/json
x-ms-requestid Unikatowa wartość ciągu (najlepiej identyfikator GUID) do śledzenia żądania od klienta. Jeśli ta wartość nie zostanie podana, zostanie wygenerowana i podana w nagłówkach odpowiedzi.
x-ms-correlationid Unikalna wartość ciągu dla operacji po stronie klienta. Ten parametr koreluje wszystkie zdarzenia z operacji klienta ze zdarzeniami po stronie serwera. Jeśli ta wartość nie zostanie podana, zostanie wygenerowana i podana w nagłówkach odpowiedzi.
autoryzacja Unikatowy token dostępu identyfikujący niezależnego dostawcę oprogramowania, który wykonuje to wywołanie interfejsu API. Gdy wartość tokenu jest pobierana przez wydawcę, format jest Bearer <access_token>.
— Aplikacja Kubernetes w strategiach uwierzytelniania

Odpowiedzi

Przykłady ładunku odpowiedzi:

zaakceptowane

[
  {
    "usageDate": "2020-11-30T00:00:00Z",
    "usageResourceId": "11111111-2222-3333-4444-555555555555",
    "dimension": "tokens",
    "planId": "silver",
    "planName": "Silver",
    "offerId": "mycooloffer",
    "offerName": "My Cool Offer",
    "offerType": "SaaS",
    "azureSubscriptionId": "12345678-9012-3456-7890-123456789012",
    "reconStatus": "Accepted",
    "submittedQuantity": 17.0,
    "processedQuantity": 17.0,
    "submittedCount": 17
  }
]

Przesłane

[
  {
    "usageDate": "2020-11-30T00:00:00Z",
    "usageResourceId": "11111111-2222-3333-4444-555555555555",
    "dimension": "tokens",
    "planId": "silver",
    "planName": "",
    "offerId": "mycooloffer",
    "offerName": "",
    "offerType": "SaaS",
    "azureSubscriptionId": "12345678-9012-3456-7890-123456789012",
    "reconStatus": "Submitted",
    "submittedQuantity": 17.0,
    "processedQuantity": 0.0,
    "submittedCount": 17
  }
]

niezgodność

[
  {
    "usageDate": "2020-11-30T00:00:00Z",
    "usageResourceId": "11111111-2222-3333-4444-555555555555",
    "dimension": "tokens",
    "planId": "silver",
    "planName": "Silver",
    "offerId": "mycooloffer",
    "offerName": "My Cool Offer",
    "offerType": "SaaS",
    "azureSubscriptionId": "12345678-9012-3456-7890-123456789012",
    "reconStatus": "Mismatch",
    "submittedQuantity": 17.0,
    "processedQuantity": 16.0,
    "submittedCount": 17
  }
]

odrzucone

[
  {
    "usageDate": "2020-11-30T00:00:00Z",
    "usageResourceId": "11111111-2222-3333-4444-555555555555",
    "dimension": "tokens",
    "planId": "silver",
    "planName": "",
    "offerId": "mycooloffer",
    "offerName": "",
    "offerType": "SaaS",
    "azureSubscriptionId": "12345678-9012-3456-7890-123456789012",
    "reconStatus": "Rejected",
    "submittedQuantity": 17.0,
    "processedQuantity": 0.0,
    "submittedCount": 17
  }
]

kody stanu

Kod: 403 Zabronione. Token autoryzacji nie jest podany, jest nieprawidłowy lub wygasł.

Najlepsze rozwiązania dotyczące programowania i testowania

Aby przetestować emisję niestandardowego miernika, zaimplementuj integrację z API do pomiaru, utwórz plan dla opublikowanej oferty Kubernetes Apps z zdefiniowanymi niestandardowymi wymiarami i zerową ceną za jednostkę. Opublikuj tę ofertę jako wersję zapoznawcza, aby tylko ograniczeni użytkownicy mogli uzyskiwać dostęp do integracji i testować ją.

Możesz również użyć planu prywatnego dla istniejącej oferty na żywo, aby ograniczyć dostęp do tego planu podczas testowania dla ograniczonej liczby odbiorców.

Uzyskiwanie pomocy technicznej

Jeśli masz jeden z następujących problemów, możesz otworzyć bilet pomocy technicznej.

  • Problemy techniczne z interfejsem API usługi pomiaru użytkowania witryny Marketplace.
  • Problem, który należy zgłosić z powodu błędu lub usterki po waszej stronie (np. nieprawidłowego zdarzenia użycia).
  • Wszelkie inne problemy związane z opłatami pomiarowymi.

Aby zrozumieć opcje wsparcia dla wydawców i otworzyć zgłoszenie pomocy technicznej do firmy Microsoft, postępuj zgodnie z instrukcjami w Wsparcie dla komercyjnego rynku w Centrum Partnerskim.