Загрузка файла с использованием aws sdk для Nodejs, но не с последним файлом - PullRequest
0 голосов
/ 13 января 2020

Сводка

У меня есть файл json, который обновляется каждую ночь из службы автоматического тестирования. Я использую этот json файл для обновления пользовательского интерфейса, чтобы показать самое последнее добавление. Я загружаю его, используя nodejs и aws -sdk.

Проблема

Файл обновлен. Я скачал и сам проверил. Программная загрузка с использованием aws -sdk не показывает обновленный файл. Он все еще загружает мне устаревший файл.

Код

Код довольно прост:

 var s3 = new AWS.S3();
        var params ={
            Bucket: 'vs2020',
            Key: 'nightly/UT Results/UTR.json',
        };
        s3.getObject(params, function(err, data){
        var response = new TextDecoder('utf-8').decode(data.Body)
        var json = JSON.parse(response)
        console.log(response)
}

Я попытался обновить метаданные как найдено через другие сообщения переполнения стека, но безрезультатно.

Например, я установил cache-control на max-age 0,no-cache,no-store,must-revalidate

Считая, что это может быть неправильный синтаксис, я также установил cache-control на max-age = 0

Казалось, ни один из них не работал .

1 Ответ

0 голосов
/ 24 января 2020

Оказывается, S3 хранит кэш файлов и не обновляет его через определенное время. Вы должны установить поле метаданных следующим образом:

cache-control: max-age=0

...