Как получить имя файла, используя nodeJs из облачного хранилища объектов IBM - PullRequest
0 голосов
/ 14 февраля 2020

Я написал функциональность Node-Js как Cloud-Function в облаке IBM, функциональность моего Node-Js заключается в чтении данных из файла. ниже приведен мой код

function readFile(){

var config = {
endpoint: 'XXXXXXXXXXX',
apiKeyId: 'XXXXXXXXXXX',
ibmAuthEndpoint: 'https://iam.ng.bluemix.net/oidc/token',
serviceInstanceId: 'XXXXXXXXXXXX'
};
console.log("Reading file");
var cosClient = new myCOS.S3(config);
cosClient.getObject({Bucket: 'my-bucket',
                     Key: 'my-file.txt'
                    }).promise().then((data) => {
                        if(data!=null){
                        console.log('File Contents: ' +Buffer.from(data.Body).toString());
                        fileContents = Buffer.from(data.Body).toString();
                        }
                       }).catch((e) => {
                            console.error(`ERROR: ${e.code} - ${e.message}\n`);
                          });
}

Использование функции getObject () функции cos позволяет получить содержимое файла. Но здесь я хочу прочитать имя файла или все имена файлов для данного сегмента. Я попытался, указав только Bucket-name, как показано ниже

return cosClient.getObject({Bucket: 'cloud-object-storage-m3-cos-standard-vws'}).promise().then((data) => {
if(data!=null){
    console.log('File Contents: ' +Buffer.from(data.Body).toString());
    fileContents = Buffer.from(data.Body).toString();
}
}).catch((e) => {console.error(`ERROR: ${e.code} - ${e.message}\n`);

});

Но это дает MissingRequiredParameter - Missing required key 'Key' in params'

...