Se reestructuró la referencia de API de AWS Marketplace. Para obtener más información sobre las operaciones de API compatibles, consulte la referencia de API de AWS Marketplace.
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de AWS Marketplace API del catálogo
El AWS Marketplace Catalog API servicio proporciona una interfaz API que puede administrar AWS Marketplace para su AWS
organización o Cuenta de AWS. En el caso de los vendedores autorizados, puedes gestionar tus productos mediante programación, incluidas las funciones de publicación de autoservicio del. AWS Marketplace Management Portal
Con las acciones de la API de catálogo, puedes ver y actualizar tu producto existente mediante programación. Puede automatizar el proceso de actualización de sus productos integrándolo AWS Marketplace Catalog API con los procesos de creación o implementación de sus AWS Marketplace productos. También puedes crear tus propias aplicaciones sobre la API del catálogo para gestionar tus productos. AWS Marketplace Puedes gestionar los productos que los usuarios de tu AWS organización Cuenta de AWS o de tu organización pueden ver y comprar a través de tu mercado privado.
El AWS Marketplace Catalog API servicio proporciona una funcionalidad AWS de API estándar. Puedes usar directamente las acciones de la API REST descritas en Acciones, o puedes usar un AWS SDK para acceder a una API que se adapte al lenguaje de programación o la plataforma que estés usando. Para obtener más información sobre el desarrollo de AWS aplicaciones, consulta Cómo empezar con AWS
Entidades de API de catálogo
AWS Marketplace las entidades son contenedores de datos que sirven para diferentes propósitos comerciales, como un producto o una oferta. Las entidades se clasifican por tipos. Cada tipo de entidad encapsula los datos relacionados con un dominio empresarial específico (por ejemplo, un producto o una cuenta de vendedor).
Para simplificar este paradigma, las entidades se diseñan con cierto nivel de similitud en sus estructuras. Como resultado, la introducción de un nuevo dominio empresarial no requiere que aprendas una estructura completamente nueva.
Estructura general
La estructura general de cualquier entidad es:
-
Un tipo con nombre y una versión
-
Un identificador para la instancia específica del tipo
-
Una o más facetas que incluyen los atributos de la entidad
Escriba el control de versiones
Cada tipo nombrado tiene un tipo y una versión asociados, por ejemplo,. El tipo (EntityProduct@1.0EntityProducto) representa la clasificación del contenido. La versión (1.0) representa la estructura del Entity Producto.
La versión proporciona detalles sobre la estructura de la entidad. A continuación se describe cuándo se cambiará una versión:
-
Las entidades existentes no se reestructurarán sin cambiar la versión. La adición de nuevos campos opcionales provocará una actualización menor de la versión.
-
Cualquier función que modifique fundamentalmente la estructura de un tipo conlleva una actualización importante de la versión. Entre los ejemplos se incluyen:
-
Eliminar un campo
-
Cambiar el nombre de un campo (nombre diferente para la misma semántica)
-
Cambiar la semántica de un campo existente (por ejemplo, cambiar el tipo esperado)
-
-
Una actualización importante de una versión puede conservar un subconjunto de facetas de la versión anterior.
-
Los usuarios reciben notificaciones y documentación sobre las nuevas versiones.
Identificador
Cada entidad representa algo único dentro de un dominio empresarial. Para identificar lo único, utilizamos un identificador que EntityId asocia una aRevisionId, por ejemplo, una prod-ad8EXAMPLE651 @3. En este ejemplo, el EntityId es prod-ad8EXAMPLE651 y el RevisionId es3. Cada solicitud de cambio realizada a la entidad que se realice correctamente actualizará la revisión.
Los siguientes son detalles importantes sobre el identificador:
-
Cada entidad se identifica de forma única por su
EntityId, que es la clave para distinguir globalmente una entidad de otra. -
Cada revisión publicada de una entidad tiene un
RevisionId. LosRevisionId, junto con elEntityId, distinguen una revisión publicada de otra. -
AWS Marketplace genera
EntityIdRevisionIds y s.
Puede utilizar la DescribeEntity acción para buscar los detalles y el identificador más recienterevisionId.
RevisionIdEs una parte opcional de las solicitudes para StartChangeSet (verTrabajar con conjuntos de cambios). Si incluyes unaRevisionId, la solicitud de StartChangeSet será rechazada con una ValidationException si no RevisionId es la última revisión de la entidad. Esto le permite implementar un bloqueo optimista en su aplicación.
nota
Cuando incluyes una revisión RevisionId que no es la más reciente, el ValidationException mensaje incluye la más recienteRevisionId.
Si omite laRevisionId, la solicitud se realizará automáticamente en la última revisión de la entidad.
aviso
Es posible que se produzcan dos solicitudes para cambiar el mismo objeto y que una de ellas sobrescriba los cambios de la otra solicitud, ya que la segunda solicitud reescribe los datos modificados por la primera solicitud. El uso de RevisionId s en las solicitudes evita este problema, ya que no permite que un cambio realizado en una revisión anterior sobrescriba la revisión actual.
Facetas
Una faceta es una agrupación lógica de atributos. Por lo general, una entidad incluye varias facetas que representan diferentes aspectos de la entidad. Los atributos de una faceta tienen las siguientes propiedades:
-
Cada atributo tiene un nombre único dentro del ámbito del contenedor al que pertenece.
-
Los atributos pueden ser de un tipo simple (cadena, entero o número flotante).
-
Los atributos pueden ser de un tipo complejo (container/structure o matriz).
Tipo de identidad
El tipo de entidad define lo que representa la entidad. Una entidad puede ser un vendedor de un producto en un mercado privado AWS Marketplace o un mercado privado. Para obtener más información, consulta Cómo trabajar con productos de vendedores y Cómo trabajar con un mercado privado.
Trabajar con conjuntos de cambios
Cuando se utiliza la API de catálogo, las solicitudes se crean y actualizan mediante entidades y se completan mediante solicitudes de cambio. Cada cambio especifica la entidad que se va a cambiar, el tipo de cambio que se va a realizar y los detalles del cambio. El tipo de cambio que se va a realizar se denominaChangeType. Una colección de ChangeType s se denomina aChangeSet.
Hay cuatro acciones que le permiten trabajar con conjuntos de cambios:
-
StartChangeSet— Solicita un conjunto de cambios. Los cambios se añaden a una cola y se procesan. Para obtener más información, consulta Cómo trabajar con productos de vendedores y Cómo trabajar con un mercado privado. -
DescribeChangeSet— Obtiene los detalles de un conjunto de cambios, incluido el estado de la solicitud. Los estados incluyen:-
PREPARING— Preparándose para aplicar los cambios. -
APPLYING— En proceso de realizar los cambios solicitados. -
SUCCEEDED— La solicitud se completó correctamente. -
CANCELLED— El usuario canceló la solicitud. -
FAILED— La solicitud se completó sin éxito. Encontrará más detalles en la respuesta.
-
-
ListChangeSets— Obtiene una lista de los conjuntos de cambios que están actualmente en proceso. -
CancelChangeSet— Solicita la cancelación de un conjunto de cambios. Los cambios solo se pueden cancelar mientras estén en esePREPARINGestado.
Un flujo de trabajo típico consiste en solicitar un cambio yStartChangeSet, a continuación, utilizar lo devuelto ChangeSetId para sondear la DescribeChangeSet acción hasta que se complete el cambio.
A continuación se muestra un ejemplo de la DescribeChangeSet respuesta.
{ "ChangeSet": [ { "ChangeName": "myChangeName", "ChangeType": "UpdateInformation", "Details": "{ \"ProductTitle\": \"My Product Title\", \"ShortDescription\": \"My product short description.\", \"LongDescription\": \"My product longer description.\", \"Sku\": \"123example456\", \"SupportDescription\": \"Need help? Contact our experts at support@example.com\\n\\nYour purchase includes 24x7 support.\", \"Categories\": [ \"Operating Systems\", \"Network Infrastructure\", \"Application Development\" ]}", "DetailsDocument": { "ProductTitle": "My Product Title", "ShortDescription": "My product short description.", "LongDescription": "My product longer description.", "Sku": "123example456", "SupportDescription": "Need help? Contact our experts at support@example.com\n\nYour purchase includes 24x7 support.", "Categories": [ "Operating Systems", "Network Infrastructure", "Application Development" ] }, "Entity": { "Identifier": "example1-abcd-1234-5ef6-7890abcdef12", "Type": "AmiProduct@1.0" }, "ErrorDetailList": [] } ], "ChangeSetArn": "arn:aws:aws-marketplace:[exampleARN]", "ChangeSetId": "example123456789012abcdef", "ChangeSetName": "myChangeSetName", "EndTime": "2023-03-03T00:00:00Z", "FailureCode": null, "FailureDescription": null, "StartTime": "2023-03-02T00:00:00Z", "Status": "SUCCEEDED" }
nota
Al sondear o trabajar con conjuntos de cambios mediante programación, debe respetar los límites de servicio. Para obtener más información, consulte Cuotas de servicio para AWS Marketplace API del catálogo.
Una vez realizado el cambio, podrá utilizarla ListEntities para buscar la entidad que creó o modificó (y su entidad asociadaEntityID). A continuación, puede utilizarla DescribeEntity con la EntityID para obtener detalles sobre la misma.
Para obtener más información sobre cómo gestionar las solicitudes de cambio en la consola para vendedores, consulta Cómo crear una solicitud de cambio en la Guía del AWS Marketplace vendedor.
Realizar varias solicitudes de cambio simultáneamente
En un único conjunto de cambios, puede agrupar todos los tipos de cambios y ejecutarlos juntos. La API de catálogo está diseñada para realizar varios cambios simultáneamente a fin de ofrecer el mejor rendimiento. Los vendedores y los socios de canal pueden invocar los cambios ChangeTypes agrupando varios en un solo paquete. ChangeSet Puedes invocar varios cambios en una o varias entidades de la misma entidad. ChangeSet La API de catálogo evalúa en qué orden deben aplicarse los cambios y los realiza.
Sin embargo, si las solicitudes se realizan como conjuntos de cambios independientes, no AWS Marketplace se pueden iniciar solicitudes de cambio contradictorias en el mismo producto. En estos casos, AWS Marketplace devuelve un ResourceInUseException error.
-
Para modificar los productos de AMI y contenedores, la mayoría de los cambios se pueden realizar sin errores, con las siguientes excepciones:
-
Si dos solicitudes son iguales
ChangeTypeen el mismo producto, la segunda solicitud devolverá un error. -
Si una solicitud es para actualizar la información de la versión y la otra para restringir o añadir una versión, la segunda solicitud devuelve un error.
-
Si se trata de una solicitud
PREPARING, se puede realizar otra solicitud para el mismo producto. Sin embargo, un cambio que se estéAPPLYINGrealizando actualmente puede bloquear otras solicitudes y provocar un error.
-
-
En el caso de otros tipos de productos y sitios web privados, solo puedes solicitar un producto a la vez. Si se realiza una solicitud diferente para actualizar el mismo producto mientras hay una primera solicitud en curso, la segunda devuelve un error.
-
Si hay una solicitud de algún producto pendiente en el equipo de operaciones AWS Marketplace de venta, cualquier otra solicitud relacionada con ese producto devolverá un error.
Si recibes un ResourceInUseException error en una solicitud de cambio, puedes volver a intentarlo más adelante. Según el estado de la solicitud en curso, también puedes cancelar la primera solicitud para que la segunda solicitud que se ha vuelto a enviar se complete antes.
Invocar varios tipos de cambios en un conjunto de cambios
Puedes usar la API del catálogo para combinar y encadenar hasta 20 cambios en una StartChangeSet solicitud dirigida a una o varias entidades diferentes.
Un caso de uso típico consiste en crear un SaaSProduct@1.0 borrador de producto, un Offer@1.0 borrador de oferta y, además, rellenar la información de los metadatos del producto y la oferta. Para ello, se incluyen los cuatro tipos de cambios siguientes en un conjunto de cambios:
-
CreateProductdelSaaSProduct@1.0Especifique el parámetro
ChangeName. A continuación, se puede hacer referencia al producto creado en este tipo de cambio en el mismo conjunto de cambios mediante cambios posteriores.Por ejemplo,
CreateProductChange. -
UpdateInformationen elSaaSProduct@1.0creado en el mismo conjunto de cambiosEn el
Entity.Identifiercampo, puede hacer referencia al producto creado por tipo deCreateProductcambio utilizando el nombre del cambio en este formato:${ChangeName}.Entity.IdentifierPor ejemplo,
$CreateProductChange.Entity.Identifier. -
CreateOffernoOffer@1.0está vinculado alSaaSProduct@1.0creado en el mismo conjunto de cambiosEspecifique el parámetro
ChangeName. A continuación, se puede hacer referencia al producto creado en este tipo de cambio en el mismo conjunto de cambios mediante cambios posteriores. Por ejemplo,CreateOfferChange.Para el
ProductIdparámetro de la carga útil del tipo deCreateOffercambio, también puede hacer referencia al producto SaaS creadoCreateProducten el tipo de cambio mediante${ChangeName}.Entity.Identifierla sintaxis.Por ejemplo,
{"ProductId":"$CreateProductChange.Entity.Identifier"}. -
UpdateInformationen elOffer@1.0creado en el mismo conjunto de cambiosEn el
Entity.Identifiercampo, puede hacer referencia a la oferta creada por el tipo deCreateOffercambio utilizando el nombre del cambio en este formato:${ChangeName}.Entity.IdentifierPor ejemplo,
$CreateOfferChange.Entity.Identifier.
El siguiente es un ejemplo de un conjunto de cambios combinado.
POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "CreateProduct", "Entity": { "Type": "SaaSProduct@1.0" }, "ChangeName": "CreateProductChange", "DetailsDocument": {} }, { "ChangeType": "UpdateInformation", "Entity": { "Type": "SaaSProduct@1.0", "Identifier": "$CreateProductChange.Entity.Identifier" }, "ChangeName": "UpdateProductInformationChange", "DetailsDocument": { "ProductTitle": "My Product Title", "ShortDescription": "My product short description.", "LongDescription": "My product longer description.", "Sku": "123example456", "LogoUrl": "https://s3.amazonaws.com/presigned-or-public-url-to-logo-stored-in-s3", "VideoUrls": [ "https://example.com" ], "Highlights": [ "123example45" ], "AdditionalResources": "123example456", "SupportDescription": "Need help? Contact our experts at support@example.com \n\nYour purchase includes 24x7 support.", "Categories": [ "Operating Systems", "Network Infrastructure", "Application Development" ], "SearchKeywords": [ "123example45" ], } }, { "ChangeType": "CreateOffer", "Entity": { "Type": "Offer@1.0" }, "ChangeName": "CreateOfferChange", "DetailsDocument": { "ProductId": "$CreateProductChange.Entity.Identifier" } }, { "ChangeType": "UpdateInformation", "Entity": { "Type": "Offer@1.0", "Identifier": "$CreateOfferChange.Entity.Identifier" }, "DetailsDocument": { "Name": "Offer created together with SaaSProduct", "Description": "Test offer created together with SaaSProduct in the same Catalog API change set" } } ] }
Trabajar con el atributo Detalles (heredado)
nota
En esta sección se describe el Details atributo heredado de la solicitud de cambio, que requiere un formato adicional para los detalles del cambio. Te recomendamos usar el DetailsDocument atributo alternativo. No requiere ningún formato adicional y no es necesario cambiar los detalles del cambio. Para ver ejemplos del DetailsDocument atributo, consulta Trabajar con productos de vendedores y Trabajar con un mercado privado.
El Details atributo de la StartChangeSet operación es un valor de cadena. Su contenido son objetos JSON. Para colocar un objeto JSON en un atributo de cadena, debes convertir el objeto en una cadena de una sola línea evitando todos los caracteres de control JSON y eliminando los saltos de línea.
Por ejemplo, si utilizas la StartChangeSet operación UpdateProcurementPolicy para deshabilitar las solicitudes de los usuarios en tu mercado privado, realiza una solicitud como la siguiente.
POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "UpdateProcurementPolicy", "Details": "<string>", "Entity": { "Type": "Experience@1.0", "Identifier" : "exp-1234example@5" } } ] }
En este caso, el objeto JSON que utilizas para el Details atributo tiene el siguiente aspecto (antes de convertirlo en una cadena).
{ "Configuration": { "PolicyResourceRequests": "Deny" } }
Sin embargo, el Details atributo requiere una cadena, no JSON. Tras convertir este objeto JSON en una cadena de una sola línea, tiene el siguiente aspecto.
"{\"Configuration\" : {\"PolicyResourceRequests\" : \"Deny\"}}"
Con esta cadena, puede crear la solicitud de conjunto de cambios completo, de la siguiente manera.
POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "UpdateProcurementPolicy", "Details": "{\"Configuration\" : {\"PolicyResourceRequests\" : \"Deny\"}}", "Entity": { "Type": "Experience@1.0", "Identifier" : "exp-1234example@5" } } ] }
Por lo general, los ejemplos de esta referencia de API muestran que el objeto JSON ya se ha convertido en una cadena. En algunos casos, se incluyen ejemplos más complicados con líneas nuevas para mejorar la comprensión.
Automatice la conversión de JSON en una cadena
La conversión de un objeto JSON en una cadena se puede automatizar mediante herramientas como jq, un procesador JSONjq cómo convertir un objeto JSON en una cadena que se puede utilizar en el atributo. Details
DETAILS_JSON='{ "ProductTitle": "My Product Title", "ShortDescription": "My product short description.", "LongDescription": "My product long description." }'; DETAILS_JSON_STRING="$(echo "${DETAILS_JSON}" | jq 'tostring';)";
Si haces eco"${DETAILS_JSON_STRING}", el resultado es la siguiente cadena con el JSON correctamente escapado: {\"ProductTitle\":\"My
Product\",\"ShortDescription\":\"My product short
description.\",\"LongDescription\":\"My product long
description.\"}
Se usa DescribeEntity para obtener información sobre sus entidades
Puedes obtener información sobre tus entidades actuales mediante programación, incluidos los productos y el mercado privado, a través de la API del catálogo.
La ListEntities acción devuelve una lista de entidades. A continuación, puede utilizar la DescribeEntity acción para obtener detalles sobre una entidad individual. Esto puede resultar directamente útil, por ejemplo, para catalogar los productos que vendes. También puede resultar útil al actualizar entidades, ya que puede obtener el estado actual de la entidad antes de actualizar solo las partes que desee actualizar.
En el siguiente ejemplo, se muestra cómo se usa ListEntities para obtener una lista de productos en contenedores y, DescribeEntity a continuación, se usa para obtener información sobre uno de los productos específicos.
POST /ListEntities HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "EntityType": "ContainerProduct" }
Para el tipo de entidad, debe usar el tipo de entidad sin la versión. Devuelve todas las entidades de ese tipo (y no filtra por versión).
Esta es una muestra de la respuesta a la ListEntities acción.
{ "EntitySummaryList": [ { "Name": "Container Product 1", "EntityType": "ContainerProduct", "EntityId": "example1-abcd-1234-5ef6-7890abcdef12", "EntityArn": "arn:aws:aws-marketplace:[exampleARN]", "LastModifiedDate": "2021-03-01T00:00:00Z", "Visibility": "Public" }, { "Name": "Container Product 2", "EntityType": "ContainerProduct", "EntityId": "example2-abcd-1234-5ef6-7890abcdef12", "EntityArn": "arn:aws:aws-marketplace:[exampleARN]", "LastModifiedDate": "2021-03-02T00:00:00Z", "Visibility": "Public" } ], "NextToken": "exampleabcdef12345..." }
Para obtener los detalles de uno de estos productos, usa la DescribeEntity acción. El siguiente ejemplo muestra cómo obtener detalles sobre el primer producto devuelto anteriormente.
GET /DescribeEntity?catalog=AWSMarketplace&entityId=example1-abcd-1234-5ef6-7890abcdef12HTTP/1.1
A continuación se muestra la respuesta aDescribeEntity.
{ "EntityType": "ContainerProduct@1.0", "EntityIdentifier": "example1-abcd-1234-5ef6-7890abcdef12@9", "EntityArn": "arn:aws:aws-marketplace:[exampleARN]", "LastModifiedDate": "2021-03-02T20:19:14Z", "Details": "{\"Versions\":[{\"Id\":\"example2-0000-aaaa-5ef6-7890abcdef12\",\"ReleaseNotes\":\"My release notes\",\"UpgradeInstructions\":\"N/A\",\"VersionTitle\":\"1.0\",\"CreationDate\":\"2021-03-02T00:00:00.000Z\",\"Sources\":[{\"Type\":\"DockerImages\",\"Id\":\"example3-1111-bbbb-5ef6-7890abcdef12\",\"Images\":[\"111122223333.dkr.ecr.us-east-1.amazonaws.com/some-seller-prefix/my-repo-1:some-tag\"],\"Compatibility\":{\"Platform\":\"Linux\"}}],\"DeliveryOptions\":[{\"Id\":\"example4-2222-cccc-2222-cccccccccccc\",\"Type\":\"ElasticContainerRegistry\",\"SourceId\":\"example3-1111-bbbb-5ef6-7890abcdef12\",\"Title\":\"New delivery option 1\",\"ShortDescription\":\"Delivery option 1\",\"isRecommended\":false,\"Compatibility\":{\"AWSServices\":[\"ECS\",\"EKS\"]},\"Instructions\":{\"Usage\":\"test\"},\"Recommendations\":{\"AdditionalArtifacts\":[]},\"Visibility\":\"Limited\"}]}],\"Description\":{\"Highlights\":[\"Some highlight\"],\"LongDescription\":\"Description of my product\",\"ProductCode\":\"123456789012abcdef1234567\",\"Manufacturer\":null,\"Visibility\":\"Limited\",\"AssociatedProducts\":null,\"Sku\":null,\"SearchKeywords\":[\"some keyword\"],\"ProductTitle\":\"Container Product 1\",\"ShortDescription\":\"Description of my product\",\"Categories\":[\"Operating Systems\"]},\"PromotionalResources\":{\"LogoUrl\":\"https://awsmp-logos.s3.amazonaws.com/PLACEHOLDER_Logo_for_Containers_products.png\",\"AdditionalResources\":[],\"Videos\":[]},\"SupportInformation\":{\"Description\":\"Description of support information.\",\"Resources\":[]},\"RegionAvailability\":{\"Regions\":[\"ap-south-1\",\"eu-west-3\",\"eu-north-1\",\"eu-west-2\",\"eu-west-1\",\"ap-northeast-2\",\"ap-northeast-1\",\"me-south-1\",\"ca-central-1\",\"sa-east-1\",\"ap-east-1\",\"ap-southeast-1\",\"ap-southeast-2\",\"eu-central-1\",\"us-east-1\",\"us-east-2\",\"us-west-1\",\"us-west-2\"],\"FutureRegionSupport\":null},\"Repositories\":[{\"Url\":\"111122223333.dkr.ecr.us-east-1.amazonaws.com/some-seller-prefix/my-repo-1\",\"Type\":\"ECR\"}]}", "DetailsDocument": { "Versions": [ { "Id": "example2-0000-aaaa-5ef6-7890abcdef12", "ReleaseNotes": "My release notes", "UpgradeInstructions": "N/A", "VersionTitle": "1.0", "CreationDate": "2021-03-02T00:00:00.000Z", "Sources": [ { "Type": "DockerImages", "Id": "example3-1111-bbbb-5ef6-7890abcdef12", "Images": [ "111122223333.dkr.ecr.us-east-1.amazonaws.com/some-seller-prefix/my-repo-1:some-tag" ], "Compatibility": { "Platform": "Linux" } } ], "DeliveryOptions": [ { "Id": "example4-2222-cccc-2222-cccccccccccc", "Type": "ElasticContainerRegistry", "SourceId": "example3-1111-bbbb-5ef6-7890abcdef12", "Title": "New delivery option 1", "ShortDescription": "Delivery option 1", "isRecommended": false, "Compatibility": { "AWSServices": [ "ECS", "EKS" ] }, "Instructions": { "Usage": "test" }, "Recommendations": { "AdditionalArtifacts": [] }, "Visibility": "Limited" } ] } ], "Description": { "Highlights": [ "Some highlight" ], "LongDescription": "Description of my product", "ProductCode": "123456789012abcdef1234567", "Manufacturer": null, "Visibility": "Limited", "AssociatedProducts": null, "Sku": null, "SearchKeywords": [ "some keyword" ], "ProductTitle": "Container Product 1", "ShortDescription": "Description of my product", "Categories": [ "Operating Systems" ] }, "PromotionalResources": { "LogoUrl": "https://awsmp-logos.s3.amazonaws.com/PLACEHOLDER_Logo_for_Containers_products.png", "AdditionalResources": [], "Videos": [] }, "SupportInformation": { "Description": "Description of support information.", "Resources": [] }, "RegionAvailability": { "Regions": [ "ap-south-1", "eu-west-3", "eu-north-1", "eu-west-2", "eu-west-1", "ap-northeast-2", "ap-northeast-1", "me-south-1", "ca-central-1", "sa-east-1", "ap-east-1", "ap-southeast-1", "ap-southeast-2", "eu-central-1", "us-east-1", "us-east-2", "us-west-1", "us-west-2" ], "FutureRegionSupport": null }, "Repositories": [ { "Url": "111122223333.dkr.ecr.us-east-1.amazonaws.com/some-seller-prefix/my-repo-1", "Type": "ECR" } ] } }
nota
El DetailsDocument atributo contiene los detalles de la entidad como un objeto JSON. El Details atributo heredado contiene el mismo objeto JSON que una cadena.