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,然後 Kinesis 會串流至諸如 Amazon Redshift 的資料倉儲工具,供進一步分析。若要進一步了解 Kinesis,請參閱 Amazon Kinesis 入門

設定串流

您可以在 Amazon Cognito 主控台中設定 Amazon Cognito 串流。若要在 Amazon Cognito 主控台中啟用 Amazon Cognito 串流,您需要選取 Kinesis 串流 (發佈的目標),以及 IAM 角色 (授予將事件放在所選串流中的 Amazon Cognito 許可)。

主控台首頁

  1. 針對要設定 Amazon Cognito 串流的身分集區,按一下其名稱。該身分集區的 Dashboard (儀表板) 頁面隨即出現。

  2. Dashboard (儀表板) 頁面右上角,按一下 Manage Identity Pools (管理身分集區)。Manage Federated Identities (管理聯合身分) 頁面隨即出現。

  3. 向下捲動,然後按一下 Cognito Streams (Cognito 串流) 將其展開。

  4. Stream name (串流名稱) 下拉式選單中,選取現有 Kinesis 串流的名稱。或者,按一下 Create stream (建立串流),輸入串流名稱和碎片數量,以建立串流。若要了解碎片並取得預估串流所需碎片數量的協助,請參閱 Kinesis 開發人員指南

  5. Publish role (發佈角色) 下拉式選單中,選取授予 Amazon Cognito 許可的 IAM 角色來發佈串流。按一下 Create role (建立角色),在 AWS IAM 主控台中建立或修改與身分集區相關聯的角色。

  6. 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 Simple Storage Service (Amazon S3) URL,其中包含更新的完整內容。

設定 Amazon Cognito 串流之後,如果您刪除 Kinesis 串流或變更角色信任許可,導致 Amazon Cognito Sync 無法繼續擔任該角色,您就關閉了 Amazon Cognito 串流。您必須重新建立 Kinesis 串流或修復角色,然後必須重新開啟串流。

大量發佈

設定 Amazon Cognito 串流之後,您就可以為身分集區中的現有資料執行大量發佈操作。啟動大量發佈操作 (透過主控台或直接透過 API 皆可) 之後,Amazon Cognito 會開始將此資料發佈至接收您的更新的相同串流。

使用大量發佈操作時,Amazon Cognito 不保證傳送至串流的資料唯一性。您可能會同時從更新和大量發佈的一部分收到相同的更新。在處理來自串流的記錄時,請記得這一點。

若要大量發佈您的所有串流,請按照「設定串流」下的步驟 1-6 操作,然後按一下 Start bulk publish (開始大量發佈)。您一次只能進行一項大量發佈操作,而且每 24 小時內只能有一次成功的大量發佈請求。