Tag: amazon web services

在Swift中使用iOS AWS SDK检查Amazon S3文件的元数据

我正在使用AWS iOS SDK v2和Swift 1.2。 我在S3上存储我的应用程序的app.json文件,并希望在启动时检查它是否自上次运行后更新。 根据研究,只要对对象执行HEAD请求应该返回“Last-Modified”属性,然后可以将其与之前的对比。 问题是在一个对象上执行一个HEAD请求似乎没有很好的logging。 我有以下几点: var metaDataRequest = AWSS3HeadObjectRequest() metaDataRequest.bucket = S3BucketName metaDataRequest.key = S3AppJSONKey 这似乎是一个体面的开始,但我找不到执行请求的方法。 AWSS3TransferManager有一个download()方法,但该方法需要一个AWSS3TransferManagerDownloadRequesttypes,其中AWSS3HeadObjectRequest不能被转换为。 不知道从哪里走,只是在SDK之外做请求。 但是,我确实想要尽可能多地利用SDK,所以如果可能的话,我很想知道如何。

在iOS上使用AWS Cognito控制AWS EC2访问(或不使用)

我有点难以理解如何使用IAMangular色来限制对Amazon EC2实例的访问。 我目前正在研究Cognito,我想知道它是否可以帮助我。 我想限制我的EC2实例(我的意思是联系那里的Django服务器)访问只有一个特定的人群,dynamicips。 所以IP限制不是一个选项。 如果用户通过Cognito进行身份validation并获得临时凭证,并因此假定具体的IAMangular色,我希望他能够从我的iOS应用程序中与该EC2-Django服务器通信。 如果对服务器的请求没有IAM,我希望Amazon自动阻止它。 这是可能的,或者我必须做那个服务器端?

使用Amazon SNS服务发送推送通知

我们正在开发一个发送推送通知的移动应用程序,我们希望使用Amazon SNS服务来完成,我想确认我们计划如何pipe理设备注册和推送通知发送的总体思路。 据我所知, 在Amazon SNS中有PlatformApplication的概念,我们指定它是Android / iPhone还是环境(Test / Prod,…) 然后,PlatformEndPoint的概念是“设备和移动应用程序”,所以我想像下载和安装应用程序的每个人都需要在适当的平台上创build一个EndPoint,这取决于设备的types(android,苹果) 我的问题是,何时应该创buildPlatformEndPoint,每次login到应用程序,我们应该删除它每次他退出? 然后当PlatformEndPoint被创build,我需要发送推送通知给特定的用户(不是每个人),我将使用Publish API与适当的TargetArn参数。 非常感谢您的意见和build议

“login”已弃用:使用“AWSIdentityProviderManager”

