Haskell 如何使用Amazonka获取签名的put对象url

Haskell 如何使用Amazonka获取签名的put对象url,haskell,amazon-s3,Haskell,Amazon S3,我正在尝试获取一个预先签名的url,以便将一个对象放到我的s3存储桶中。我知道bucket配置很好,因为我已经在node上使用过很多次,并且没有出现任何问题。我目前正在尝试将我的上载端点转换为haskell端点作为个人项目 我已经尝试使用amazonka来egt这个,但是我一直从AWS收到错误消息,我还没有找到一个关于如何实现这一点的好教程。我收到的错误消息如下: 您试图访问的存储桶必须使用指定的端点寻址。请将所有未来请求发送到此终结点 我收到一个包含以下内容的url: 所以我把它改为: 在修

我正在尝试获取一个预先签名的url,以便将一个对象放到我的s3存储桶中。我知道bucket配置很好,因为我已经在node上使用过很多次,并且没有出现任何问题。我目前正在尝试将我的上载端点转换为haskell端点作为个人项目

我已经尝试使用amazonka来egt这个,但是我一直从AWS收到错误消息,我还没有找到一个关于如何实现这一点的好教程。我收到的错误消息如下:

您试图访问的存储桶必须使用指定的端点寻址。请将所有未来请求发送到此终结点

我收到一个包含以下内容的url:

所以我把它改为: 在修复上述问题中的前缀后,我得到以下结果:

解析X-Amz-Credential参数时出错;“美国东部1号”地区是错误的;期待“美国东部2号”

但是,我正在设置密钥、访问密钥和存储桶

以下是一个可复制的示例:

模块库
(主要
)在哪里
导入类关联
导入Network.AWS.S3
导入Network.AWS.S3.PutObject
进口管制.Monad.Trans.AWS
导入Network.AWS.Data
进口管制.镜头
bNameE::BucketName
bNameE=BucketName
oKeyE::ObjectKey
oKeyE=ObjectKey(“101/12345-12345-12345-12345.jpg”)
--oKeyE=ObjectKey“photo-106399.jpeg”
文本
斯凯耶=
aKeyE::文本
阿克耶=
main::IO()
main=do
巴克名称
->ObjectKey
->IO通过测试环
getPresignedURL r b k=do

lgr该问题是基于没有设置Env变量内部的区域,您可以使用以下内容生成签名URL:

getPresignedURL::Region
->BucketName
->ObjectKey
->IO通过测试环
getPresignedURL r b k=do
lgr