这与通过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路径本身视为数据字符串。
任何帮助将不胜感激。提前致谢
Kinesis Streams使你可以编写不透明的数据块。该室壁运动PutRecord
API(这是什么AWS CLIkinesis put-record
命令调用)希望你给它的数据的一个blob。如果数据存储在S3中,则你有责任加载该数据以发送到Kinesis。
处理“大”数据时,常见的Kinesis模式是将实际数据放入其他存储系统(S3是一个很好的例子),然后将该数据的“位置”(在本例中为S3路径)写入Kinesis。使用Kinesis Streams,你往返Kinesis的吞吐量(和成本)直接受到读/写数据量的影响。当然,这需要发布者和使用者之间就消息的确切格式(和语义)进行协调。在这种情况下,你应该查看消费者期望消息格式的内容。
但是这里的故事的寓意是,Kinesis(和CLI的put-record
)将准确地放置/编写你所提供的内容。
嗨,亚当。感谢您的回应。
@nagasatishchilakamarti,您好:-如果您觉得有用的答案,请随时给它一个赞,但更重要的是,如果它成功回答了您的问题,请确保将其标记为“已接受”答案。