Controllare l'inventario in base al tipo di risorsa usando le API del Centro per i partner

Come controllare l'inventario per gli elementi del catalogo filtrati in base a un tipo di risorsa specifico.

Prerequisiti

  • Credenziali come descritto in Partner Center authentication. Questo scenario supporta l'autenticazione sia con le credenziali di App standalone che con quelle di App+Utente.

  • ID prodotto (facoltativi). ID SKU (facoltativi).

  • Valore valido resourceType (obbligatorio). Per l'elenco completo dei valori accettati, vedere Tipi di risorse supportati.

  • Qualsiasi contesto aggiuntivo necessario per verificare l'inventario degli SKU a cui fanno riferimento gli ID prodotto/SKU forniti. Questi requisiti possono variare in base al tipo di prodotto/SKU e possono essere determinati dalla proprietà InventoryVariablesdello SKU.

Richiesta REST

Sintassi della richiesta

metodo URI della richiesta
POST {baseURL}/v1/extensions/product/checkinventorybyresourcetype?country={country-code}&resourceType={resourceTypeValue} HTTP/1.1

Parametri URI

Usare i parametri di query seguenti per controllare l'inventario in base al tipo di risorsa.

Name Type Obbligatorio Description
codice paese string Yes ID paese/area geografica.
resourceTypeValue string Yes Tipo di risorsa per filtrare i risultati dell'inventario. Per i valori validi, vedere Tipi di risorse supportati.

Tipi di risorse supportati

Valore del tipo di risorsa Description Regione obbligatoria?
AppService App Service Yes
Avs Soluzione Azure VMware Yes
AzureDataExplorer Esplora dati di Azure No: escludere l'area per evitare un errore di richiesta non valida 400
AzureFiles File di Azure Yes
Backup Backup di Azure Yes
BlockBlob Archiviazione BLOB in blocchi Yes
CopilotCredit Credito Copilot No: escludere l'area per evitare un errore di richiesta non valida 400
CosmosDb Azure Cosmos DB, un servizio di database distribuito globale di Microsoft No: escludere l'area per evitare un errore di richiesta non valida 400
Databricks Azure Databricks No: escludere l'area per evitare un errore di richiesta non valida 400
DataFactory Azure Data Factory Yes
Host dedicato Host dedicato di Azure Yes
Capacità di Fabric Capacità Microsoft Fabric Yes
FoundryAgent Agente Foundry No: escludere l'area per evitare un errore di richiesta non valida 400
GitHubAICredit Credito AI GitHub No: escludere l'area per evitare un errore di richiesta non valida 400
GitHubP3 GitHub P3 No: escludere Region per evitare un errore 400 di richiesta non valida
ManagedDisk Disco gestito di Azure Yes
MariaDB Database di Azure per MariaDB Yes
MDC Microsoft Defender per il cloud No: escludere l'area per evitare un errore di richiesta non valida 400
MySQL Database di Azure per MySQL Yes
NetAppStorage Azure NetApp Files Yes
Nutanix Nutanix Yes
OpenAIPTU Azure OpenAI PTU Yes
PostgreSQL Database di Azure per PostgreSQL Yes
RedHat Red Hat No: escludere l'area per evitare un errore di richiesta non valida 400
RedHatOsa Red Hat OpenShift in Azure No: escludere l'area per evitare un errore di richiesta non valida 400
RedisCache Cache di Azure per Redis Yes
SapHana SAP HANA in Azure Yes
Sentinel Microsoft Sentinel No: escludere l'area per evitare un errore di richiesta non valida 400
SqlDatabases Database SQL di Azure Yes
SqlDataWarehouse Azure SQL Data Warehouse Yes
SuseLinux SUSE Linux No - escludere la regione per evitare un errore 400 Bad Request
Synapse Azure Synapse Analytics No: escludere Region per evitare un errore 400 di richiesta non valida
VirtualMachines Macchine virtuali di Azure Yes
VMwareCloudSimple VMware CloudSimple Yes

