Warm tip: This article is reproduced from serverfault.com, please click

amazon web services-通过cli查询aws运动学记录

(amazon web services - query on aws kinesis put-record through cli)

发布于 2020-11-29 05:39:14

这与通过AWS CLI的aws kinesis put-record命令有关。

我可以使用kinesis cli输入文本数据。

aws kinesis put-record --cli-binary-format raw-in-base64-out --stream-name NagaTZeusTestStream --partition-key 1 --data 2 --region  us-west-2

这里的数据是2

但是我怎样才能将csv文件代替2作为数据。

以及如何将s3中的csv文件放入

例如 :

aws kinesis put-record --cli-binary-format raw-in-base64-out --stream-name NagaTZeusStream --partition-key 1 --data s3://cona-sample-salesforce-data/testdata/ --region  us-west

在这种情况下,应该将s3存储桶中的文件csv文件作为数据记录上传,但kinesis会将s3路径本身视为数据字符串。

任何帮助将不胜感激。提前致谢

Questioner
nagasatish chilakamarti
Viewed
11
Adam Batkin 2020-11-29 13:47:44

Kinesis Streams使你可以编写不透明的数据块。室壁运动PutRecordAPI(这是什么AWS CLIkinesis put-record命令调用)希望你给它的数据的一个blob。如果数据存储在S3中,则你有责任加载该数据以发送到Kinesis。

处理“大”数据时,常见的Kinesis模式是将实际数据放入其他存储系统(S3是一个很好的例子),然后将该数据的“位置”(在本例中为S3路径)写入Kinesis。使用Kinesis Streams,你往返Kinesis的吞吐量(和成本)直接受到读/写数据量的影响。当然,这需要发布者和使用者之间就消息的确切格式(和语义)进行协调。在这种情况下,你应该查看消费者期望消息格式的内容。

但是这里的故事的寓意是,Kinesis(和CLI的put-record)将准确地放置/编写你所提供的内容。