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ą komercyjnej usługi pomiaru użytkowania platformy handlowej możesz utworzyć oferty kontenera platformy Azure, które są naliczane zgodnie z niestandardowymi jednostkami. Przed opublikowaniem oferty na platformie handlowej należy zdefiniować wymiary rozliczeń, takie jak przepustowość, fragmenty, pliki dziennika, skanowania, przetworzone wiadomości e-mail itp. Następnie klienci płacą zgodnie z użyciem tych wymiarów, a Aplikacja informuje firmę Microsoft za pośrednictwem interfejsu API usługi pomiaru użytkowania platformy handlowej o rozliczanych zdarzeniach w miarę ich występowania.

Wymagania wstępne dotyczące rozliczeń mierzonych

W przypadku oferty kontenera platformy Azure do korzystania z rozliczeń taryfowych należy najpierw zapoznać się z opcjami licencjonowania opisanymi w temacie Planowanie oferty kontenera platformy Azure i upewnić się, że masz niestandardowe potrzeby dotyczące rozliczeń, które nie są spełnione przez jeden z sześciu istniejących wstępnie zdefiniowanych modeli rozliczeń.

Następnie oferta kontenera platformy Azure może zintegrować się z komercyjnymi interfejsami API usługi pomiaru użytkowania platformy handlowej, aby poinformować firmę Microsoft o rozliczanych zdarzeniach.

Ważne

Aplikacja będzie musiała wywołać interfejsy API usługi pomiaru użytkowania komercyjnej platformy handlowej. Obecnie nie ma możliwości zezwalania hostowanej usłudze (poza aplikacją) na wywoływanie interfejsu API usługi pomiaru użytkowania.

Uwaga

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 taryfowe jest dopasowane do cennika

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 Przynieś własną licencję (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 wybrać cenę przy użyciu wymiarów niestandardowych, aby obciążać klientów, aby pomóc spełnić potrzeby dotyczące rozliczeń. Każdy wymiar reprezentuje rozliczaną jednostkę, którą usługa komunikuje się z firmą Microsoft przy użyciu komercyjnego interfejsu API usługi pomiaru użytkowania platformy handlowej.

Ważne

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.

Uwaga

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 że dostawcy oprogramowania są opłacani, zależy od stawek wymiany walut w momencie transakcji oferty 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 fragmenty używane na godzinę, na przykład $1,000/shard/hour

    Zrzut ekranu przedstawiający opłaty za fragmenty używane 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 zdarzenie użycia dla miesiąca i wyzwala opłatę po zakończeniu miesiąca dla użycia 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/mo za maksymalnie 100 fragmentów, a następnie warstwowe ceny za wszelkie nadwyżki. Logika aplikacji będzie śledzić użycie w miesiącu, odpowiednio podzielić użycie i zgłosić je przy użyciu poniższych interfejsów API pomiaru 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 i rozpoczyna emitowanie zdarzeń użycia do firmy Microsoft w celu naliczania opłat za użycie nadwyżkowe przy użyciu komercyjnego interfejsu API usługi pomiaru użytkowania na platformie handlowej. Firma Microsoft z kolei pobiera opłaty 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ą, za pomocą której niezależnego dostawcy oprogramowania może emitować zdarzenia użycia. Wymiary rozliczeniowe są również używane do komunikowania się klientowi o tym, jak będą naliczane opłaty za korzystanie z oprogramowania. Są one definiowane w następujący sposób:

  • ID: niezmienny identyfikator wymiaru, do których odwołuje się 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 "na wiadomość SMS" lub "na 100 wiadomości e-mail".
  • Cena za jednostkę w USD: cena za jedną jednostkę wymiaru. Może to być 0.

Ważne

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ółużytkowane 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ółużytkowane we wszystkich planach oferty. Przed opublikowaniem oferty zmiana wprowadzonych w tych atrybutach z kontekstu dowolnego planu wpływa na definicję wymiaru we wszystkich planach. Po opublikowaniu oferty te atrybuty nie będą już edytowalne. Te atrybuty są następujące:

  • ID
  • Wyświetlana nazwa
  • 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 atrybuty są następujące:

  • Cena za jednostkę w USD

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

  • Włączone wskazuje, że ten plan uczestniczy w tym wymiarze. Jeśli tworzysz nowy plan, który nie wysyła zdarzeń użycia na podstawie tego wymiaru, możesz pozostawić tę opcję niezaznaczone. Ponadto wszystkie nowe wymiary dodane po pierwszym opublikowaniu planu będą wyświetlane jako "nie włączone" w już opublikowanym planie. Wymiar wyłączony nie będzie widoczny na żadnej liście wymiarów planu widocznego dla klientów.

Uwaga

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

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

Ustawianie ceny wymiarów za jednostkę na obsługiwany rynek

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 można zobaczyć tylko 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ą pomiaru użytkowania platformy handlowej reprezentuje zrozumienie sposobu płacenia za usługę przez klienta, wszystkie szczegóły wymiaru nie są już edytowalne po opublikowaniu. Przed opublikowaniem ważne jest, aby twoje wymiary zostały w pełni zdefiniowane dla planu.

Po opublikowaniu oferty z wymiarem nie można już zmienić szczegółów na poziomie oferty dla tego wymiaru:

  • ID
  • Wyświetlana nazwa
  • Jednostka miary

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

  • Czy wymiar jest włączony dla planu, czy nie

Górne limity

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

Rozliczenia taryfowe kontenera platformy Azure

Interfejsy API rozliczeń taryfowych powinny być używane, gdy wydawca tworzy niestandardowe wymiary pomiaru, aby oferta została opublikowana w Centrum partnerskim. Integracja z mierzonymi interfejsami API rozliczeń jest wymagana dla każdej zakupionej oferty, która ma co najmniej jeden plan z wymiarami niestandardowymi w celu emitowania zdarzeń użycia.

Ważne

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 z użyciem pojedynczego użycia rozliczanego taryfowego

Interfejs API zdarzenia użycia powinien być wywoływany przez wydawcę w celu emitowania zdarzeń użycia względem aktywnego zasobu (subskrybowanego) 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 dnia kalendarzowego na zasób i wymiar można emitować tylko jedno zdarzenie użycia. Jeśli więcej niż jedna jednostka jest zużywana w ciągu godziny, zgromadz wszystkie jednostki zużyte w ciągu godziny, a następnie emitują je w jednym zdarzeniu. 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 2018-08-31.

Nagłówki żądań:

Typ zawartości Korzystanie z polecenia application/json
x-ms-requestid Unikatowa wartość ciągu do ś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 Unikatowa wartość ciągu dla operacji na kliencie. 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>" następujący, gdy wartość tokenu jest pobierana przez wydawcę, zgodnie z opisem w temacie Aplikacja 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
}

