Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 在到达s3之前,如何解密kinesis中的数据_Amazon S3_Amazon Kinesis - Fatal编程技术网

Amazon s3 在到达s3之前,如何解密kinesis中的数据

Amazon s3 在到达s3之前,如何解密kinesis中的数据,amazon-s3,amazon-kinesis,Amazon S3,Amazon Kinesis,我目前有一个体系结构,我的kinesis->kinesis firehouse->s3 我使用以下方法直接在kinesis中创建记录: aws kinesis put-record --stream-name <some_kinesis_stream> --partition-key 123 --data testdata --profile sandbox 但在s3中,它看起来像: `testdatatestdatatestdatatestdatatestdatatestdat

我目前有一个体系结构,我的
kinesis->kinesis firehouse->s3

我使用以下方法直接在kinesis中创建记录:

 aws kinesis put-record --stream-name <some_kinesis_stream> --partition-key 123 --data testdata --profile sandbox
但在s3中,它看起来像:

`testdatatestdatatestdatatestdatatestdatatestdatatestdatatestdata`
因为我查了好几次记录


那么到底发生了什么?当我运行
get records
时,我将获取哪些记录?这些数据是什么?如何将这些数据解密为我的原始字符串?发生了什么事?

您似乎已将消防软管配置为启用服务器端数据加密。如果是这种情况,则以下情况适用:

当您将Kinesis数据流配置为Kinesis data Firehose传送流的数据源时,Kinesis data Firehose不再在静止状态下存储数据。相反,数据存储在数据流中

当您将数据从数据生产者发送到数据流时,Kinesis data Streams会使用AWS密钥管理服务(AWS KMS)密钥对数据进行加密,然后再将数据存储在静止状态。当您的Kinesis Data Firehose交付流从数据流中读取数据时,Kinesis Data Streams首先解密数据,然后将其发送到Kinesis Data Firehose。Kinesis Data Firehose根据指定的缓冲提示缓冲内存中的数据。然后,它将数据发送到您的目的地,而不在静止状态下存储未加密的数据


更多信息请访问:

15天了,希望您已经找到了答案

如果不是,那么您在
get records
和S3中看到的数据不匹配的原因似乎是基于您执行
aws kinesis get records--shard迭代器--profile sandbox
调用的方式,您没有显式提供shard迭代器值

根据您的
--data testdata
put record
调用,您在S3中看到的是正确的和预期的。
testdatatestdatatestdatatestdata

你在运动中看到的是base64编码:

“数据”:"EYJRZXKIONSIZW1WX25VIJO1MJC2OCWIZGVWDF9UBYI6IMQWMDUIfWIIfMV3JlijpudWXBfBfBfBm8Iojuynzy4LCJKZBxB0x25VijoizDawnsisimzyB21FZGF0ZI6NZW9FZZZZI6JZM0SI6JZZZM6JJZZZZZZZZZZZM9UIJZI6EyJ2ZZZZZZZZZZZZZZZZZZZZZZZZJ9UIZI5JJJJJJJJZI5JJJJJJZI5JZI5JJJJZI5JJJJZI5JJJJJJJZI5JZI5JJJZI5JJJZI5JJJ2LJJJC1IAW4TY2HHBMDLBG9NLJAWMDAWMIISINBJYB3CIOJASINOYXBZAG90IJP0CNVLLCJ0AHJLYWQIOM51BGWSIMRIIJOIZW1WBG95ZWZVZIWIDGIBGUIJKZXB0X2VTCCISINF1ZXJ5IJPUDWXSWIB3AIIJIWIIDFBHNIOJE1NJM4MZEZMTI2NJJ9FQ=”,

所以解码让你:
{
“关键”:
{
“环境管理计划编号”:52768,
“部门编号”:“d005”
},
“价值”:
{
“之前”:空,
“之后”:
{
“环境管理计划编号”:52768,
“部门编号”:“d005”,
“起始日期”:7965,
“截止日期”:2932531
},
“来源”:
{
“版本”:“0.9.5.最终版”,
“连接器”:“mysql”,
“名称”:“运动”,
“服务器id”:0,
“秒”:0,
“gtid”:空,
“文件”:“mysql bin changelog.000002”,
“pos”:154,
“行”:0,
“快照”:正确,
“线程”:空,
“db”:“员工”,
“表”:“部门环境管理计划”,
“查询”:空
},
“op”:“c”,
“ts_ms”:15638312668
}
}

它与您的“testdata”不匹配的原因是,您查找的碎片迭代器可能是错误的碎片。不确定您的kinesis设置到底是什么

对本文进行一次检查,。应该为您提供测试此工作流的步骤

`testdatatestdatatestdatatestdatatestdatatestdatatestdatatestdata`