Amazon web services AWS Kinesis:事件编码/加密中的用户地址

Amazon web services AWS Kinesis:事件编码/加密中的用户地址,amazon-web-services,aws-lambda,amazon-kinesis,aws-amplify,aws-pinpoint,Amazon Web Services,Aws Lambda,Amazon Kinesis,Aws Amplify,Aws Pinpoint,在我的移动应用程序中,我使用发送有关用户操作(屏幕视图、按钮点击、滑动等)的信息,然后通过这些信息将用户的操作反馈到一个数据库中。我创建了一个Python3函数,用于侦听此数据流中的事件 由于出色的文档,安装过程非常轻松,一切都很顺利-除了一件事: 当用户登录时,我使用用户ID、电子邮件地址和其他一些属性更新Pinpoint。在lambda函数中,Ibase64-如中所示解码事件负载,示例事件负载大致如下所示: { "event_type": "_session.start",

在我的移动应用程序中,我使用发送有关用户操作(屏幕视图、按钮点击、滑动等)的信息,然后通过这些信息将用户的操作反馈到一个数据库中。我创建了一个Python3函数,用于侦听此数据流中的事件

由于出色的文档,安装过程非常轻松,一切都很顺利-除了一件事:

当用户登录时,我使用用户ID、电子邮件地址和其他一些属性更新Pinpoint。在lambda函数中,I
base64
-如中所示解码事件负载,示例事件负载大致如下所示:

{
    "event_type": "_session.start",
    "event_timestamp": 1572345161558,
    "application": {
        "app_id": "<some app ID>",
        "cognito_identity_pool_id": "us-east-1:<some pool ID>",
        "sdk": {},
        "version_name": "<the app version I put in using updateEndpoint(...)>"

       ... <snipped for brevity> ...

    },
    "attributes": {},
    "endpoint": {
        "ChannelType": "APNS",
        "Address": "=ABAQRuUDJD ... <some longish binary value> j0eL+69lsY=",
        "EndpointStatus": "ACTIVE",
        "Location": {
            "Country": "US"
        },
        "Demographic": {
            "Make": "iPhone",
            "Model": "iPhone X",
            "ModelVersion": "13.1.3",
              ...
            "Platform": "ios"
        },
        "User": {
            "UserId": "us-east-1:<Cognito ID of the user that logged in>",
            "UserAttributes": {}
        },

        ... <snipped for brevity> ...

    },
    "awsAccountId": "<my account ID>"
}
{
“事件类型”:“会话.启动”,
“事件时间戳”:1572345161558,
“申请”:{
“应用程序id”:“,
“cognito_identity_pool_id”:“us-east-1:”,
“sdk”:{},
“版本名称”:”
...  ...
},
“属性”:{},
“端点”:{
“信道类型”:“APNS”,
“地址”:“=ABAQRuUDJD…j0eL+69lsY=”,
“端点状态”:“活动”,
“地点”:{
“国家”:“美国”
},
“人口统计”:{
“制造”:“iPhone”,
“型号”:“iPhone X”,
“模型版本”:“13.1.3”,
...
“平台”:“ios”
},
“用户”:{
“用户ID”:“us-east-1:”,
“用户属性”:{}
},
...  ...
},
“awsAccountId”:”
}
上述
“address”
字段中的用户电子邮件地址在Kinesis数据流事件中不是以纯文本形式包含的,而是以某种方式进行编码(或加密?)

我的问题:有人能告诉我它是如何编码/加密的吗?理想情况下,如何获取纯文本地址

我试图
base64
-用我的默认密钥(及其组合)对其进行解码或解密,但没有成功

或者,我可以使用(纯文本)用户ID在用于管理auth&auth的用户池中查找电子邮件地址,但直接从事件中获取电子邮件地址显然要简单得多


我上下搜索过网络,在AWS Amplify频道上问过,但是
地址
编码/加密似乎在任何地方都没有记录…

我对AWS真的是个新手,但我会把“地址”理解为(不透明的)端点地址,而不是用户电子邮件地址。您确定这是电子邮件地址的编码吗?地址的实际值取决于用于向用户发送精确定位通知的渠道,例如电子邮件地址或移动电话号码;参见例如(本页下半页)。我半肯定它是一个编码的电子邮件地址,因为这是我在
分析中作为
地址输入的。updateEndpoint(…)
()我在AWS方面确实是一个新手,但我会将“address”读作一个(不透明的)端点地址,而不是用户电子邮件地址。您确定这是电子邮件地址的编码吗?地址的实际值取决于用于向用户发送精确定位通知的渠道,例如电子邮件地址或移动电话号码;参见例如(本页下半页)。我有一半的把握它是一个编码的电子邮件地址,因为这是我在
Analytics.updateEndpoint(…)
()中作为
地址输入的