Compartilhar via


API de Ingestão de Produto para contêineres

A API de ingestão de produtos é uma API modernizada que unifica todas as APIs de envio existentes em todos os produtos do marketplace comercial. Consulte API de assimilação de produtos para obter detalhes sobre como começar.

Este artigo fornece diretrizes sobre como usar as APIs especificamente para contêineres.

Recuperar configurações de recurso existentes

Recupere todos os recursos de um produto específico em uma única chamada de API.

GET resource-tree/<product-durableID>?$version=<schema-version>

Você pode recuperar todas as configurações de recursos em um produto específico usando o tipo de recurso "árvore de recursos" junto com a ID durável do produto. A versão do esquema fornecida é usada como a versão máxima suportada para cada um dos recursos aplicáveis do produto solicitado.

Observação

Se você não souber a ID durável do produto, poderá recuperar o recurso do produto primeiro usando a ID externa do produto e executando. Para saber mais, consulte API do produto: Método 1: árvore de recursos.

Exemplo de chamada GET:

OBTER https://graph.microsoft.com/rp/product-ingestion/resource-tree/product/12345678-abcd-efgh-1234-12345678901?targetType=" visualização"&$version=2022-03-01-preview5

Resposta de exemplo:

{
  "$schema": "https://schema.mp.microsoft.com/schema/resource-tree/2022-03-01-preview2",
  "root": "product/12345678-abcd-efgh-1234-12345678901",
  "target": {
    "targetType": "preview"
  },
  "resources": [
  { 
    "$schema": "https://schema.mp.microsoft.com/schema/product/2022-03-01-preview3",
    "id": "product/12345678-abcd-efgh-1234-12345678901",
    "identity": {
      "externalID": "product_external_id_example"
    },
    "type": "azureContainer",
    "alias": "product_example"
  },
  { 
    "$schema": "https://schema.mp.microsoft.com/schema/commercial-marketplace-setup/2022-03-01-preview2",
    "id": "commercial-marketplace-setup/12345678-abcd-efgh-1234-12345678901",
    "product": "product/12345678-abcd-efgh-1234-12345678901",
    "sellThroughMicrosoft": true
  },
  {
    "$schema": "https://schema.mp.microsoft.com/schema/plan/2022-03-01-preview2",
    "id": "plan/12345678-abcd-efgh-1234-12345678901/98756328-04e9-55ae-9403-52b6c971a956
  ...
  }, 
     // The response would include all existing resources within this product.
  {
     ...
  }]
}

Sincronizar públicos-alvo privados

Para um produto ao vivo, as atualizações para audiências privadas nos ambientes de rascunho, visualização e ao vivo podem ser executadas ao mesmo tempo sem a necessidade de uma publicação. Você pode sincronizar o público privado usando o recurso "price-and-availability-update-private-audiences" especificando quais públicos você deseja adicionar ou remover de um plano específico. Isso sincronizará os ambientes de rascunho, visualização e ao vivo para ter os mesmos valores de público privado. Você não precisa fornecer o recurso de envio ao sincronizar o público-alvo privado.

Para editar os públicos de rascunho, use o recurso "price-and-availability-plan" e a propriedade "privateAudiences". Isso precisará passar pelo fluxo de publicação regular para que os valores sejam definidos na versão prévia e ao vivo.

Importante

Se o produto oferecer suporte a mais de um tipo de identificador para configurar o público-alvo privado (por exemplo, IDs de locatário e IDs de assinatura), você deve executar uma publicação completa caso esteja fornecendo um novo tipo de identificador pela primeira vez. Não é possível sincronizar o público privado nesse caso.

Solicitação de exemplo para sincronizar a configuração de público-alvo privado:

POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-03-01-preview2

