酒馆 - 无法使用 aws 预签名 url 发布文件

沙德

我是 Tavern 的新手,我正在为 AWS API Gateway 应用程序实施测试。

案例描述和正常方法

就我而言,我使用预先签名的 URL 将文件直接上传到 S3 存储桶。预签名 URL 由以下属性构成:

url = 'https://<bucket>.s3.amazonaws.com/' 

fields:
  key=<filename>.zip 
  x-amz-algorithm=*** 
  x-amz-credential=***  
  x-amz-date=*** 
  x-amz-security-token=*** 
  policy=*** 
  x-amz-signature=*** 

在普通的 cURL 请求中,这将按如下方式使用:

curl -v \
-F key=<filename>.zip \
-F x-amz-algorithm=*** \
-F x-amz-credential=*** \
-F x-amz-date=*** \
-F x-amz-security-token=*** \
-F policy=*** \
-F x-amz-signature=*** \
-F file=@<filename>.zip \
'https://<bucket>.s3.amazonaws.com/'

实施测试

如您所见,有必要使用构成POST 请求-F标志cURLmultipart/form-data

Tavern方法中,正如我所读到的,-F相当于files,所以这将如下所示:

stages:
  - name: UPLOAD A FILE TO S3
    request:
      method: POST
      url: "https:/<bucket>.s3.amazonaws.com/"
      files: 
          key: target.zip 
          x-amz-algorithm: ***
          x-amz-credential: *** 
          x-amz-date: ***
          x-amz-security-token: *** 
          policy: *** 
          x-amz-signature: ***
          file: '@target.zip'
    response:
      status_code: 200

错误

但它因错误而失败:

Error: <value of x-amz-algorithm> file not found

所以它将字段视为文件,因此它失败了。

是否有可能在这种情况下实施Tavern,所以我的实施在某处是错误的,或者这还不可能Tavern

亲切的问候,

沙德

阿什曼金并

试试这个:

stages:
  - name: UPLOAD A FILE TO S3
    request:
      method: POST
      url: "https:/<bucket>.s3.amazonaws.com/"
      data: 
          key: target.zip 
          x-amz-algorithm: ***
          x-amz-credential: *** 
          x-amz-date: ***
          x-amz-security-token: *** 
          policy: *** 
          x-amz-signature: ***
      files:
          file: "target.zip"
    response:
      status_code: 200

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

AWS 预签名 URL

使用预签名URL从AWS s3读取文件的内容

如何使用Node.js和Axios将文件上传到AWS中的预签名URL?

使用Retrofit2将文件上传到AWS S3预签名URL

使用AWS预签名URL获取JSON响应

使用预签名 URL 上传后,AWS S3 上的文件在文件中包含额外信息

预签名的AWS S3 PUT URL无法使用jquery从客户端上传

仅在巴林 AWS 区域无法预签名 s3 url

AWS预签名URL ACL公共读取无效签名

AWS S3-通过预签名URL放置文件时出现400错误请求

如何将文件上传到AWS中的预签名URL?

AWS PHP SDK:限制预签名URL中的S3文件上传大小

将文件上传到AWS S3预签名URL Retrofit2 Android

AWS S3无法使用预签名URL检索文档:无效的日期(自纪元以来应为秒)

如何在 django 中使用密钥/对象的通配符生成 aws 预签名 url

使用 AWS 预签名 URL 进行 PUT 的应用程序是什么?

AWS S3-使用REST API生成预签名URL

为什么在 AWS CLI 中使用预签名 URL 时需要指定区域?

无论我做什么,都无法使用预签名URL将文件上传到S3。AWS命令行有效。CURL和其他= 403

使用API生成多个预签名的URL

Retrofit + AWS S3-上载URL的预签名URL,我应该对PUT请求使用循环吗?

创建Amazon AWS S3预签名URL PHP

AWS S3预签名URL限制

AWS S3预签名URL的哪个IAM角色

Mqtt连接为AWS IOT预签名URL提供403

AWS S3预签名URL改为返回ListBucketResult

从React Native将图像上传到AWS预签名URL

使用生成的预签名 url 将文件上传到 minio 的请求中缺少字段

生成预签名的url,以便使用python将文件上传到Google存储空间