【问题标题】:How to set custom endpoints in amazon ios sdk for presigning urls?如何在 amazon ios sdk 中设置自定义端点以预签名 url?
【发布时间】:2016-05-31 19:19:48
【问题描述】:

我正在尝试从亚马逊服务器获取这些音乐文件的预签名 url,我有 android 的工作代码,但在 Objective-C 中找不到这样做的方法。

public static String getPreSignedURL(String url) {
java.util.Date expiration = new java.util.Date();
long msec = expiration.getTime();
msec += 1000 * 60 * 5; // 5 minutes
expiration.setTime(msec);

AWSCredentials myCredentials = new BasicAWSCredentials(
AppConstants.AWS_ACCESS_KEY_ID, AppConstants.AWS_SECRET_KEY_ID);
AmazonS3 s3client = new AmazonS3Client(myCredentials);
s3client.setEndpoint(AppConstants.ENDPOINT_S3);
GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(
AppConstants.BUCKET_NAME, url.replace(AppConstants.OBJECT_NAME_FILTER, ""));
request.setExpiration(expiration);
URL objectURL = s3client.generatePresignedUrl(request);
return objectURL.toString();
}

以上代码在android中。

var presignedUrl: AWSTask = AWSTask()
let expiration = NSDate().dateByAddingTimeInterval(5*60)


let credential = AWSStaticCredentialsProvider.init(accessKey: AWS_ACCESS_KEY_ID, secretKey: AWS_SECRET_KEY_ID)
let configuration = AWSServiceConfiguration.init(region:.USEast1, credentialsProvider: credential)

//print("%@",configuration.endpoint)
//let regionTp = AWSRegionType(s)

AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration
let urlBuilder = AWSS3PreSignedURLBuilder.defaultS3PreSignedURLBuilder()


let preSignedURLRequest = AWSS3GetPreSignedURLRequest.init()

preSignedURLRequest.key = "10488/01-New_Jack_City_hq.mp3"
preSignedURLRequest.bucket = "damixhub"
preSignedURLRequest.expires = expiration
preSignedURLRequest.HTTPMethod = .GET
presignedUrl = urlBuilder.getPreSignedURL(preSignedURLRequest)

到目前为止,这是我在 ios 中所做的事情,但是 url 有很大的不同,并且我得到 accessdenied 错误可能是因为我没有提到自定义端点。

如果您知道解决此问题的方法,请告诉我。

【问题讨论】:

    标签: ios objective-c amazon-s3 pre-signed-url


    【解决方案1】:

    我设法使用 amazon sdk 版本 1 获得了这个。 如果您使用的是可可豆荚,只需编写 pod "AWSiOSSDK",如果您想手动执行,则需要从 github get it here获取它。

    注意 - 由于亚马逊在 sdk 版本 2 中不提供此功能,因此我必须使用此弃用版本。

    【讨论】:

      猜你喜欢
      • 2012-03-24
      • 1970-01-01
      • 2018-12-27
      • 1970-01-01
      • 2019-02-11
      • 2016-07-12
      • 2012-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多