我一直在尝试使用Amazon Cognito在iOS和iOS上对用户进行身份validation。 我不能执行,因为官方文件是旧的。 这是我的代码: NSString *token = [FBSDKAccessToken currentAccessToken].tokenString; credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionAPNortheast1 identityPoolId:IDENTITY_POOL_ID]; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionAPNortheast1 credentialsProvider:credentialsProvider]; credentialsProvider.logins = @{ AWSIdentityProviderFacebook: token }; NSLog(@"credentialsProvider.logins : %@", credentialsProvider.logins); [AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration; 但Xcode说'logins' is deprecated: Use “AWSIdentityProviderManager” to provide a valid logins dictionary to the credentials provider 我发现credentialsProvider.logins返回[null],因为login已被弃用。 亚马逊的官方文件(英文,日文)和样本不是最新的,所以我不知道如何正确实现对用户进行身份validation。 最后,我在Swift中find了这个解决scheme,但是我不知道。 AWS […]

如何更新IOS推送通知中的徽章号码?

我最近使用亚马逊SNS推送我的IOS应用程序的通知。 它运作良好,我遇到的唯一问题是当我收到通知,徽章号码将不会更新,这里是我如何实现: 首先我按照这里的例子https://aws.amazon.com/articles/9156883257507082这里是教程中的示例代码。 – (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { application.applicationIconBadgeNumber = 0; NSString *msg = [NSString stringWithFormat:@"%@", userInfo]; NSLog(@"%@",msg); [[Constants universalAlertsWithTitle:@"Push Notification Received" andMessage:msg] show]; } -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //Register for push notification application.applicationIconBadgeNumber = 0; [[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)]; if(launchOptions!=nil){ NSString *msg = [NSString stringWithFormat:@"%@", launchOptions]; NSLog(@"%@",msg); [[Constants […]

认知 – 禁止访问身份

我试图了解亚马逊认知,并尝试通过Facebooklogin后S3文件夹的列表内容。 脸书login工作正常。 当我点击testingbutton(cmdTestS3Tapped)它会引发以下错误。 我将amazonClientManager.h,AmazonClientManager.m和Constants.h包含在amazon提供的例子中。 常数以belllow给出。 有谁能帮我解决这个问题吗? #define AWSAccountID @"MyAccountID" #define CognitoPoolID @"us-east-1:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx" #define CognitoRoleAuth @"arn:aws:iam::MyAccountID:role/Cognito_iOSTestPoolAuth_DefaultRole" #define CognitoRoleUnauth @"arn:aws:iam::MyAccountID:role/Cognito_iOSTestPoolAuth_DefaultRole" 这是angular色 – Cognito_iOSTestPoolAuth_DefaultRole { "Version": "2012-10-17", "Statement": [{ "Action": [ "mobileanalytics:PutEvents", "cognito-sync:*" ], "Effect": "Allow", "Resource": [ "*" ], "Effect": "Allow", "Action": "s3:*", "Resource": "*" }] } 这是信任关系 { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": […]

aws dynamodb如何使用批处理对象映射器进入ios

我需要使用ios sdk从dynamodb获得~50个主键。 我能够通过AWSDynamoDB.defaultDynamoDB()。batchGetItem获取项目,但无法弄清楚是否有可能使用对象映射器的响应。 不幸的是,ios中的objectmapper类没有batchGet函数。 据我所知,我不能在这种情况下使用查询。 有没有可能使用对象映射器? 如果不是哪一个更有意义:parsing响应以获取所需的类实例或在每个项目上调用objectMapper.load?

DynamoDB自动增加ID和服务器时间(iOS SDK)

DynammoDB中有一个选项将自动递增的ID作为主键存储在表中吗? 我还需要将服务器时间作为“创build时间”字段(例如,用户创build时间)存储在表中。 但是我没有find从DynamoDB或任何其他AWS服务获取服务器时间的方法。 你们可以帮我吗? 在DyanmoDB表中使用自动递增的ID 将服务器时间存储在“创build于”类似字段的表中。 谢谢。

AWSWebIdentityCredentialsProvider如何获取参数值?

我试图使用下面的代码来进行身份validation, 但我无法获得需要传递给以下参数, providerId,roleArn,roleSessionName的值。 但是,webIdentityToken的价值,我会从我们的本地服务器接收它。 AWSWebIdentityCredentialsProvider *provideer = [AWSWebIdentityCredentialsProvider credentialsWithRegionType:AWSRegionUSEast1 providerId:@"" roleArn:@"" roleSessionName:"" webIdentityToken:@""]; 问候,Bhat

iOS AWS v2 S3 Transfer Manager必须使用指定的端点

我正在开发一个使用AWS作为后端的iOS应用程序。 由于我希望用户遍布全球,因此我需要切换应用程序下载照片的位置,以提高延迟性能。 我在EUWest1中创build了一个S3存储桶,而在APNorthEast1中创build了一个S3存储桶。 正如Yosuke在这里所说( https://forums.aws.amazon.com/message.jspa?messageID=586581#586581 ),可以将AWSServiceManager.defaultServiceManager()的默认configuration从一个区域更改为另一个区域,以防止错误。 但是,即使我跟着他的小费,我仍然有同样的错误结果。 错误是: 错误域= com.amazonaws.AWSS3ErrorDomain代码= 0“操作无法完成(com.amazonaws.AWSS3ErrorDomain错误0.)”UserInfo = 0x14fb7720 {RequestId = D708XXX8E1EDBXXX,Endpoint = bucket-ap-northeast-1.s3 -ap-northeast-1.amazonaws.com,Message =您尝试访问的存储区必须使用指定的端点进行寻址。 请发送所有未来的请求到这个端点,HostId = xxxY31S3yFhpssQe1EsfipWWLw = Code = PermanentRedirect,bucket = bucket-ap-northeast-1} 这是我的代码: var credentialsProvider = AWSCognitoCredentialsProvider.credentialsWithRegionType(kCognitoRegionType, accountId: kAWSAccountID, identityPoolId: kCognitoPoolID, unauthRoleArn: kCognitoRoleUnauth, authRoleArn: kCognitoRoleAuth) var serviceConfiguration = AWSServiceConfiguration(region: AWSRegionType.APNortheast1, credentialsProvider: credentialsProvider) AWSServiceManager.defaultServiceManager().setDefaultServiceConfiguration(serviceConfiguration) var transferManager = AWSS3TransferManager.defaultS3TransferManager() transferManager.download(downloadRequest) […]