Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

CTO Night & Days 2015 Winter - AWS Mobile Development

2,530 views

Published on

モーニングセッション資料

Published in: Technology
  • Be the first to comment

CTO Night & Days 2015 Winter - AWS Mobile Development

  1. 1. •  ⎼  •  •  • 
  2. 2. "   "   "   "  
  3. 3. "   "   "   "  
  4. 4. OS Apple iPhone, iPad iOS Xcode Swift, Objective-C Google Android Android OS Android Studio Java Amazon Kindle Fire Fire OS
  5. 5. https://developer.apple.com/jp/xcode/downloads/
  6. 6. https://developer.android.com/sdk/index.html
  7. 7. "   "   "   "  
  8. 8. Java PHP etc.
  9. 9. Java PHP etc.
  10. 10. ü  ü  ü  ü  ü 
  11. 11. Java PHP etc.
  12. 12. Identity Management Data Pipelines Hadoop Real-time Streaming Data DevOps App Streaming Workflow CDN(VMs, Auto-scaling & Load Balancing) (Relational, NoSQL, Caching) (VPC, DX, DNS) (Object, Block and Archival) Points of Presence
  13. 13. •  •  •  • 
  14. 14. "   "   "   "  
  15. 15. Guest
  16. 16. S3 DynamoDB Kinesis
  17. 17. S3 DynamoDB Get Delete Put
  18. 18. {! "Effect":"Allow",! "Action":["s3:*"],! "Resource":"*"! }! ! {! "Effect": ”Deny",! "Action": ["dynamodb:*"],! "Resource": "*"! }! ! {! "Effect": "Allow",! "Action": [”kinesis:*"],! "Resource": "*"! }! Allow Actions: All S3, Kinesis Operations Resource: All resources within these services Deny Actions: All DDB Operations Resource: All resources
  19. 19. {! "Effect":"Allow",! "Action":["s3:PutObject","s3:GetObject","s3:DeleteObject",! !"s3:ListMultipartUploadParts","s3:AbortMultipartUpload"],! "Resource":"arn:aws:s3:::BUCKET_NAME/*"! } ! {! "Effect":"Allow",! "Action":["s3:ListBucket","s3:ListBucketMultipartUploads"],! "Resource":"arn:aws:s3:::BUCKET_NAME"! }! {! "Effect": "Allow",! "Action": ["dynamodb:GetItem", "dynamodb:Query", "dynamodb:PutItem"],! "Resource" : [ "arn:aws:dynamodb:REGION:123456789:table/TABLE_NAME", ! ! "arn:aws:dynamodb:REGION:123456789:table/TABLE_NAME/! ! !index/INDEX_NAME" ]! }! ! Allow Actions: Certain operations Resource: One bucket, table ..
  20. 20. {! "Effect":"Allow”,! "Action” ["s3:PutObject","s3:GetObject","s3:DeleteObject”,! ”s3:ListMultipartUploadParts","s3:AbortMultipartUpload"],! "Resource":"arn:aws:s3:::BUCKET_NAME/Bob/*"! } ! {! "Effect":"Allow",! "Action":"s3:ListBucket",! "Resource":"arn:aws:s3:::BUCKET_NAME",! "Condition":{"StringLike":{"s3:prefix":”Bob/"}}! }! {! "Effect":"Allow",! "Action":["s3:ListBucketMultipartUploads"],! "Resource":"arn:aws:s3:::BUCKET_NAME"! }! Allow Actions: Certain operations Resource: Within a bucket with specific prefix (user)
  21. 21. Allow Actions: All sync operations Resource: Only to that identity {! "Effect": "Allow”,! "Action": ["s3:GetObject”,"s3:PutObject”],! "Resource": ["arn:aws:s3:::! !myBucket/amazon/snakegame/! !${cognito-identity.amazonaws.com:sub}"]! }! {! "Effect":"Allow",! "Action":"cognito-sync:*", ! "Resource":["arn:aws:cognito-sync:us-east-1: !123456789012:identitypool/! !${cognito-identity.amazonaws.com:aud}/identity/! !${cognito-identity.amazonaws.com:sub}/*"] ! }! Allow Actions: S3 Get/Put operations Resource: Only to a specific part of bucket to that identity
  22. 22. {! "identityPoolId" : "Pool Id”! "identityId" : "Identity Id ”! "dataSetName" : "Dataset Name”! "operation" : "(replace|remove)”! "kinesisSyncRecords" : [! {! "key" : "Key",! "value" : "Value",! "syncCount" : 1,! "lastModifiedDate" : 1424801824343,! "deviceLastModifiedDate" : 1424801824343,! "op": "(replace|remove)" }, ...! ],! "lastModifiedDate": 1424801824343,! "kinesisSyncRecordsURL": "S3Url",! "payloadType" : "(S3Url|Inline)",! "syncCount" : 1 ! }!
  23. 23. Joe Anna Bob High Scores Joe 1500 Anna 800 Bob 750 •  • 
  24. 24. @DynamoDBTable(tableName = "Books")! public static class Book {! private String isbn;! private String title;! …! @DynamoDBHashKey(attributeName = “isbn")! public String getIsbn() {! return isbn;! }! ! @DynamoDBAttribute(attributeName="title")! public String getTitle() {! return title;! }! …!
  25. 25. Joe Anna Bob •  •  •  •  • 
  26. 26. Download download = ! transferManager.download(“MyBucket”, key, file);! Upload upload =! transferManager.upload(“MyBucket”, key, file);! while (!upload.isDone()){! // ! }! TransferManager transferManager = ! new TransferManager(cognitoProvider);!
  27. 27. transferManager.resumeUpload(upload);! upload.pause();! upload.abort(); ! download.abort();! TransferProgress transferred = upload.getProgress();! transferred.getBytesTransferred();! transferred.getPercentTransferred();!
  28. 28. Amazon SNS Mobile Push
  29. 29. Publish Publish Publish Publish Topic
  30. 30. Amazon SNS Mobile Push "   "  
  31. 31. •  •  •  •  •  •  • 
  32. 32.                  
  33. 33. " "   " •  •  •  •  •  •  • 
  34. 34. "  
  35. 35. •  •  •  •  •  •  •  • 
  36. 36. "   "   "   "  
  37. 37. ü  ü  ü  ü  ü 

×