我正在使用DigitalOcean存储视频。我正在使用Firebase可调用函数通过AWS开发工具包生成签名的URL,并将其发送回我的应用程序。当我使用Firebase函数生成签名的URL时,它给了我“签名不匹配”错误。 Firebase功能如下-
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
const AWS = require('aws-sdk');
exports.getS3SignedUrlUpload = functions.https.onCall((data,context) => {
const spacesEndpoint = new AWS.Endpoint('https://sgp1.digitaloceanspaces.com');
AWS.config.update({
endpoint: spacesEndpoint,accessKeyId: 'mykey',secretaccessKey: 'mySecretKey',signatureversion: 'v4',region: "sgp1"
});
var s3 = new AWS.S3();
const s3Params = {
Bucket: 'myappvideo',//data.S3BucketName,Key: 'video14.mp4',//data.key,Expires: 60*60 // Expires in 10 minutes
};
var v = s3.getSignedUrl('putObject',s3Params);
console.log("PRESIGNED URL",v);
return v;
});