签名与presignedUrl DigitalOCeane上的错误不匹配

我正在使用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;

});
bzl111 回答:签名与presignedUrl DigitalOCeane上的错误不匹配

我不小心使用了getObject而不是putObject。现在对我来说很好。但我不知道它为什么起作用。我没有任何网络概念。我进行更改的行是-

  var v = s3.getSignedUrl('putObject',s3Params);

  var v = s3.getSignedUrl('getObject',s3Params);

请帮助我了解您是否知道。

本文链接:https://www.f2er.com/3097704.html

大家都在问