我的目标是创建一个Lamda函数,该函数执行一些权限检查(通过外部API),然后签署URL以允许上传到S3。
我创建了以下AWS lambda函数:
var AWS = require('aws-sdk');
var uuid = require('uuid');
exports.handler = function(event, context) {
// Some Auth Code is here to make sure user has permission
var s3 = new AWS.S3();
var url = s3.getSignedUrl('putObject', {
Bucket: config.uploadBucket,
Key: event.partnerName + '/images/' + uuid.v4()
});
context.succeed(JSON.stringify({
url: url
}));
}
我拿回一个URL!
https://s3-us-west-2.amazonaws.com/PATH/images/3f7ff785-1868-4a54-9ae2-e94228d4868d?AWSAccessKeyId=....
然后我创建了一个JSBin来测试它
<form method="POST" action="THE_URL_I_GOT">
<input name="file" type="file"/>
<input type="submit"/>
</form>
但是当我试图上传一个文件时
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>PermanentRedirect</Code>
<Message>The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.</Message>
<Bucket>MYBUCKETNAMEHERE</Bucket>
<Endpoint>s3.amazonaws.com</Endpoint>
<RequestId>...</RequestId>
<HostId>.....</HostId>
</Error>
还有,事实证明,我无法将文件作为多部分表单上传。相反,我必须使用XMLHttpRequest将文件作为二进制文件发送到签名的url(https://devcenter.heroku.com/articles/s3-upload-node#direct-上传)
您的铲斗位于美国标准区域。
您需要使用美国标准endpoint生成预签名上传URL。
我是AWS s3的新手,正在尝试如何在php中使用它。我开始使用,我可以使用s3列出我的所有存储桶- PHP致命错误:未捕获Aws\S3\Exception\PermanentRedirectException:在请求时遇到永久重定向https://s3.us-east-2.amazonaws.com/ischool.simplein?encoding-类型=url。您确定为此存储桶使用了正确的区
但是同时使用不同签名和不同返回类型的重载方法有什么问题呢?为什么这会产生错误?
我正在构建一些函数,以使用sign client PHP API和模型创建JSON。我正在使用API在docusign上创建一个信封,并向签名者发送电子邮件,让他们在docusign上签名。我没有使用嵌入式签名。我在API和plan to get以及API plan中这样做,所以不会有所有基于web的访问。 我有一个或多个签名者,在他们签名后,我需要将他们指向我网站上的URL,在那里他们可以付款。
有没有办法让预签名的aws上传URL在出现错误时返回json响应,而不是xml响应。 目前,如果url过期,它会返回如下内容。 如果这是json响应就好了。
问题内容: 我想使用Bouncycastle生成一个简单的CMS签名。此代码有效! 但是,如何添加签名属性? 我想删除默认的签名属性并添加signature-policy-identifier。 文章非常受欢迎。 问题答案: 首先,您似乎正在使用最新版本的Bouncy Castle中不推荐使用的构造。要添加经过身份验证/签名的属性,您必须将它们打包到AttributeTable中,将签名的属性添加
5xx永久性否定 永久性否定的完成答复,该命令不成功,错误是永久性的。如果客户端重试命令,将再次出现同样的错误。 500语法错误,命令无法识别。这可能包括诸如命令行太长之类的错误。 501在参数中有语法错误。 502未执行命令。 503错误的命令序列。 504未执行该参数的命令。 530未登录。 532存储文件需要帐户。 550未执行请求的操作。文件不可用(例如,未找到文件,没有访问权限)。 55