ios - 为 AWS S3 生成签名 URL

标签 ios objective-c amazon-s3 aws-sdk-ios

我正在尝试为 AWS S3 创建一个签名的 url,我只想要我存储桶中文件的 URL,我不想将它用于上传/下载。

我按照亚马逊文档中的步骤尝试了 AFNetworking,现在正在使用 AWS iOS 开发工具包。

到目前为止,我有这个:

AWSStaticCredentialsProvider *credentialsProvider = [AWSStaticCredentialsProvider        credentialsWithAccessKey:@"Access Key" secretKey:@"secret key"];
AWSServiceConfiguration *configuration = [AWSServiceConfiguration    configurationWithRegion:AWSRegionUSWest2  credentialsProvider:credentialsProvider];

[AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration;
AWSS3PreSignedURLBuilder * urlBuilder  = [[AWSS3PreSignedURLBuilder alloc]       initWithConfiguration:configuration];

AWSS3GetPreSignedURLRequest *preSignedURLRequest = [AWSS3GetPreSignedURLRequest new];
preSignedURLRequest.bucket = @"bucket-name";
preSignedURLRequest.key = @"/filename";
preSignedURLRequest.HTTPMethod = AWSHTTPMethodGET;
preSignedURLRequest.expires = [NSDate dateWithTimeIntervalSinceNow:3600];

 NSURL *preSignedURL = [urlBuilder getPreSignedURL:preSignedURLRequest];

NSLog(@"%@", preSignedURL);

我收到很多关于代码被贬值的错误,但更重要的是我知道 getPreSignedURL 方法返回一个类型(AWSTask *),我的问题是如何将 AWSTask 转换为签名的 url?

此外,我不打算将 key 留在我的代码中,这只是暂时的测试。

如果有人可以帮助我找到如何获取 preSignedURL,那将是一个很大的帮助。
谢谢

最佳答案

您可以查看Taming the AWS framework to upload a large file to S3它还涵盖了快速生成预签名 URL

关于ios - 为 AWS S3 生成签名 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31073380/

相关文章:

ios - 使用库实现自定义 UISwitch - 我做错了什么导致尺寸问题?

content-management-system - 数据中心的 Amazon S3 替代方案?

python-3.x - AWS CLI 上传失败 : unknown encoding: idna

java - 是否有 Java/Android 等效于 NSArray 的 iOS 函数 "componentsJoinedByString"?

ios - 发送到实例的 Swift UITableView 无法识别的选择器

iphone - 带有 Nib 文件和继承的 UIViewController

ios - 在 iOS 中的 amazon s3 上设置文件权限

iphone - 如何创建下拉框?

ios - 自定义 leftBarButtonItem 未在 swift 4 中显示

ios - 在 UIView 中逐像素绘制像素