Проблема с запросом на передачу в API Amazon MWS
Я тестирую API-образец API Amazon MWS в С# для отправки файлов, однако после установки секретного ключа AWS, ключа доступа и т.д. в коде я получаю ошибку RequestThrottled, поэтому есть подробности, что это такое, но не удалось найти образец кода, как разрешить это.
Я хотел бы загрузить feed.xml в учетную запись продавца 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>
Ошибка при получении ниже
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>
Может ли кто-нибудь дать мне решение, чтобы решить эту проблему?
Спасибо!
Ответы
Ответ 1
В соответствии с ссылка API Amazon операция SubmitFeed
имеет максимальную квоту запроса 15 и скорость восстановления запроса каждые 2 минуты. Это означает, что вам разрешено совершать вызовы этой операции в пакете из 15, но после этого вы дросселируете в течение 2 минут, пока Amazon не позволит вам сделать другой запрос.
Вы можете найти это в объяснении в руководстве разработчика, где они лучше описывают, как они используют leaky bucket algorithm
.
Вероятно, в вашем фиде нет ничего плохого, но из-за того, что вы сделали слишком много запросов (возможно, более 15), вы получили дросселирование. Мой совет заключается в том, чтобы создать свой код таким образом, чтобы вы учитывали подавление Amazon и имели алгоритм отсрочки, когда вас дросселируют (например, возвращайтесь после периода "восстановления", определенного для типа вызова "делаю" ). Кроме того, имейте в виду, что другое ограничение MWS имеет 10000 запросов в час для всех типов вызовов.