Tag: 亚马逊 s3

适用于iOS的AWS S3 SDK v2 – 将图像文件下载到UIImage

看来这应该是比较简单的。 我正在使用适用于iOS的AWS开发工具包(v2),我试图下载一个.png文件并将其显示在UIImage的屏幕上。 一切真的有用! 非常奇怪 这是我的代码: AWSStaticCredentialsProvider *credentialsProvider = [AWSStaticCredentialsProvider credentialsWithAccessKey:@"MY_ACCESS_KEY" secretKey:@"MY_SECRET_KEY"]; AWSServiceConfiguration *configuration = [AWSServiceConfiguration configurationWithRegion:AWSRegionUSWest1 credentialsProvider:credentialsProvider]; [AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration; AWSS3 *transferManager = [[AWSS3 alloc] initWithConfiguration:configuration]; AWSS3GetObjectRequest *getImageRequest = [AWSS3GetObjectRequest new]; getImageRequest.bucket = @"MY_BUCKET"; getImageRequest.key = @"MY_KEY"; [[transferManager getObject:getImageRequest] continueWithBlock:^id(BFTask *task) { if(task.error) { NSLog(@"Error: %@",task.error); } else { NSLog(@"Got image"); NSData *data = […]

适用于iOS的Amazon AWS S3 SDK删除连接(错误-1005)

运行AWSiOSDemoTVM项目时,asynchronousS3演示代码将开始上传数据,但连接将在几秒钟后丢弃。 AWSiOSDemoTVM:didFailWithError:错误域= NSURLErrorDomain代码= -1005“networking连接丢失。”UserInfo = 0xb54e850 {NSErrorFailingURLStringKey = https://BUCKETNAME.s3.amazonaws.com/asyncDemoKey,NSErrorFailingURLKey = https://BUCKETNAME.s3。 amazonaws.com/asyncDemoKey,NSLocalizedDescription =networking连接丢失,NSUnderlyingError = 0xb5527f0“networking连接丢失。”} 小型上传不使用asynchronous委托将成功。

从iOS / Android应用迁移s3下载到CloudFront

我们有iOS和Android应用程序下载s3的文件。 由于我们拥有全球客户,所以我们希望迁移到CloudFront。 我明白,为了做到这一点,我需要从/构build一个URL并发送NSURLRequest。 这意味着我不再使用专用的S3GetObjectRequest从桶中获取对象。 我想知道这是否是唯一的方法,或者有一种方法可以使用cloudFront与s3课程一起工作? 这是我的代码(iOS): – (int) request:(NSString*)request response:(NSData**)response { NSInteger httpStatus = 0; NSData* theData = NULL; NSString* cloudFrontDomain = [self cloudFrontDomain]; if(cloudFrontDomain){ NSString *urlString = [cloudFrontDomain stringByAppendingPathComponent: request]; NSURL *url = [[NSURL alloc] initWithString:urlString]; NSURLRequest *theRequest = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30.0]; NSError *error = nil; NSHTTPURLResponse *httpResponse = nil; theData = [NSURLConnection […]

针对iOS SDK v2的Amazon S3video上传问题

亲爱的开发者,我有与亚马逊S3video上传相关的问题。 我正在使用iOS SDK V2来安排iOS Client和Amazon之间的交互。 我已经阅读了所有文档,并调查了由Amazon开发人员提供的手册,并且发生了一些没有logging的问题。 我将从一开始就开始解释问题。 1) 身份validation,我使用STS方法来validation用户的亚马逊S3请求。 这个步骤并不是因为我使用这个authenticationconfiguration来上传图片,而且一切都很完美。 2) 对于我正在使用的video文件的上传: AWSS3TransferManager 上传的示例代码: AWSS3PutObjectRequest *logFile = [AWSS3PutObjectRequest new]; logFile.bucket = uploadTokenData_.bucket; logFile.key = key; logFile.contentType = contentType; logFile.body = data_; logFile.contentLength = [NSNumber numberWithInteger:[data_ length]]; AWSS3 *S3 = [[AWSS3 alloc] initWithConfiguration:[AWSCredentialsProvider runServiceWithStsCredential]]; AWSS3TransferManager *transferManager = [[AWSS3TransferManager alloc] initWithS3:S3]; [[transferManager.s3 putObject:logFile] continueWithBlock:^id(BFTask *task) { NSLog(@"Error […]

从移动应用程序使用AWS(特别是S3)的首选方式是什么?

直接在应用程序代码中添加AWS访问密钥和密钥绝对不是一个好方法,主要是因为应用程序驻留在用户设备上(与服务器端代码不同),并且可以进行反向devise以获取证书,然后可能会被滥用。 尽pipe我在任何地方都能find这些信息,但却无法find解决这个问题的明确办法。 我有什么select? 我读了关于临时证书的令牌自动售货机架构,但我不相信它是更好的。 如果我可以反向devise密钥,那么我可以对请求临时凭证的代码进行反向工程。 而且一旦我拥有一组临时的证书来访问S3,我就像拥有密钥一样好。 我可以一次又一次地申请临时证书,即使它们过期很快。 总之,如果一个应用程序可以做一些事情,我可以像恶意用户一样做。 如果有的话,TVM可以在pipe理上更好一些(轮换凭证,在违规情况下更换密钥等)。 请注意,我们可以对密钥施加相同的访问限制,因为我们计划在TVM临时证书的情况下执行这些限制。 此外,如果亚马逊不希望人们直接在应用程序中使用密钥,为什么不在他们的SDK中阻止它,并强制使用TVM或正确的解决scheme。 如果你要走的路,人们将使用它。 我读了几篇这样的文章,不知道为什么? 我主要从网页背景,所以我的理解可能有点有缺陷。 请帮助我理解这是否更好,以及是否有一个完美的(或可能是好的)解决scheme可用于此问题。 PS:是否有TVM的轨道实施?

在iOS中上传Amazon S3 POST

我有服务器生成参数像AWSAccessKeyID,ACL,政策,签名上传文件到S3使用POST像这里: http : //doc.s3.amazonaws.com/proposals/post.html 。 现在有了这些参数,我需要在Amazon服务器上运行这个请求。 似乎我不能使用本机AWS iOS SDK,因为它的S3客户端只能使用存储在服务器上而不是设备上的AWS密钥和秘密进行初始化。 用S3上的所有参数调用这个POST请求上传文件的最佳方法是什么? 或者也许有办法使用AWS SDK。

在swift中上传图像AWS S3存储桶

我试图上传一个图像到一个桶S3 AWS,我正在使用下面的代码。 但我用它来上传到一个图像存储在一个variables或imageView.image? let ext = "jpg" let imageURL = NSBundle.mainBundle().URLForResource("imagename", withExtension: ext) print("imageURL:\(imageURL)") let uploadRequest = AWSS3TransferManagerUploadRequest() uploadRequest.body = imageURL uploadRequest.key = NSProcessInfo.processInfo().globallyUniqueString + "." + ext uploadRequest.bucket = S3BucketName uploadRequest.contentType = "image/" + ext let transferManager = AWSS3TransferManager.defaultS3TransferManager() transferManager.upload(uploadRequest).continueWithBlock { (task) -> AnyObject! in if let error = task.error { print("Upload failed ❌ […]

AWSS3 Region / plistconfiguration问题'服务configuration是`nil`

我正面临AWSS3的一个奇怪的问题。 build立: AWS移动集线器 Cognito DynamoDB S3 – > Cognito,Dynamo甚至S3(通过认知用户数据)工作。 不过,我现在尝试使用以下代码直接连接到AWS3:“ let transferManager = AWSS3TransferManager.default() let uploadRequest = AWSS3TransferManagerUploadRequest() uploadRequest?.bucket = "XXXXXXXXXXXX" uploadRequest?.key = "user-data/" + awsId! + "/primary_profile_picture.png" uploadRequest?.body = imgUrl as URL transferManager.upload(uploadRequest!).continueWith(executor: AWSExecutor.mainThread(), block: { (task:AWSTask<AnyObject>) -> Any? in if let error = task.error as? NSError { if error.domain == AWSS3TransferManagerErrorDomain, let code […]

iOS:有没有一种安全的方式在代码中包含API密钥?

Amazon拥有适用于iOS的AWS开发工具包,以及多个示例应用程序 。 在他们的示例中,他们将API凭证放在一个Constants.h文件中: // Constants used to represent your AWS Credentials. #define ACCESS_KEY_ID @"CHANGE ME" #define SECRET_KEY @"CHANGE ME" 我担心的是,这些可以由一个坚定的黑客提取。 有什么方法安全地在应用程序中包含API密钥? 我看到的一个select是包括我自己的服务器作为中介:应用程序与我的服务器通话,我的服务器与S3通信。 我可以看到这样做的价值,但仍然存在一个问题:我是否允许应用程序在我的服务器上进行API调用,而不进行任何forms的身份validation? 在应用程序中包含我自己的API密钥与包含AWS API密钥的问题相同。

Swift – AWS S3从图片库上传图片并下载

我看了很多amazon文档,但没有find足够的信息上传和下载图像到S3使用Swift。 我怎样才能做到这一点?