Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以协调的方式缓存来自外部API的数据_Api_Caching_Mocking_External_Amazon Mws - Fatal编程技术网

以协调的方式缓存来自外部API的数据

以协调的方式缓存来自外部API的数据,api,caching,mocking,external,amazon-mws,Api,Caching,Mocking,External,Amazon Mws,我正在构建一个使用AmazonMWSAPI的应用程序。 API限制了您访问它的频率 我正在寻找一种工具,它可以充当反向代理,保存MWS API响应,并最终伪装成MWS API而不点击它,只从缓存返回响应 有些工具可以做到这一点,但我需要的是更复杂一点 假设我要求亚马逊MWS提供一份报告: 我会打电话给你 我会把ReportRequestId拿回来 我将启动服务器轮询GetReportRequestList,以了解报告请求的当前状态。报告请求可能会经历提交状态,然后完成,但也可能设置为错误或取消

我正在构建一个使用AmazonMWSAPI的应用程序。 API限制了您访问它的频率

我正在寻找一种工具,它可以充当反向代理,保存MWS API响应,并最终伪装成MWS API而不点击它,只从缓存返回响应

有些工具可以做到这一点,但我需要的是更复杂一点

假设我要求亚马逊MWS提供一份报告:

  • 我会打电话给你
  • 我会把ReportRequestId拿回来
  • 我将启动服务器轮询GetReportRequestList,以了解报告请求的当前状态。报告请求可能会经历提交状态,然后完成,但也可能设置为错误或取消
  • 当GetReportRequestList返回的报告请求状态完成时,我最终可以调用GetReport并获取数据
  • 步骤3中的行为就是我试图复制的

    这个外部API缓存应该能够为同一个请求生成不同的结果:第一个响应应该生成SUBMITTED,然后第二个响应应该生成DONE

    我应该能够轻松地配置这些流,如我所愿,设置我想要的第一、第二、第n个请求的响应

    我希望这个工具需要最少的配置,我不想配置路由或任何东西,我希望它自动缓存所有内容,然后从缓存中返回所有内容,从不刷新它


    此外,我还需要对响应中返回的内容进行这一级别的控制,这取决于到目前为止完成的请求数。

    听起来您希望在MWS前面运行一个进程,该进程对其进行API调用,记录响应,然后您的应用程序查询该进程?我不知道有什么服务可以满足您的需求,但您可以自己编写。我做了类似的事情,但不需要缓存所有MWS响应。我只是让一个进程在计时器上运行,或者通过一个触发器启动,该触发器提交一个报告并循环,直到报告完成,然后检索报告。老实说,我从来没有遇到过节流的问题。这可能就是我要求助的。与其说是节流,不如说是方便。我有一个程序,我在我的应用程序中添加一个Amazon帐户,从中复制大量数据,这需要一段时间。我必须一次又一次地运行这个过程来完善它,所以如果我能缓存响应,它会更快,而且也会更安全,因为我将提供与我从MWS获得的数据相同的准确数据。是的,得到了。因此,使用MWS scratchpad是一件简单的事情。从中复制/粘贴响应并将其转储到数据库中。然后,您可以在数据库的开发中发挥作用,直到您的过程变得完美为止。在我使用MWS的所有岁月中,节流并不是一个真正的问题。只是不要每秒检查10次,更像是每分钟检查一次!听起来你想让一个进程在MWS前运行,该进程对其进行API调用,记录响应,然后你的应用程序查询该进程?我不知道有什么服务可以满足您的需求,但您可以自己编写。我做了类似的事情,但不需要缓存所有MWS响应。我只是让一个进程在计时器上运行,或者通过一个触发器启动,该触发器提交一个报告并循环,直到报告完成,然后检索报告。老实说,我从来没有遇到过节流的问题。这可能就是我要求助的。与其说是节流,不如说是方便。我有一个程序,我在我的应用程序中添加一个Amazon帐户,从中复制大量数据,这需要一段时间。我必须一次又一次地运行这个过程来完善它,所以如果我能缓存响应,它会更快,而且也会更安全,因为我将提供与我从MWS获得的数据相同的准确数据。是的,得到了。因此,使用MWS scratchpad是一件简单的事情。从中复制/粘贴响应并将其转储到数据库中。然后,您可以在数据库的开发中发挥作用,直到您的过程变得完美为止。在我使用MWS的所有岁月中,节流并不是一个真正的问题。只是不要每秒检查10次,更像是每分钟检查一次!