本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
實作 Amazon Cognito Sync 串流
如果您第一次使用 Amazon Cognito Sync,請改用 AWS AppSync
可同步使用者資料,如應用程式偏好設定或遊戲狀態。也擴充這些功能,允許多個使用者在共用資料上即時同步及協作。
Amazon Cognito 串流可讓開發人員控制並深入了解其存放在 Amazon Cognito 中的資料。開發人員現在可以設定 Kinesis 串流,以在資料更新及同步時接收事件。Amazon Cognito 可以即時將每項資料集變更推送至您擁有的 Kinesis 串流。
您可以使用 Amazon Cognito 串流將所有同步資料移到 Kinesis,然後 Kinesis 會串流至諸如 Amazon Redshift 的資料倉儲工具,供進一步分析。若要進一步了解 Kinesis,請參閱 Amazon Kinesis 入門。
設定串流
您可以在 Amazon Cognito 主控台中設定 Amazon Cognito 串流。若要在 Amazon Cognito 主控台中啟用 Amazon Cognito Streams,您需要選取要發佈的 Kinesis 串流,以及授予 Amazon Cognito 許可將事件放入所選串流IAM的角色。
從主控台首頁
-
針對要設定 Amazon Cognito 串流的身分集區,按一下其名稱。該身分集區的 Dashboard (儀表板) 頁面隨即出現。
-
在 Dashboard (儀表板) 頁面右上角,按一下 Manage Identity Pools (管理身分集區)。Manage Federated Identities (管理聯合身分) 頁面隨即出現。
-
向下捲動,然後按一下 Cognito Streams (Cognito 串流) 將其展開。
-
在 Stream name (串流名稱) 下拉式選單中,選取現有 Kinesis 串流的名稱。或者,按一下 Create stream (建立串流),輸入串流名稱和碎片數量,以建立串流。若要了解碎片並取得預估串流所需碎片數量的協助,請參閱 Kinesis 開發人員指南。
-
在發佈角色下拉式功能表中,選取授予 Amazon Cognito 發佈串流許可IAM的角色。按一下建立角色,在AWS IAM主控台
中建立或修改與身分集區相關聯的角色。 -
在 Stream status (串流狀態) 下拉式選單中,選取 Enabled (已啟用),以啟用串流更新。按一下 Save Changes (儲存變更)。
成功設定 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 最大承載大小 1 MB 的更新,Amazon Cognito 會包含預先簽章的 Amazon S3URL,其中包含更新的完整內容。
設定 Amazon Cognito 串流之後,如果您刪除 Kinesis 串流或變更角色信任許可,導致 Amazon Cognito Sync 無法繼續擔任該角色,您就關閉了 Amazon Cognito 串流。您必須重新建立 Kinesis 串流或修復角色,然後必須重新開啟串流。
大量發佈
設定 Amazon Cognito 串流之後,您就可以為身分集區中的現有資料執行大量發佈操作。啟動大量發佈操作之後,無論是透過主控台還是直接透過 API,Amazon Cognito 都會開始將此資料發佈到接收您更新的相同串流。
使用大量發佈操作時,Amazon Cognito 不保證傳送至串流的資料唯一性。您可能會同時從更新和大量發佈的一部分收到相同的更新。在處理來自串流的記錄時,請記得這一點。
若要大量發佈您的所有串流,請按照「設定串流」下的步驟 1-6 操作,然後按一下 Start bulk publish (開始大量發佈)。您一次只能進行一項大量發佈操作,而且每 24 小時內只能有一次成功的大量發佈請求。