Tag: amazon web services

如何在Amazon Web Services中发布数据?

我用这段代码在“Amazon Web Services”中快速发布数据。 let userNameData = String("prnty").dataUsingEncoding(NSASCIIStringEncoding)! let passData = String("xxx").dataUsingEncoding(NSASCIIStringEncoding)! let tokenData = String("xxxxxx").dataUsingEncoding(NSASCIIStringEncoding)! let deviceTypeData = String("ios").dataUsingEncoding(NSASCIIStringEncoding)! Alamofire.upload( .POST, "https://xxxxx.execute-api.ap-southeast-1.amazonaws.com/dev/webserv", headers:["x-api-key":"xxxxxxxxx"], multipartFormData: { multipartFormData in multipartFormData.appendBodyPart(data: userNameData, name: "username") multipartFormData.appendBodyPart(data: passData, name: "password") multipartFormData.appendBodyPart(data: tokenData, name: "token") multipartFormData.appendBodyPart(data: deviceTypeData, name: "deviceType") }, encodingCompletion: { encodingResult in switch encodingResult { case .Success(let upload, _, […]

AWS交换区域从East1到West2

我们有一个使用Amazon Web Services的应用程序。 我们devise了图像和video(S3)发送到East1地区,而图像和video的元数据(DynamoDB)发送到West2地区。 但是我们无法从使用east1切换到west2。 当我们初始化我们的AWS时,我们有这样的: self.provider = [AWSCognitoCredentialsProvider credentialsWithRegionType:AWSRegionUSEast1 accountId:AWS_ACCOUNT_ID identityPoolId:COGNITO_POOL_ID unauthRoleArn:COGNITO_ROLE_UNAUTH authRoleArn:COGNITO_ROLE_AUTH]; self.east1Configuration = [AWSServiceConfiguration configurationWithRegion:AWSRegionUSEast1 credentialsProvider:self.provider]; [AWSServiceManager defaultServiceManager].defaultServiceConfiguration = self.east1Configuration; self.west2Configuration = [AWSServiceConfiguration configurationWithRegion:AWSRegionUSWest2 credentialsProvider:self.provider]; 现在,当我们想发送video和图像元数据时,我们也尝试将serviceConfiguration设置为西: [AWSServiceManager defaultServiceManager].defaultServiceConfiguration = self.west2Configuration; 但它不工作。 它不会切换到west2。 我希望我有道理,谢谢。

构buildiOS应用程序,网站和后端

我最近才开始研究构build应用程序的工作方式。 我想知道移动应用程序和网站的一般设置,用户可以通过网站更新应用程序的信息。 我正试图学习如何使用Swift制作iOS应用程序,并使用Amazon Web Services作为其后端。 如果我想要创build一个能够改变移动应用程序数据的网站,我是否必须从头开始用Ruby或Python创build一个网站,然后以某种方式将它连接到我的iOS应用程序使用的同一个AWS后端? 谢谢。

Domain = kCFErrorDomainCFNetwork Code = 303这个错误代码是什么意思?

经常从服务器获取下面的错误。 错误域= kCFErrorDomainCFNetwork代码= 303“该操作无法完成(kCFErrorDomainCFNetwork错误303.)”UserInfo = 0x18a41d20 {NSErrorFailingURLKey = https://s3.amazonaws.com/Multimedia/Audios/20150428/AUDIO_CB0F4CAF-C921-46B6 -AEC2-1FA6B7FB91A0.wav ,NSErrorFailingURLStringKey = https://s3.amazonaws.com/Multimedia/Audios/20150428/AUDIO_CB0F4CAF-C921-46B6-AEC2-1FA6B7FB91A0.wav } 有谁能告诉我这个问题的原因是什么? 问候,Chandrika

从unauth切换到开发人员身份validation的authentication用户 – AWS iOS SDK

总体问题:我的前端(iOS)使用开发人员身份validation身份存在问题。 我知道我的后端产生正确的标记和身份ID,但我的刷新方法永远不会被调用。 我也看了一下这个例子,但是对于一切事情我都有些困惑。 stream说明:目前我有一个login屏幕,有一个loginbutton。 用户按下loginbutton,然后我的api类获取凭证,encryption密码并将其存储在钥匙串中(现在注释掉,因为它在模拟器上不起作用)。 我的DeveloperAuthenticatedIdentityProvider被称为我的应用程序BusytimeAuthenticated。 我已经完成了所有的方法(我正在使用AWS lambda和DynamoDB对用户进行身份validation),我以未经身份validation的访问开始,允许我仅访问两种方法,即login和注册。 然后我想假设我的身份validation的用户允许我打电话给我的其他方法。 我的API代码: [AWSLogger defaultLogger].logLevel = AWSLogLevelVerbose; id<AWSCognitoIdentityProvider> identityProvider = [[BusytimeAuthenticated alloc] initWithRegionType:AWSRegionUSEast1 identityId:nil identityPoolId:@"SOMEIDENTITYPOOLID" logins:@{@"SOMEPROVIDERNAME": @"SOMEUSERNAME"} providerName:@"SOMEPROVIDERNAME" ]; credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 identityProvider:identityProvider unauthRoleArn:nil authRoleArn:nil]; configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:self.credentialsProvider]; AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = configuration; [[credentialsProvider refresh] continueWithBlock:^id(BFTask *task){ [self testAuth]; return nil; }]; 我的DeveloperAuthenticatedIdentityProvider代码(BusytimeAuthenticated): #import "BusytimeAuthenticated.h" […]

如何从DynamoDB(iOS和PHP)获取行数?

我需要帮助查询DynamoDB表来获取行数。 考虑一下,我有一个表“用户”有三个字段,“用户名”,“密码”和“用户types”。 UserType可以是“Admin”,“Employee”或@“Guest”。 现在我想要得到表中“Admin”的数量。 在SQL中,我们写这样的查询, SELECT COUNT(*) FROM Users WHERE UserType='Admin' 现在我需要使用DynamoDB iOS SDK来做同样的事情。 现在,我正在这样做。 – (int)adminUsersCount { DynamoDBScanRequest *request = [[[DynamoDBScanRequest alloc] initWithTableName:@"Users"] autorelease]; DynamoDBCondition *condition = [[[DynamoDBCondition alloc] init] autorelease]; NSMutableArray *attrList = [NSMutableArray arrayWithObject:[[[DynamoDBAttributeValue alloc] initWithS:@"Admin"]] autorelease]]; condition.attributeValueList = attrList; condition.comparisonOperator = @"EQ"; [request setScanFilterValue:condition forKey:@"UserType"]; DynamoDBScanResponse *response = [[AmazonClientManager ddb] scan:request]; […]

Amazon Cognito iOS SDK V2使用Facebook和Google+提供者身份validation问题

我目前无法授权使用AWS iOS SDK V2的用户使用Facebook和Google+作为提供者。 我不确定是否在AWS开发者控制台上设置了我的设置,或者是否在代码中。 这是身份池的angular色策略: { "Version": "2012-10-17", "Statement": [{ "Action": [ "mobileanalytics:PutEvents", "cognito-sync:*" ], "Effect": "Allow", "Resource": ["*"] }] 我确实收到未经授权的Cognito ID,但是当我尝试使用Facebook或Google+提供者身份validation时,它不起作用。 一旦Facebooklogin返回,我可以成功地使用用户属性来提取个人资料图片,姓名和电子邮件地址。 然后,我从Facebook会话中获取令牌(是的,这是一个非常长的string),并在deviceID类中使用它: – (void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id<FBGraphUser>)user { //Populate viewcontoller with Facebook data self.profilePictureView.profileID = user.id; NSRange range = [user.name rangeOfString:@" "]; self.firstName.text = [user.name substringToIndex:range.location]; self.lastName.text = [user.name substringFromIndex:range.location+1]; self.emailAddress.text = [user […]

其余亚马逊ios sdk调用亚马逊弹性代码转换器

我看了看文档,我没有看到对ios的弹性转码sdk的支持。 我的使用案例是将文件“videoFile.mp4”从mp4格式的“bucket1”转换为transcode,并将文件“videoFile.webm”再次移回“bucket1”。 我怎样才能使用亚马逊sdk(代码示例),使其他电话做这个任务? 更新:我能够得到的东西去,但我有另一个问题。 但是当我打电话给https://elastictranscoder.us-west-2.amazonaws.com/2014-06-16/jobs时,我收到了这个消息 <InvalidSignatureException> <Message>Credential should be scoped to correct service: 'elastictranscoder'. </Message> </InvalidSignatureException> 下面的代码是我试过的。 AmazonCredentials *credentials = [[AmazonCredentials alloc] init]; credentials.secretKey = SECRET_KEY; credentials.accessKey = ACCESS_KEY_ID; NSMutableDictionary *parameter = [NSMutableDictionary dictionaryWithObjectsAndKeys: // dateString1, @"x-amz-date", @"elastictranscoder.us-west-2.amazonaws.com:443",@"host", @"application/x-amz-json-1.0", @"content-type", length, @"content-length", nil]; AmazonServiceRequest *request = [[AmazonServiceRequest alloc] init]; request.urlRequest.HTTPMethod = @"POST"; request.regionName = @"us-west-2"; […]

AWSS3什么是video上传桶位置的最佳策略?

我已经在Amazon上configuration了一个存储桶,并且使用了CloudFront。 我上传图片和video。 即使我的video是最大15秒,我发送它们之前压缩它们(与AVAssetExportSession格式的AVAssetExportPreset640x480格式+ shouldOptimizeForNetworkUse设置为true ),似乎太长,上传(有时超过1.5分钟)。 我想知道是否应该在世界的不同地点configuration多个存储桶,以便将用户video上传到最近的存储桶并缩短上传时间。 任何其他build议是非常受欢迎的。

Amazon S3 Cognito – 从图像select器上传图像 – Swift 3

我已经成功将静态图像上传到AWS服务器。 当我把它与imagepicker结合,我面临一个奇怪的问题,因为相同的图像正在上传到AWS,即使我select和命名他们不同。 代码如下: internal func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { let image = info[UIImagePickerControllerOriginalImage] as! UIImage var imageUrl = info[UIImagePickerControllerReferenceURL] as? NSURL let imageName = imageUrl?.lastPathComponent let documentDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first! let photoURL = NSURL(fileURLWithPath: documentDirectory) let localPath = photoURL.appendingPathComponent(imageName!) print("image name : \(imageName)") if !FileManager.default.fileExists(atPath: localPath!.path) { do { […]