Uwaga

W przypadku aplikacji resourceUri Kubernetes jest to identyfikator URI zasobu usługi 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 jest ponad 24 godziny w przeszłości. 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 jest już wcześniej zarejestrowany. Przed przesłaniem użycia należy poczekać 24 godziny.

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 wsadowego taryfowego rozliczeń

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 Korzystanie z polecenia application/json
x-ms-requestid Unikatowa wartość ciągu do ś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 Unikatowa wartość ciągu dla operacji na kliencie. 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> następujący, gdy wartość tokenu jest pobierana przez wydawcę, zgodnie z opisem w temacie Aplikacja Kubernetes w strategiach uwierzytelniania.

Uwaga

W treści żądania identyfikator zasobu aplikacji Kubernetes to 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 ze stanem dla każdego pojedynczego zdarzenia w partii. Należy wykonać iterację ładunku odpowiedzi, aby zrozumieć odpowiedzi dla każdego pojedynczego zdarzenia użycia wysyłanego w ramach zdarzenia wsadowego.

Przykład ładunku 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órych odwołuje się BatchUsageEvent odpowiedź interfejsu API:

Kod stanu opis
Accepted Akceptowane.
Expired Wygasłe użycie.
Duplicate Podane zduplikowane użycie.
Error Kod błędu.
ResourceNotFound Podany zasób użycia 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/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ł.

Rozliczenia taryfowe pobierają zdarzenia użycia

Aby uzyskać listę zdarzeń użycia, możesz wywołać interfejs API zdarzeń użycia. Dostawcy oprogramowania mogą używać tego interfejsu API do wyświetlenia zdarzeń użycia, które zostały opublikowane przez określony konfigurowalny czas i stanu tych zdarzeń w momencie wywoływania interfejsu API.

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

Parametry zapytania:

Parametr Zalecenie
ApiVersion Użyj 2018-08-31.
usageStartDate 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łane Jeszcze nie przetworzone przez usługę PC Analytics
Zaakceptowano Dopasowane do usługi PC Analytics
Odrzucona Odrzucone w potoku. Skontaktuj się z pomocą techniczną firmy Microsoft, aby zbadać przyczynę.
Niezgodność Ilości interfejsu MarketplaceAPI i analizy Centrum partnerskiego nie są jednak zgodne
TestHeaders Subskrypcja wyświetlana z nagłówkami testów, a tym samym nie w usłudze PC Analytics
DryRun Przesłano z trybem SessionMode=DryRun, a tym samym nie na komputerze

Nagłówki żądań:

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 Unikatowa wartość ciągu dla operacji na kliencie. 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. Format jest Bearer <access_token> następujący, gdy wartość tokenu jest pobierana przez wydawcę.
— Aplikacja Kubernetes w strategiach uwierzytelniania

Odpowiedzi

Przykłady ładunku odpowiedzi:

Akceptowane

[
  {
    "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łano

[
  {
    "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ę miernika niestandardowego, zaimplementuj integrację z interfejsem API pomiaru, utwórz plan dla opublikowanej oferty usługi Kubernetes Apps z niestandardowymi wymiarami zdefiniowanymi w nim z 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 eskalować z powodu błędu lub usterki po twojej stronie (np. nieprawidłowego zdarzenia użycia).
  • Wszelkie inne problemy związane z rozliczeniami mierzonymi.

Aby zrozumieć opcje pomocy technicznej wydawcy i otworzyć bilet pomocy technicznej z firmą Microsoft, postępuj zgodnie z instrukcjami w temacie Pomoc techniczna dla programu platformy handlowej w Centrum partnerskim.