Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/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
Amazon web services 是否有任何AWS服务可以使API网关等待,直到它从另一个AWS服务(Lambda除外)接收数据? 我想要什么_Amazon Web Services_Amazon S3_Aws Lambda_Aws Api Gateway_Serverless Framework - Fatal编程技术网

Amazon web services 是否有任何AWS服务可以使API网关等待,直到它从另一个AWS服务(Lambda除外)接收数据? 我想要什么

Amazon web services 是否有任何AWS服务可以使API网关等待,直到它从另一个AWS服务(Lambda除外)接收数据? 我想要什么,amazon-web-services,amazon-s3,aws-lambda,aws-api-gateway,serverless-framework,Amazon Web Services,Amazon S3,Aws Lambda,Aws Api Gateway,Serverless Framework,Lambda函数在文件上传到bucket时触发 Lambda对数据执行一些处理,并将其添加到DynamoDB中 一段时间后,进行API调用以获取数据 我试过的 API网关后的DynamoDB:如果过早发出请求,则无数据 S3后面的lambda在调用API网关时被触发:我希望在文件上传后立即开始处理 有什么问题吗 我想通过立即开始处理来利用两次通话之间的时间间隔。但如果第二个请求提前发出,则不会返回任何数据。我可以添加第二个Lambda,它可以使API网关保持到数据准备就绪(API网关超时29秒)

  • Lambda函数在文件上传到bucket时触发
  • Lambda对数据执行一些处理,并将其添加到DynamoDB中
  • 一段时间后,进行API调用以获取数据
  • 我试过的
  • API网关后的DynamoDB:如果过早发出请求,则无数据
  • S3后面的lambda在调用API网关时被触发:我希望在文件上传后立即开始处理
  • 有什么问题吗
    我想通过立即开始处理来利用两次通话之间的时间间隔。但如果第二个请求提前发出,则不会返回任何数据。我可以添加第二个Lambda,它可以使API网关保持到数据准备就绪(API网关超时29秒)。但是,是否有针对这种情况的定制服务,可以让API网关等待(Lambda可选29秒等待)

    没有这样的服务,这是有充分理由的

    API网关实际上会等待DynamoDB响应,但DynamoDB会立即响应,并显示未找到的结果。因此,您要求的逻辑更像

    API Gateway should poll DynamoDB continously until 29 seconds or a result is found
    
    本机不支持此操作,但您可以按照建议操作(使用Lambda连续轮询,直到得到结果)


    或者更简单:让客户端不断调用API网关,直到找到结果为止

    可能不会,apigateway的超时时间为29秒。之后的一切都失败了。客户端需要重试没有返回数据的请求。请注意,AWS API网关的最大超时为29秒。29秒超时适合我的使用情况。我只是不想要一个即时的未找到的响应。当使用API网关代理DynamoDB时会发生这种情况。