• 
⎼ 
• 
• 
• 
"  
"  
"  
"  
"  
"  
"  
"  
OS
Apple iPhone, iPad iOS Xcode Swift, Objective-C
Google Android Android OS Android Studio Java
Amazon Kindle Fire Fire OS
https://developer.apple.com/jp/xcode/downloads/
https://developer.android.com/sdk/index.html
"  
"  
"  
"  
Java
PHP
etc.
Java
PHP
etc.
ü 
ü 
ü 
ü 
ü 
Java
PHP
etc.
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
• 
• 
• 
• 
"  
"  
"  
"  
Guest
S3
 DynamoDB
 Kinesis
S3
DynamoDB
Get Delete Put
{!
"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
{!
"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 ..
{!
"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)
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
{!
"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 !
}!
Joe Anna Bob
High Scores
Joe 1500
Anna 800
Bob 750
• 
• 
@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;!
}!
…!
Joe Anna Bob
• 
• 
• 
• 
• 
Download download = !
transferManager.download(“MyBucket”, key, file);!
Upload upload =!
transferManager.upload(“MyBucket”, key, file);!
while (!upload.isDone()){!
// !
}!
TransferManager transferManager = !
new TransferManager(cognitoProvider);!
transferManager.resumeUpload(upload);!
upload.pause();!
upload.abort(); !
download.abort();!
TransferProgress transferred = upload.getProgress();!
transferred.getBytesTransferred();!
transferred.getPercentTransferred();!
Amazon SNS
Mobile Push
Publish
Publish
Publish
Publish
Topic
Amazon SNS
Mobile Push
"  
"  
• 
• 
• 
• 
• 
• 
• 
 
 
 
 
 
 
 
 
 
"
"  
"
• 
• 
• 
• 
• 
• 
• 
"  
• 
• 
• 
• 
• 
• 
• 
• 
"  
"  
"  
"  
ü 
ü 
ü 
ü 
ü 
CTO Night & Days 2015 Winter - AWS Mobile Development
CTO Night & Days 2015 Winter - AWS Mobile Development
CTO Night & Days 2015 Winter - AWS Mobile Development

CTO Night & Days 2015 Winter - AWS Mobile Development