Я написал функциональность 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'