为 AWS S3 生成签名 URL
Generating a signed URL for AWS S3
我正在尝试为 AWS S3 创建一个已签名的 url,我只想将 URL 用于存储桶中的文件,我不想将其用于 [=24] =].
我已经按照亚马逊文档中的步骤尝试了 AFNetworking,现在正在使用 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 returns 是一种类型 (AWSTask *),我的问题是如何将 AWSTask 转换为已签名的 url?
此外,我不打算在我的代码中保留密钥,这只是临时测试。
如果有人能帮我找到如何获得 preSignedURL 那将是一个很大的帮助。
谢谢
你试过S3BackgroundTransfer-Sample了吗?它应该可以帮助您入门。
您可以查看 Taming the AWS framework to upload a large file to S3 它还涵盖了在 swift
中生成预签名 URL
我假设您正在尝试处理背景 upload/downloads。为此,您可以使用 AWSS3TransferUtility
。
您可以在 http://docs.aws.amazon.com/mobile/sdkforios/developerguide/s3transferutility.html
上阅读更多详细信息
我正在尝试为 AWS S3 创建一个已签名的 url,我只想将 URL 用于存储桶中的文件,我不想将其用于 [=24] =].
我已经按照亚马逊文档中的步骤尝试了 AFNetworking,现在正在使用 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 returns 是一种类型 (AWSTask *),我的问题是如何将 AWSTask 转换为已签名的 url?
此外,我不打算在我的代码中保留密钥,这只是临时测试。
如果有人能帮我找到如何获得 preSignedURL 那将是一个很大的帮助。 谢谢
你试过S3BackgroundTransfer-Sample了吗?它应该可以帮助您入门。
您可以查看 Taming the AWS framework to upload a large file to S3 它还涵盖了在 swift
中生成预签名 URL我假设您正在尝试处理背景 upload/downloads。为此,您可以使用 AWSS3TransferUtility
。
您可以在 http://docs.aws.amazon.com/mobile/sdkforios/developerguide/s3transferutility.html
上阅读更多详细信息