【问题标题】:query on aws kinesis put-record through cli通过cli查询aws kinesis put-record
【发布时间】: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 作为数据。

我怎样才能把一个 csv 文件放在 s3 中

例如:

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 路径本身视为数据字符串。

我们将不胜感激。提前致谢

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-kinesis


    【解决方案1】:

    Kinesis Streams 可让您编写不透明的数据块。 Kinesis PutRecord API(这是 AWS CLI kinesis put-record 命令调用的内容)希望您给它一个数据块。如果数据存储在 S3 中,则您有责任加载该数据以发送到 Kinesis。

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

    但这里故事的寓意是 Kinesis(以及 CLI 的 put-record)将准确地输入/写入您提供的内容。

    【讨论】:

    • 嗨,亚当。感谢您的回复。
    • 嗨@nagasatishchilakamarti - 如果您发现一个有用的答案,请随时给它一个upvote,但更重要的是,如果它成功回答了您的问题,请务必将其标记为“已接受”答案。
    猜你喜欢
    • 1970-01-01
    • 2020-10-29
    • 2019-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-26
    • 1970-01-01
    相关资源
    最近更新 更多