生成AWS S3的签名URL



我正在尝试为AWS S3创建一个签名的url,我只想要我的bucket中的一个文件的url,不想使用它进行上传/下载。

我已经尝试过AFNetworking,按照Amazons文档中的步骤操作,现在正在使用AWS iOS SDK。

到目前为止,我有这个:

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?

此外,我不打算在代码中留下密钥,这只是测试的临时步骤。

如果有人能帮我找到如何获得preSignedURL,那将是一个很大的帮助。感谢

您可以查看Taming AWS框架以将大文件上传到S3,它还包括在swift 中生成预签名的URL

您尝试过S3BackgroundTransfer Sample吗?它应该能帮助你开始。

我假设您正在尝试处理后台上传/下载。为此,您可以使用AWSS3TransferUtility

您可以在上阅读更多详细信息http://docs.aws.amazon.com/mobile/sdkforios/developerguide/s3transferutility.html

相关内容

  • 没有找到相关文章

最新更新