Header di richiesta

Per ulteriori informazioni, vedere Intestazioni delle API REST del Partner Center.

Corpo della richiesta

Dettagli della richiesta di inventario, costituiti da una risorsa InventoryCheckRequest contenente una o più risorse InventoryItem .

Assicurarsi che la sottoscrizione Azure specificata nel corpo della richiesta sia registrata e abilitata per acquistare istanze riservate di Azure. Per informazioni dettagliate sul processo di registrazione, vedere Registrare una sottoscrizione .

TargetItems è facoltativo. Se lo si esclude o lo si imposta su null o [], la risposta include tutti gli elementi per il tipo di risorsa. Se lo includi, la risposta viene filtrata in base a tali ID prodotto. Ogni TargetItems voce deve avere un ProductId non vuoto oppure la richiesta restituisce un errore 400.

Procedura consigliata: Passare TargetItems con solo gli ID prodotto necessari per mantenere le risposte più piccole, veloci e rilevanti. In caso contrario, i tipi di risorse generali, ad esempio VirtualMachines, possono restituire migliaia di elementi.

Esempio di richiesta

POST https://api.partnercenter.microsoft.com/v1/extensions/product/checkinventorybyresourcetype?country=US&resourceType=VirtualMachines HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: d1b1981a-e088-4610-870a-eebec96d6bcd
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Content-Type: application/json

{"TargetItems":[{"ProductId":"DZH318Z0BQ3P"}],"InventoryContext":{"customerId":"d6bf25b7-e0a8-4f2d-a31b-97b55cfc774d","azureSubscriptionId":"3A231FBE-37FE-4410-93FD-730D3D5D4C75","armRegionName":"westeurope"}}

Risposta REST

In caso di esito positivo, il corpo della risposta contiene una raccolta di oggetti InventoryItem popolati con i dettagli delle restrizioni, se applicabili.

Note

Se un oggetto InventoryItem di input rappresenta un elemento che non è stato trovato nel catalogo o non corrisponde al tipo di risorsa specificato, non verrà incluso nella raccolta di output.

Codici di errore e di esito della risposta

Ogni risposta viene fornita con un codice di stato HTTP che indica l'esito positivo o negativo e altre informazioni di debug. Usa uno strumento di traccia di rete per leggere il codice, il tipo di errore e parametri aggiuntivi. Per l'elenco completo, vedere codici di errore del Partner Center.

Esempio di risposta

HTTP/1.1 200 OK
Content-Length: 1021
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: d1b1981a-e088-4610-870a-eebec96d6bcd
X-Locale: en-US
[
    {
        "productId": "DZH318Z0BQ3P",
        "skuId": "0039",
        "isRestricted": true,
        "restrictions": [
            {
                "reasonCode": "NotAvailableForSubscription",
                "description": "Restriction identified of type 'Location' with values 'japanwest'.",
                "properties": {
                    "type": "Location",
                    "values": "japanwest"
                }
            }
        ]
    },
    {
        "productId": "DZH318Z0BQ3P",
        "skuId": "0038",
        "isRestricted": false,
        "restrictions": []
    }
]

Prodotti non restituiti in risposta

Se un prodotto o uno SKU è disponibile per la sottoscrizione e l'area specificate, ma è soggetta a restrizioni, la risposta include il prodotto con isRestricted: true e i dettagli delle restrizioni applicabili.

Se un prodotto non è disponibile per la sottoscrizione e l'area specificate, la risposta omette completamente il prodotto.

Importante

Considerare un prodotto mancante dalla risposta come non disponibile solo per la sottoscrizione e l'area specificate.

Scenario Risposta CheckInventoryByResourceType
Prodotto non disponibile per la sottoscrizione/area geografica Prodotto omesso dalla risposta
SKU disponibile isRestricted: false
SKU soggetto a restrizioni nella regione Restituito con isRestricted: true