Selling Partner API提供了两种沙盒环境,允许您在不影响生产数据或触发真实事件的情况下测试您的应用程序. Selling Partner API静态沙盒使用模式匹配来返回静态、模拟的响应. Selling Partner API动态沙盒将请求路由到沙盒后端,可以根据请求参数返回真实的响应.
重要的是:沙盒环境用于测试功能,而不是可扩展性测试.对沙盒端点的调用受制于这些节流限制rate = five requests per second; burst = 15. 有关节流的更多信息,请参见Usage Plans and Rate Limits in the Selling Partner API.
# 内容
# 销售伙伴API的静态沙箱
对Selling Partner API静态沙盒(静态沙盒)进行沙盒调用,除了直接调用Selling Partner API沙盒端点.调用沙盒端点返回静态你可以在你想调用的API的Swagger模型JSON文件中参考这些模拟的响应. 更多信息参见如何对销售伙伴API进行静态沙盒调用.
Selling Partner API静态沙箱的工作方式与许多嘲讽框架一样,当指定的参数出现时,它使用模式匹配来返回一个指定的响应.当开发者发送一个包括指定参数的请求时,他将收到一个定义在以下对象中的响应
# 静态沙盒JSON对象
"x-amzn-api-sandbox":
{
"静态"[
{
"请求":
{
"参数":
{
…
}
},
"响应"
{
…
}
}
]
}
请注意,虽然这些对象将包含匹配模拟响应所需的参数,但它们不一定包含成功响应所需的所有参数.为了获得成功的响应,请确保你的请求是有效的,并且包括相应的Swagger模型中定义的**所有必要参数.
# 如何对销售伙伴API进行静态沙盒调用
# 步骤1.检查JSON文件中的请求参数
1.转到Documentation (opens new window)页面.
- 在左边的导航窗格中找到你要进行沙盒调用的API的文件夹.
1.选择你想要的API的Swagger模型JSON文件.
显示JSON代码.
- 在代码中搜索一个
x-amzn-api-sandbox
对象,其中包含一个"static"
数组.
静态沙盒JSON对象将包含静态沙盒调用API操作的请求和响应实例,它们出现在其中.如果请求实例包含参数,在以下步骤中使用它们.
# 步骤2.对一个API进行静态沙盒调用
以与生产调用相同的方式对API进行静态沙盒调用,但有以下区别
1.包括步骤1中的参数.检查JSON文件中的请求参数在你的调用中.如果API需要这些参数以外的参数,请确保在你的调用中也包括这些所需参数.
1.将您的调用指向销售伙伴API沙盒端点之一.
你应该收到一个与步骤1中的静态沙盒JSON对象中包含的有效载荷对象相匹配的响应.
# 销售伙伴API动态沙箱
对Selling Partner API动态沙盒的调用(动态沙盒)与生产调用相同,只是你将调用指向Selling Partner API沙盒端点.动态沙盒调用被代理(i.e.转发)到沙盒后端因为你不局限于精确的模式匹配,你可以提出请求并接收可能是有状态的响应,并对输入做出反应. 例如,你可能想验证不同发货地址的运费-to地址. 你能做的只是受限于为该API部分提供的沙盒后端所支持的能力.
你可以通过查看你想调用的API的Swagger模型JSON来确定哪些操作支持动态沙盒调用. 如果一个操作包括以下对象,则该操作支持对动态沙盒的调用
"x-amzn-api-sandbox":
{
"动态"{}
}
2
3
4
该对象可以在操作或路径级别找到.当在路径级别时,路径内的所有操作都可以对动态沙盒进行调用.
# 动态沙盒-仅有的操作
动态沙盒支持可选的API,这些API是沙盒-唯一的,只有在指向销售伙伴API沙盒端点之一时才能成功.你可以通过查看API部分的Swagger模型JSON来确定哪些操作是沙盒-only. 一个沙盒-only操作包含"x-amzn-api-sandbox-only"true
在操作层面或路径层面.当在路径层面时,路径内的所有操作都是动态沙盒-only.
沙盒-only操作是对生产API的补充,这样你就可以创建使用生产API操作无法实现的测试工作流程. 例如,你可能有一个用例,一个数据项是通过用户界面实例化的,但不是通过API. 为了测试目的,可以提供一个沙盒-only API来创建数据项,以允许更完整的测试工作流程.
# 如何对销售伙伴API进行动态沙盒调用
# 步骤1.检查JSON文件中支持动态沙箱调用的操作
1.进入Documentation (opens new window)页面.
- 在左边的导航窗格中找到你想进行沙盒调用的API的文件夹.
1.选择你想要的API的Swagger模型JSON文件.
显示JSON代码.
1.在代码中搜索
"x-amzn-api-sandbox":
{
"动态"{}
}
2
3
4
如果操作包含路径或操作层面的对象,则支持动态沙箱.
# 步骤2.对一个API进行动态沙盒调用
对API进行动态沙盒调用,方法与生产调用相同,只是将调用指向销售伙伴API沙盒端点之一._
# 销售伙伴API沙盒端点
销售伙伴API为北美、欧洲和远东销售地区提供沙盒端点.
销售地区 | 端点 | AWS地区 |
---|---|---|
北美洲 (加拿大、美国、墨西哥和巴西市场) | https://sandbox.sellingpartnerapi-na.amazon.com | us-east-1 |
欧洲 (西班牙、英国、法国、荷兰、德国、意大利、瑞典、波兰、埃及、土耳其、阿拉伯联合酋长国和印度市场) | https://sandbox.sellingpartnerapi-eu.amazon.com | 欧盟-西部-1 |
远东 (新加坡、澳大利亚和日本市场) | https://sandbox.sellingpartnerapi-fe.amazon.com | us-west-2 |