{
  "$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2"
  "resources": [
  {
    "$schema": "https://schema.mp.microsoft.com/schema/price-and-availability-update-private-audiences/2022-03-01-preview3",
    "product": "product/12345678-abcd-efgh-1234-12345678901", // product durable ID
    "plan": "plan/12345678-abcd-efgh-1234-12345678901/7e70b11f-809e-4c45-ae2f-1fb3ceaca33b", //plan durable ID 
    "privateAudiences":
    {
      "add ":
      [
         {
   "type": "tenant",
           "id": " c0cab000-5c00-2ae9-acbe-f5f0bb264498 ",
           "label": "test 1"
         }
      ],
      "remove ":
      [
        {
    "type": "tenant",
           "id": " d1cab000-6c06-4ae9-acbe-b5f0bb264498 ",
           "label": "test 2"
        }
      ]
    }
  }
 ]
}

Configurar propriedades

Defina as categorias e os setores aplicáveis ao seu produto de contêiner, à versão do aplicativo e aos contratos legais. Certifique-se de fornecer detalhes completos e precisos sobre seu produto no recurso Propriedades, para que ele seja exibido adequadamente e oferecido ao conjunto certo de clientes. Para saber mais, consulte Categorias do Appsource.

Exemplo de propriedades de configuração do corpo da solicitação:

POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-03-01-preview2

{
  "$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2"
  "resources": [
    {
      "$schema": "https://schema.mp.microsoft.com/schema/property/2022-03-01-preview5",
      "id": "property/a8b48be1-a630-41b5-b5a5-c2a9f7789922/public/main",
      "product": "product/a8b48be1-a630-41b5-b5a5-c2a9f7789922",
      "kind": "azureContainer",
      "termsConditions": "standardMicrosoft",
      "categories": {
        "containers": [
          "container-apps",
   "container-images"
        ]
      }
    }
 ]
}

Configurar listagem

As informações fornecidas por meio de recursos de listagem são exibidas nas lojas online do marketplace comercial da Microsoft. Isso inclui as descrições do seu produto, capturas de tela e seus ativos de marketing.

Exemplo de listagem de configuração do corpo da solicitação:

POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-03-01-preview2

{
  "$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2"
  "resources": [
    {
      "$schema": "https://schema.mp.microsoft.com/schema/listing/2022-03-01-preview5",
      "id": "listing/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b/public/main/default/en-us",
      "product": "product/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b",
      "kind": "azureContainer",
      "title": "ContainerCM0815",
      "description": "<div>This offer is in the early stages of development and not for general public consumption. Use is restricted to a limited audience, and has no commercial purpose beyond the testing for which it is intended.</div>",
      "searchResultSummary": "Container product",
      "shortDescription": "This offer is in the early stages of development and not for general public consumption",
      "privacyPolicyLink": "https://www.company.com/privacy",
      "generalLinks": [
 {
   "displayText": "Product link",
   "link": "https://www.company.com/mkt",
 }
      ],
      "globalSupportWebsite": "https://testprivacyurl.com",
      "governmentSupportWebsite": "https://testprivacyurl.com",
      "supportContact": {
        "name": "Support",
        "email": "support@company.com",
        "phone": "4255555555"
      },
      "engineeringContact": {
        "name": "Engineering",
        "email": "john@company.com",
        "phone": "4255555555"
      },
      "cloudSolutionProviderContact": {
        "name": "CSP",
        "email": "csp@company.com",
        "phone": "4255555555"
      },
      "languageID": "en-us"
    },
    {
      "$schema": "https://schema.mp.microsoft.com/schema/listing-asset/2022-03-01-preview5",
      "product": "product/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b",
      "kind": "azure",
      "listing": "listing/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b/public/main/default/en-us",
      "type": "azureLogoScreenshot",
      "languageID": "en-us",
      "description": "Image caption",
      "displayOrder": 0,
      "fileName": "test.png",
      "friendlyName": "test.png",
      "url": "https://company.com/12345/test.png"
    },
    {
      "$schema":  "https://schema.mp.microsoft.com/schema/listing-asset/2022-03-01-preview5",
      "product": "product/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b",
      "kind": "azure",
      "listing": "listing/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b/public/main/default/en-us",
      "type": "azureLogoLarge",
      "languageID": "en-us",
      "description": "",
      "displayOrder": 0,
      "fileName": "216x216.png",
      "friendlyName": "216x216.png",
      "url": "https://company.com/12345/216x216.png"
    },
    {
      "$schema": "https://schema.mp.microsoft.com/schema/listing-trailer/2022-03-01-preview5",
      "product": "product/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b",
      "kind": "azure",
      "listing": "listing/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b/public/main/default/en-us",
      "streamingUrl": "https://www.youtube.com/watch?v=123",
      "assets": {
        "en-us": {
          "title": "Video",
          "imageList": [
            {
              "url": "https://company.com/12345/trailer.png"
            }
          ]
        }
      }
    }
  ]
}

