Сначала необходимо сгенерировать ключи HMAC для экземпляра службы, как описано в Как создать учетные данные HMAC для IBM Cloud Object Storage с помощью CLI?
Получив ключ доступа HMAC и секретный ключ доступа, измените инициализацию COS SDK следующим образом:
const config = {
endpoint: 'cos endpoint',
apiKeyId: 'cos api key',
ibmAuthEndpoint: 'https://iam.ng.bluemix.net/oidc/token',
serviceInstanceId: 'cos crn'
// these two are required to generate presigned URLs
credentials: new COS.Credentials('<access key>', '<secret_access_key>', sessionToken = null),
signatureVersion: 'v4'
};
const cos = new COS.S3(config);
тогда вы можете создавать ссылки с помощью:
const url = await cos.getSignedUrl('getObject', {
Bucket: '<your-bucket-name>',
Key: '<your-key-name>',
Expires: 60 * 5, // 5 minutes
});