Amazon Cognito 스트림 - Amazon Cognito

Amazon Cognito 스트림

Amazon Cognito Sync를 처음 사용하는 경우 AWS AppSync를 사용하세요. Amazon Cognito Sync와 마찬가지로, AWS AppSync도 디바이스 사이에서 애플리케이션 데이터를 동기화하는 서비스입니다.

앱 기본 설정이나 게임 상태 같은 사용자 데이터를 동기화할 수 있습니다. 또한 이러한 기능을 더욱 확장해, 복수의 사용자가 공유 데이터를 실시간으로 동기화하고 협업할 수 있게 합니다.

Amazon Cognito 스트림은 개발자에게 Amazon Cognito에 저장된 데이터에 대한 제어와 통찰력을 제공합니다. 개발자는 이제 데이터가 업데이트 및 동기화될 때 이벤트를 수신하도록 Kinesis 스트림을 구성할 수 있습니다. Amazon Cognito는 각 데이터 집합 변경 사항을 사용자가 소유하는 Kinesis 스트림으로 실시간으로 푸시합니다.

Amazon Cognito 스트림을 사용하여 모든 동기화 데이터를 Kinesis로 이동할 수 있습니다. 그러면 추가 분석을 위한 Amazon Redshift와 같이 데이터 웨어하우스 도구로 스트리밍될 수 있습니다. Kinesis에 대한 자세한 내용은 Amazon Kinesis 사용 시작하기를 참조하세요.

스트림 구성

Amazon Cognito 스트림은 Amazon Cognito 콘솔에서 설정할 수 있습니다. Amazon Cognito 콘솔에서 Amazon Cognito 스트림을 사용하려면 게시할 Kinesis 스트림과 선택한 스트림에 이벤트를 게시할 Amazon Cognito 권한을 부여하는 IAM 역할을 선택해야 합니다.

콘솔 홈 페이지에서 다음을 수행합니다.

  1. Amazon Cognito 스트림을 설정할 자격 증명 풀 이름을 클릭합니다. 자격 증명 풀에 대한 대시보드 페이지가 표시됩니다.

  2. 대시보드(Dashboard) 페이지의 우측 상단 모서리에서 자격 증명 풀 관리(Manage Identity Pools)를 클릭합니다. 연동 자격 증명 관리(Manage Federated Identities) 페이지가 나타납니다.

  3. 아래로 스크롤하고 Cognito 스트림을 클릭하여 확장합니다.

  4. 스트림 이름 드롭다운 메뉴에서 기존 Kinesis 스트림의 이름을 선택합니다. 또는 스트림 생성을 클릭하여 스트림 하나를 생성하고 스트림 이름과 샤드 수를 입력합니다. 샤드에 대한 자세한 내용과 스트림에 필요한 샤드의 수 예상에 대한 도움말은 Kinesis 개발자 가이드를 참조하세요.

  5. [게시 역할(Publish role)] 드롭다운 메뉴에서 스트림을 게시할 Amazon Cognito 권한을 부여하는 IAM 역할을 선택합니다. AWS IAM 콘솔에서 [역할 생성(Create role)]을 클릭하여 자격 증명 풀과 연결된 역할을 생성하거나 수정합니다.

  6. 스트림 상태 드롭다운 메뉴에서 활성을 선택하여 스트림 업데이트를 활성화합니다. 변경 사항 저장을 클릭합니다.

Amazon Cognito 스트림을 성공적으로 구성한 후 이 자격 증명 풀의 데이터 세트에 대한 모든 후속 업데이트가 스트림으로 전송됩니다.

스트림 콘텐츠

스트림으로 전송된 각 레코드는 단일 동기화를 나타냅니다. 다음은 스트림으로 전송된 레코드의 예제입니다.

{ "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 }

Kinesis 최대 페이로드 크기인 1MB보다 큰 업데이트의 경우 Amazon Cognito는 업데이트의 전체 콘텐츠가 포함된 미리 서명된 Amazon S3 URL을 포함합니다.

Amazon Cognito 스트림을 구성한 후 Kinesis 스트림을 삭제하거나 Amazon Cognito Sync가 더 이상 역할을 맡을 수 없도록 역할 신뢰 권한을 변경하는 경우 Amazon Cognito 스트림을 해제합니다. Kinesis 스트림을 다시 생성하거나 역할을 수정한 다음 스트림을 다시 설정해야 합니다.

대량 게시

Amazon Cognito 스트림을 구성한 경우 자격 증명 풀의 기존 데이터에 대해 대량 게시 작업을 실행할 수 있습니다. 대량 게시 작업을 시작한 후 Amazon Cognito는 콘솔을 통하거나 API를 통해 직접 업데이트를 수신하는 동일한 스트림에 이 데이터의 게시를 시작합니다.

Amazon Cognito는 대량 게시 작업을 사용할 때 스트림에 전송된 데이터의 고유성을 보장하지 않습니다. 업데이트 및 대량 게시의 일부로 동일한 업데이트를 받을 수 있습니다. 스트림에서 레코드를 처리할 때 이 점을 유의하시기 바랍니다.

모든 스트림을 대량으로 게시하려면 스트림 구성의 1-6단계를 따른 다음 대량 게시 시작(Start bulk publish)을 클릭합니다. 대량 게시 작업은 지정된 시간에 한 번으로 제한되며 대량 게시 요청은 24시간마다 한 번으로 제한됩니다.