Configurar o público-alvo de visualização

Se o produto de contêiner for vendido por meio do marketplace da Microsoft, você precisará definir um público-alvo de visualização, por meio de IDs de assinatura, que pode revisar sua listagem de produtos antes de ser lançada.

Exemplo de corpo da solicitação configurando o público-alvo de visualização:

POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-03-01-preview2

{
  "$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2"
  "resources": [
    {
      "$schema": "https://schema.mp.microsoft.com/schema/price-and-availability-offer/2022-03-01-preview3",
     "id": "price-and-availability-offer/a8b48be1-a630-41b5-b5a5-c2a9f7789922",
     "product": "product/a8b48be1-a630-41b5-b5a5-c2a9f7789922",
     "previewAudiences": [
       {
        "type": "subscription",
        "id": "c2d12fa0-c012-33b0-b0a0-c0a0a0011222",
        "label": "Test Subscription"
       }
     ]
    }
  ]
}

Configurar um plano - configuração técnica

Forneça um nome de tipo de extensão de cluster no formato 'PublisherName.ApplicationName'. O nome deve ser exclusivo em todas as suas ofertas e planos. Você não pode modificar esse valor depois que o plano for publicado na versão prévia. Para saber mais, consulte Definir configuração técnica de plano para uma oferta de contêiner baseada em aplicativo Kubernetes. Para saber mais, confira Ativos técnicos de contêiner do Azure.

Exemplo de corpo da solicitação configurando a configuração técnica transacionável:

POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-03-01-preview2

{
  "$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2"
  "resources": [
   {
      "$schema": "https://schema.mp.microsoft.com/schema/container-plan-technical-configuration/2022-03-01-preview3",
      "id": "container-plan-technical-configuration/a8b48be1-a630-41b5-b5a5-c2a9f7789922",
      "product": "product/a8b48be1-a630-41b5-b5a5-c2a9f7789922",
      "plan": "plan/a8b48be1-a630-41b5-b5a5-c2a9f7789922/4db792e6-8e10-439d-9db2-a0e98fa7e174",
      "payloadType": " cnab",
      "clusterExtensionType": " unique.extension.type",
      "cnabReferences": [
 {
          "tenantID": "421c00000-ac12-451e-b3ff-c5b469a13e2d",
          "subscriptionID": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
          "resourceGroupName": "TestResources",
          "registryName": "testregistry",
          "repositoryName": "containerrepo",
   "tag": "1.0.4",
          "digest": "sha256:000193bfefde1e9"
        },
      ]
    },
  ]
}

Configurar um plano - preço e disponibilidade

Exemplo de corpo da solicitação configurando um plano oculto:

POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-03-01-preview2

{
  "$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2"
  "resources": [
  {
      "$schema": "https://schema.mp.microsoft.com/schema/price-and-availability-plan/2022-03-01-preview4",
      "product": "product/a8b48be1-a630-41b5-b5a5-c2a9f7789922",
      "plan": "plan/a8b48be1-a630-41b5-b5a5-c2a9f7789922/0abbe45b-c405-4c08-bb14-ec485002084e",
      "visibility": "hidden",
      "audience": "public"
    }
  ]
}

O contêiner oferece suporte a várias opções de cobrança. Para saber mais sobre os modelos de cobrança compatíveis, consulte Opções de licenciamento.

Versões e atualizações da API

Atualizar O que mudou?
1-2024 Todos os endpoints de esquema foram atualizados de product-ingestion.azureedge.net para schema.mp.microsoft.com