Fatturazione a consumo per il servizio di Container di Azure tramite il servizio di misurazione del marketplace commerciale di Azure
Con il servizio di misurazione del marketplace commerciale, è possibile creare offerte di Azure Container che vengono addebitate in base alle unità non standard. Prima di pubblicare l'offerta nel marketplace commerciale, definire le dimensioni di fatturazione, ad esempio larghezza di banda, partizioni, file di log, analisi, messaggi di posta elettronica elaborati e così via. I clienti pagano quindi in base al consumo di queste dimensioni, con l'applicazione che informa Microsoft tramite l'API del servizio di misurazione del marketplace commerciale di eventi fatturabili man mano che si verificano.
Prerequisiti per la fatturazione a consumo
Per consentire a un'offerta di Azure Container di usare la fatturazione a consumo, è prima necessario esaminare le opzioni di licenza descritte in Piano per l'offerta di Azure Container e assicurarsi di avere esigenze di fatturazione personalizzate che non sono soddisfatte da nessuno dei sei modelli di fatturazione predefiniti esistenti.
L'offerta Azure Container può quindi integrarsi con le API del servizio di misurazione del marketplace commerciale per informare Microsoft di eventi fatturabili.
Importante
L'applicazione dovrà chiamare le API del servizio di misurazione del marketplace commerciale. Attualmente non è disponibile un'opzione per consentire al servizio ospitato (all'esterno dell'applicazione) di chiamare l'API del servizio di misurazione.
Nota
Il servizio di misurazione del Marketplace è disponibile solo per il modello di fatturazione personalizzato e non si applica al modello di fatturazione per utente.
In che modo la fatturazione a consumo si adatta ai prezzi
Comprendere la gerarchia dell'offerta è importante quando si tratta di definire l'offerta insieme ai relativi modelli di determinazione dei prezzi.
- Ogni offerta è configurata per la vendita tramite Microsoft o meno. Dopo la pubblicazione di un'offerta, questa opzione non può essere modificata.
- Ogni offerta, configurata per la vendita tramite Microsoft, può avere uno o più piani.
- A ogni piano è associato un modello tariffario: piano con fatturazione mensile basata sull'utilizzo o bring your own license (BYOL). Per il piano di fatturazione mensile basato sull'utilizzo, è possibile scegliere gratuitamente, una delle sei opzioni di fatturazione predefinite o personalizzate.
- Non è possibile aggiornare il modello tariffario e le opzioni di input dei prezzi dopo la pubblicazione.
- Ogni piano deve avere un piano tariffario completo.
- È possibile scegliere di determinare i prezzi utilizzando dimensioni personalizzate per addebitare ai clienti e aiutare a soddisfare le vostre esigenze di fatturazione. Ogni dimensione rappresenta un'unità fatturabile comunicata dal servizio a Microsoft usando l'API del servizio di misurazione del marketplace commerciale .
Importante
È necessario tenere traccia dell'utilizzo nel codice e inviare solo gli eventi di utilizzo a Microsoft per l'utilizzo che si vuole fatturare al cliente.
Nota
Le offerte verranno fatturate ai clienti nella valuta del contratto del cliente, utilizzando il prezzo di mercato locale pubblicato al momento della creazione dell'offerta. L'importo pagato dai clienti e che gli ISV vengono pagati dipende dai tassi di cambio esteri al momento in cui il cliente esegue la transazione dell'offerta. Altre informazioni su "Come convertire la valuta?".
Opzioni di prezzi personalizzate di esempio
Ad esempio, Contoso è un publisher il cui IP risiede nella logica di partizionamento orizzontale per l'applicazione Kubernetes. Contoso vuole addebitare ai clienti i costi in base al numero di partizioni usate. Stanno esplorando anche altre opzioni di fatturazione convenienti e a prezzi competitivi. Contoso è registrato come editore nel Centro per i partner per il programma del marketplace commerciale e vuole pubblicare offerte di contenitori per i clienti di Azure. Esistono quattro piani associati a Contoso, descritti di seguito:
Addebito per ogni shard utilizzato all'ora, ad esempio $1.000/shard/ora
Modellazione di un pagamento monouso o fatturazione ricorrente: si supponga che Contoso voglia addebitare a un cliente $449/mo per l'utilizzo di un massimo di 100 file di log dalla propria applicazione. La logica dell'applicazione di Contoso tiene traccia dell'evento di utilizzo per il mese e attiva un addebito alla fine del mese per l'utilizzo di 100 file di log.
Modellazione della fatturazione a livelli: si supponga che Contoso voglia addebitare $449/mese per un massimo di 100 partizioni, e poi applicare prezzi a livelli per qualsiasi eccedenza. La logica dell'applicazione tiene traccia dell'utilizzo per il mese, segmenta l'utilizzo di conseguenza e lo segnala usando le API di misurazione seguenti alla fine del periodo:
Fatturazione multidimensionale: Contoso può anche usare la misurazione personalizzata per soddisfare le esigenze di fatturazione avanzata usando più dimensioni
In base al piano selezionato, un cliente di Azure che riceve l'offerta Contoso Container viene addebitata in base all'utilizzo. Contoso conta l'utilizzo senza inviare eventi di utilizzo a Microsoft. Quando i clienti utilizzano una quantità adeguata o su base periodica, Contoso segnala l'utilizzo. I clienti non devono modificare i piani o fare nulla di diverso. Contoso misura l'utilizzo e inizia a emettere eventi di utilizzo a Microsoft per l'addebito dell'utilizzo dell'eccedenza utilizzando l'API di misurazione del servizio di marketplace commerciale . Microsoft a sua volta addebita al cliente l'utilizzo come specificato dall'editore nelle dimensioni personalizzate. La fatturazione viene eseguita nel ciclo di fatturazione mensile successivo.
Dimensioni di fatturazione
Ogni dimensione di fatturazione definisce un'unità personalizzata in base alla quale l'ISV può generare eventi di utilizzo. Le dimensioni di fatturazione vengono usate anche per comunicare al cliente come verrà addebitato l'uso del software. Sono definiti come segue:
- ID: identificatore della dimensione non modificabile a cui si fa riferimento durante l'emissione di eventi di utilizzo.
- nome visualizzato: nome visualizzato associato alla dimensione, ad esempio "sms inviati".
- 'unità di misura: descrizione dell'unità di fatturazione, ad esempio "per sms" o "per 100 messaggi di posta elettronica".
- Prezzo per unità in USD: prezzo per un'unità di dimensione. Può essere 0.
Importante
È necessario tenere traccia dell'utilizzo nel codice dell'applicazione e inviare eventi di utilizzo a Microsoft in base alle esigenze di fatturazione.
Le dimensioni di fatturazione vengono condivise tra tutti i piani di un'offerta. Alcuni attributi si applicano alla dimensione in tutti i piani e altri attributi sono specifici del piano.
Gli attributi, che definiscono la dimensione stessa, sono condivisi tra tutti i piani di un'offerta. Prima di pubblicare l'offerta, una modifica apportata a questi attributi dal contesto di qualsiasi piano influisce sulla definizione della dimensione in tutti i piani. Dopo aver pubblicato l'offerta, questi attributi non sono più modificabili. Questi attributi sono:
- ID (Identificativo)
- Nome visualizzato
- Unità di misura
Gli altri attributi di una dimensione sono specifici di ogni piano e possono avere valori diversi da piano a piano. Prima di pubblicare il piano, è possibile modificare questi valori e solo questo piano sarà interessato. Dopo aver pubblicato il piano, questi attributi non saranno più modificabili. Questi attributi sono:
- Prezzo per unità in USD
Le dimensioni hanno anche un concetto speciale denominato "attivate":
- Abilitato indica che questo piano è coinvolto in questa dimensione. Se si sta creando un nuovo piano che non invia eventi di utilizzo in base a questa dimensione, è possibile lasciare deselezionata questa opzione. Inoltre, tutte le nuove dimensioni aggiunte dopo la prima pubblicazione di un piano verranno visualizzate come "non abilitate" nel piano già pubblicato. Una dimensione disabilitata non verrà visualizzata in alcun elenco di dimensioni per un piano visualizzato dai clienti.
Nota
Gli scenari seguenti sono supportati in modo esplicito:
- È possibile aggiungere una nuova dimensione a un nuovo piano. La nuova dimensione non verrà abilitata per i piani già pubblicati.
Impostazione del prezzo per unità di dimensione per ciascun mercato supportato.
Analogamente ad altri prezzi basati sull'utilizzo, i prezzi delle dimensioni di fatturazione possono essere impostati in base al paese o all'area geografica supportati. È necessario usare la funzionalità di importazione ed esportazione dei dati dei prezzi nel Centro per i partner, come indicato di seguito.
- Definire le dimensioni desiderate e contrassegnare quali mercati sono supportati.
- Esportare questi dati in un file.
- Aggiungere i prezzi corretti per paese/area geografica e importare il file nel Centro per i partner.
L'interfaccia utente del contatore cambia per riflettere che i prezzi della dimensione possono essere visualizzati solo nel file.
Piano privato
Analogamente ai piani di fatturazione predefiniti basati sull'utilizzo, un piano con dimensioni personalizzate può essere impostato come piano privato, accessibile solo dal gruppo di destinatari definito dal piano.
Vincoli
Comportamento di blocco
Poiché una dimensione usata con il servizio di misurazione del marketplace commerciale rappresenta una comprensione del modo in cui un cliente pagherà il servizio, tutti i dettagli per una dimensione non sono più modificabili dopo la pubblicazione. È importante avere le dimensioni completamente definite per un piano prima della pubblicazione.
Dopo la pubblicazione di un'offerta con una dimensione, i dettagli a livello di offerta per tale dimensione non possono più essere modificati:
- Identificativo
- Nome visualizzato
- Unità di misura
Dopo la pubblicazione di un piano, questo dettaglio a livello di piano non può più essere modificato:
- Indica se la dimensione è abilitata o meno per il piano
Limiti superiori
Il numero massimo di dimensioni che è possibile configurare per una singola offerta è di 30 dimensioni univoche.
Fatturazione basata sul consumo per Azure Container
Le API di fatturazione a consumo devono essere usate quando l'editore crea dimensioni di misurazione personalizzate per pubblicare un'offerta nel Centro per i partner. L'integrazione con le API di fatturazione a consumo è necessaria per qualsiasi offerta acquistata con uno o più piani con dimensioni personalizzate per generare eventi di utilizzo.
Importante
Per altre informazioni sulla creazione di dimensioni di misurazione personalizzate per le app Kubernetes, vedere Creare un'offerta di Azure Container.
Applicazione della nota TLS 1.2
La versione 1.2 di TLS viene applicata come versione minima per le comunicazioni HTTPS. Assicurarsi di usare questa versione di TLS nel codice. TLS versione 1.0 e 1.1 sono deprecati e i tentativi di connessione vengono rifiutati.
Evento singolo di utilizzo per la fatturazione a consumo
L'API evento di utilizzo deve essere chiamata dal server di pubblicazione per generare eventi di utilizzo su una risorsa attiva (sottoscritta) per il piano acquistato dal cliente specifico. L'evento di utilizzo viene generato separatamente per ogni dimensione personalizzata del piano definito dall'editore durante la pubblicazione dell'offerta.
È possibile generare un solo evento di utilizzo per ogni ora di un giorno di calendario per risorsa e dimensione. Se più unità vengono utilizzate in un'ora, accumulare tutte le unità utilizzate nell'ora e quindi generarla in un singolo evento. Gli eventi di utilizzo possono essere generati solo nelle ultime 24 ore. Se si genera un evento di utilizzo in qualsiasi momento tra le 8:00 e le 8:59:59 (e viene accettato) e si invia un altro evento per lo stesso giorno tra le 8:00 e le 8:59:59, viene rifiutato come duplicato.
POSTA: https://marketplaceapi.microsoft.com/api/usageEvent?api-version=<ApiVersion>
parametri di query:
Parametro | Raccomandazione |
---|---|
ApiVersion |
Da usare entro il 31-08-2018. |
Le intestazioni di richiesta:
Tipo di contenuto | Usare application/json |
---|---|
x-ms-requestid |
Valore stringa univoco per tenere traccia della richiesta dal client, preferibilmente un GUID. Se questo valore non viene specificato, ne viene generato uno e fornito nelle intestazioni della risposta. |
x-ms-correlationid |
Valore stringa univoco per l'operazione sul client. Questo parametro correla tutti gli eventi dell'operazione client con gli eventi sul lato server. Se questo valore non viene specificato, ne viene generato uno e fornito nelle intestazioni della risposta. |
authorization |
Token di accesso univoco che identifica l'ISV che effettua questa chiamata API. Il formato è "Bearer <access_token>" quando il valore del token viene recuperato dal publisher, come spiegato nell'applicazione Kubernetes in strategie di autenticazione. |
esempio di corpo della richiesta :
{
"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
}
Nota
Per le app Kubernetes, il resourceUri
è l'URI della risorsa ARM dell'istanza dell'app Kubernetes.
Risposte
Codice: 200
OK. L'emissione dei dati di utilizzo è stata accettata e registrata da parte di Microsoft per ulteriori elaborazioni e fatturazione.
Esempio di payload della risposta:
{
"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
}
Codice: 400
Richiesta non valida.
- Dati di richiesta mancanti o non validi forniti.
- "
effectiveStartTime
è di oltre 24 ore nel passato." Evento scaduto.
Esempio di payload della risposta:
{
"message": "One or more errors have occurred.",
"target": "usageEventRequest",
"details": [
{
"message": "The resourceUri is required.",
"target": "ResourceUri",
"code": "BadArgument"
}
],
"code": "BadArgument"
}
Codice: 400
Richiesta non valida.
- L'URI della risorsa è già registrato in precedenza, è necessario attendere 24 ore prima di inviare l'utilizzo.
Esempio di payload della risposta:
{
"message": "One or more errors have occurred.",
"target": "usageEventRequest",
"details": [
{
"message": "Invalid usage state.",
"target": "ResourceUri",
"code": "BadArgument"
}
],
"code": "BadArgument"
}
Codice: 403
Vietato. Il token di autorizzazione non viene fornito, non è valido o è scaduto.
Codice: 409
Conflitto. Un evento di utilizzo è già stato segnalato correttamente per l'ID risorsa specificato, la data di utilizzo effettiva e l'ora.
Esempio di payload della risposta:
{
"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"
}
Evento batch di utilizzo per la fatturazione a consumo
L'API per gli eventi di utilizzo batch consente di generare eventi di utilizzo per più risorse acquistate contemporaneamente. Consente inoltre di generare diversi eventi di utilizzo per la stessa risorsa purché siano per ore di calendario diverse. Il numero massimo di eventi in un singolo batch è 25.
POST:https://marketplaceapi.microsoft.com/api/batchUsageEvent?api-version=<ApiVersion>
parametri di query:
Parametro | Raccomandazione |
---|---|
ApiVersion |
Utilizzare il 31/08/2018. |
Intestazioni di richiesta:
Tipo di contenuto | Usare application/json |
---|---|
x-ms-requestid |
Valore stringa univoco per tenere traccia della richiesta dal client, preferibilmente un GUID. Se questo valore non viene specificato, ne viene generato uno e fornito nelle intestazioni della risposta. |
x-ms-correlationid |
Valore stringa univoco per l'operazione sul client. Questo parametro correla tutti gli eventi dell'operazione client con gli eventi sul lato server. Se questo valore non viene specificato, viene generato e fornito nelle intestazioni della risposta. |
authorization |
Token di accesso univoco che identifica l'ISV che effettua questa chiamata API. Il formato è Bearer <access_token> quando il valore del token viene recuperato dal publisher, come spiegato nell'applicazione Kubernetes in Strategie di Autenticazione. |
Nota
Nel corpo della richiesta l'identificatore della risorsa per le app Kubernetes è resourceUri
.
esempio di corpo della richiesta per le app 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
}
]
}
Risposte
Codice: 200
OK. L'emissione di utilizzo batch è stata accettata e registrata da parte di Microsoft per ulteriori elaborazioni e fatturazione. L'elenco di risposte viene restituito con lo stato per ogni singolo evento nel batch. È necessario scorrere il payload della risposta per comprendere le risposte per ogni singolo evento di utilizzo inviato come parte dell'evento batch.
Esempio di payload della risposta:
{
"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"
}
]
}
Descrizione del codice di stato a cui si fa riferimento nella risposta dell'API BatchUsageEvent
:
Codice di stato | Descrizione |
---|---|
Accepted |
Accettato. |
Expired |
Utilizzo scaduto. |
Duplicate |
Utilizzo duplicato fornito. |
Error |
Codice di errore. |
ResourceNotFound |
La risorsa di utilizzo specificata non è valida. |
ResourceNotAuthorized |
Non sei autorizzato a utilizzare questa risorsa. |
ResourceNotActive |
La risorsa viene sospesa o non è mai stata attivata. |
InvalidDimension |
La dimensione per la quale viene registrato l'utilizzo non è valida per questa offerta o piano. |
InvalidQuantity |
La quantità passata è inferiore o uguale a 0. |
BadArgument |
L'input è mancante o malformato. |
Codice: 400
Richiesta non valida. Il batch contiene più di 25 eventi di utilizzo.
Codice: 403
Vietato. Il token di autorizzazione non viene fornito, non è valido o è scaduto.
La fatturazione a consumo recupera gli eventi di utilizzo
È possibile chiamare l'API degli eventi di utilizzo per ottenere l'elenco degli eventi di utilizzo. Gli ISV possono usare questa API per visualizzare gli eventi di utilizzo che sono stati pubblicati per una determinata durata configurabile di tempo e quale stato questi eventi sono al punto di chiamare l'API.
GET: https://marketplaceapi.microsoft.com/api/usageEvents
parametri di query:
Parametro | Raccomandazione |
---|---|
ApiVersion | Usare 2018-08-31. |
DataInizioUtilizzo | DateTime in formato ISO8601. Ad esempio, 2020-12-03T15:00 o 2020-12-03 |
UsageEndDate (facoltativo) | DateTime in formato ISO8601. Valore predefinito = data corrente |
offerId (facoltativo) | Valore predefinito = tutti quelli disponibili |
planId (facoltativo) | Valore predefinito = tutti quelli disponibili |
dimensione (facoltativo) | Impostazione predefinita = tutti quelli disponibili |
azureSubscriptionId (facoltativo) | Valore predefinito = tutti disponibili |
reconStatus (facoltativo) | Valore predefinito = tutti quelli disponibili |
Valori possibili di reconStatus:
ReconStatus | Descrizione |
---|---|
Inviato | Non ancora elaborato da Analisi PC |
Accettato | Corrispondenza con ANALISI PC |
Respinto | Rifiutato nella pipeline. Contattare il supporto tecnico Microsoft per indagare sulla causa. |
Mancata corrispondenza | Le quantità di MarketplaceAPI e di Partner Center Analytics sono entrambe diverse da zero, ma non corrispondono. |
TestHeaders | Sottoscrizione elencata con intestazioni di test e pertanto non in Analisi PC |
DryRun | Inviato con SessionMode=DryRun e quindi non nel PC |
Intestazioni di richiesta:
Risposte
Esempi di payload della risposta:
accettate
[
{
"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
}
]
inviato
[
{
"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
}
]
mancata corrispondenza
[
{
"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
}
]
Rifiutato
[
{
"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
}
]
codici di stato
Codice: 403 Accesso negato. Il token di autorizzazione non viene fornito, non è valido o è scaduto.
Procedure consigliate per lo sviluppo e il test
Per testare l'emissione dei contatori personalizzati, implementare l'integrazione con l'API di misurazione e creare un piano per l'offerta delle app Kubernetes pubblicata con dimensioni personalizzate definite, con prezzo pari a zero per unità. Pubblicare questa offerta come anteprima in modo che solo gli utenti limitati possano accedere e testare l'integrazione.
È anche possibile usare un piano privato per un'offerta live esistente per limitare l'accesso a questo piano durante i test a gruppi di destinatari limitati.
Contenuto correlato
- Per altre informazioni sulle API del servizio di misurazione, vedere domande frequenti sulle API del servizio di misurazione del Marketplace.
Ottenere supporto
Se si verifica uno dei problemi seguenti, è possibile aprire un ticket di supporto.
- Problemi tecnici relativi all'API del servizio di misurazione del marketplace.
- Un problema che deve essere segnalato a causa di un errore o di un bug dalla tua parte (ad esempio, un evento di utilizzo errato).
- Eventuali altri problemi relativi alla fatturazione a consumo.
Per comprendere le opzioni di supporto dell'editore e aprire un ticket di supporto con Microsoft, seguire le istruzioni in Supporto per il programma del marketplace commerciale nel Centro per i partner.