2011-09-28 14 views
11

Estoy probando la muestra API de Amazon MWS API in C# for submit feeds sin embargo después de configurar AWS clave secreta, clave de acceso etc. en el código obtengo un error de RequestThrottled, por lo que hay detalles de qué es eso pero no pude encontrar ningún código de muestra cómo resolver eso.Problema RequestThrottling en Amazon MWS API

me gustaría subir a feed.xml cuenta de vendedor de Amazon

<?xml version="1.0" encoding="iso-8859-1"?> 
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="amzn-envelope.xsd"> 
    <Header> 
    <DocumentVersion>1.01</DocumentVersion> 
    <MerchantIdentifier>M_EXAMPLE_123456</MerchantIdentifier> 
    </Header> 
    <MessageType>Product</MessageType> 
    <PurgeAndReplace>true</PurgeAndReplace> 
    <Message> 
    <MessageID>1</MessageID> 
    <OperationType>Insert</OperationType> 
    <Product> 
     <SKU>56789</SKU> 
     <StandardProductID> 
     <Type>ASIN</Type> 
     <Value>B0EXAMPLEG</Value> 
     </StandardProductID> 
     <ProductTaxCode>A_GEN_NOTAX</ProductTaxCode> 
     <DescriptionData> 
     <Title>Example Product Title</Title> 
     <Brand>Example Product Brand</Brand> 
     <Description>This is an example product description.</Description> 
     <BulletPoint>Example Bullet Point 1</BulletPoint> 
     <BulletPoint>Example Bullet Point 2</BulletPoint> 
     <MSRP currency="USD">25.19</MSRP> 
     <Manufacturer>Example Product Manufacturer</Manufacturer> 
     <ItemType>example-item-type</ItemType> 
     </DescriptionData> 
     <ProductData> 
     <Health> 
      <ProductType> 
      <HealthMisc> 
       <Ingredients>Example Ingredients</Ingredients> 
       <Directions>Example Directions</Directions> 
      </HealthMisc> 
      </ProductType> 
     </Health> 
     </ProductData> 
    </Product> 
    </Message> 
</AmazonEnvelope> 

Error obteniendo según abajo

Caught Exception: Request from SubmitFeed:AKIAJI4PSK4HXY6UCNMA;A2DNAGZJ1EWQLW is 
throttled. 
Response Status Code: ServiceUnavailable 
Error Code: RequestThrottled 
Error Type: Sender 
Request ID: fc59c802-04da-4dd3-89a8-db5f525cac39 
XML: <ErrorResponse xmlns="http://mws.amazonaws.com/doc/2009-01-01/"><Error><Typ 
e>Sender</Type><Code>RequestThrottled</Code><Message>Request from SubmitFeed:AKI 
AJI4PSK4HXY6UCNMA;A2DNAGZJ1EWQLW is throttled.</Message><Detail>System.Object</D 
etail></Error><RequestId>fc59c802-04da-4dd3-89a8-db5f525cac39</RequestId></Error 
Response> 

¿Puede alguien darme una solución para resolver esto?

Gracias!

Respuesta

23

Según Amazon's API reference, la operación SubmitFeed tiene una cuota de solicitud máxima de 15 y una tasa de restauración de una solicitud cada 2 minutos. Esto significa que puede hacer llamadas a esta operación en una ráfaga de 15, pero después de esto se le acelera durante 2 minutos, hasta que Amazon le permita realizar otra solicitud. Puede encontrar esto mejor explicado en su developer guide donde describen mejor cómo utilizan el leaky bucket algorithm.

Probablemente no haya nada de malo en su feed, pero debido a que realizó demasiadas solicitudes (probablemente más de 15), lo estrangularon. Mi consejo es que construyas tu código de forma que tengas en cuenta el acelerador de Amazon y tengas un algoritmo de reducción cuando estés siendo acelerado (como volver después de un período de "restauración", específico para el tipo de llamada que está haciendo). Además, tenga en cuenta que otra limitación que tiene MWS es de 10000 solicitudes por hora en todo tipo de llamadas.

+1

Better docs link (es decir, no PDF): [SubmitFeed] (http://docs.developer.amazonservices.com/en_ES/feeds/Feeds_SubmitFeed.html) y [Throttling Explanation] (http: //docs.developer. amazonservices.com/en_ES/dev_guide/DG_Throttling.html) – drzaus

Cuestiones relacionadas