Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.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
Node.js AWS-SDK:S3的listobjects中的查询参数_Node.js_Amazon Web Services_Amazon S3_Aws Lambda_Aws Sdk - Fatal编程技术网

Node.js AWS-SDK:S3的listobjects中的查询参数

Node.js AWS-SDK:S3的listobjects中的查询参数,node.js,amazon-web-services,amazon-s3,aws-lambda,aws-sdk,Node.js,Amazon Web Services,Amazon S3,Aws Lambda,Aws Sdk,我想在特定日期后提取对象。使用AWS CLI,我可以使用以下命令列出对象: aws s3api list-objects-v2——bucket“bucket1”——前缀“file-”--query(内容[?上次修改>'2019-02-06T05:34:12.000Z'])[0]” 但是我想从我的代码中完成,所以请让我知道如何使用NPM AWS-SDK过滤对象 注意:我可以使用exec或spawn进行配置,但为此,我必须使用CLI配置配置文件,CLI将在本地创建凭据文件,因此我不想这样做。使用。调

我想在特定日期后提取对象。使用AWS CLI,我可以使用以下命令列出对象:

aws s3api list-objects-v2——bucket“bucket1”——前缀“file-”--query(内容[?上次修改>'2019-02-06T05:34:12.000Z'])[0]”

但是我想从我的代码中完成,所以请让我知道如何使用NPM AWS-SDK过滤对象

注意:我可以使用
exec
spawn
进行配置,但为此,我必须使用CLI配置配置文件,CLI将在本地创建凭据文件,因此我不想这样做。

使用。调用
listObjectsV2
方法,然后在回调方法中使用以过滤API调用的输出。这相当于AWS CLI通过
--query
参数执行的操作

类似这样的东西(未经测试)


我的S3中有LAC的文件,在这种情况下,我必须带上所有的对象,然后过滤掉?在cli中使用查询参数时,我只能带来筛选的记录。是的,但这与cli的工作方式相同。它从API检索结果集,然后过滤输出。这一切都是在客户端使用JMESPath.ok实现的。我试图找出如何将jmespath与listObjectsV2一起使用,但没有找到它。您能告诉我一个在回调中使用它并获得过滤结果的示例吗?添加了一个快速示例我认为它只搜索了前1000条记录,在2月6日之后没有获得数据,但当我使用cli命令时,我能够获得结果。2月6日之前我有数千张唱片。
var params = {
  Bucket: "bucket1", 
  Prefix: "file-"
 };
 s3.listObjectsV2(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else {
       query = "Contents[?LastModified>'2019-02-06T05:34:12.000Z']"
       var results = jmespath.search(data,query);
   }
 };