AWS-SDK: параметр запроса в объектах S3 - PullRequest
0 голосов
/ 06 февраля 2019

Я хочу получить объекты после определенной даты.С помощью интерфейса командной строки AWS я могу получить список объектов с помощью следующей команды:

aws s3api list-objects-v2 --bucket "bucket1" --prefix "file-" --query "(Contents[?LastModified>'2019-02-06T05:34:12.000Z'])[0]"

Но я хочу сделать это из своего кода, поэтому, пожалуйста, дайте мне знать, как я могу фильтровать объекты с помощью NPM AWS-SDK.

Примечание: я могу сделать это с помощью exec или spawn, но для этого мне нужно настроить профиль с помощью CLI, который создаст файл учетных данных на локальном компьютере, поэтому я не хочу этого делать.

1 Ответ

0 голосов
/ 06 февраля 2019

Используйте AWS SDK для node.js .Вызовите метод listObjectsV2 и затем используйте jmespath.js в методе обратного вызова, чтобы отфильтровать выходные данные вызова API.Это эквивалентно тому, что AWS CLI делает через параметр --query.

Примерно так (не проверено)

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);
   }
 };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...