首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将我的结构放到PutRecordInput中,以便在锈蚀中运行AWS?

如何将我的结构放到PutRecordInput中,以便在锈蚀中运行AWS?
EN

Stack Overflow用户
提问于 2020-05-12 20:20:56
回答 1查看 334关注 0票数 0

我对Rust非常陌生,并试图获得一些代码工作,可以推动一个记录到一个运动消防软管流。

代码语言:javascript
复制
struct AuditRecord{
    user_id : String,
    request : Value,
    request_id : String,
    timestamp_raw : i64,
}
...
let client = KinesisClient::new(Region::UsEast1);
let record = PutRecordInput{
    partition_key : requestId.to_string(),
    stream_name : streamName,
    data : auditRecord
};

当我尝试这样做时,它想要data in bytes::bytes::Bytes,但我不清楚如何将我的结构转换为bytes::bytes::Bytes表示。任何如何进行这方面的例子都将不胜感激。

为了澄清我用的

代码语言:javascript
复制
rusoto = "0.24.2"
rusoto_kinesis = "0.43.0"
rusoto_core = "0.43.0"

另外,如果有人知道一个很好的地方,可以看到如何使用rusoto与各种AWS实体进行交谈的实例,这将是值得赞赏的。

EN

回答 1

Stack Overflow用户

发布于 2020-08-29 05:03:09

正如其他人所说,这确实取决于您对序列化的选择。如果您选择了像xml或json这样的基于字符串的编码,那么您可以使用以下内容:

代码语言:javascript
复制
let msg: String = "some message".to_string();

let record = PutRecordInput{
    partition_key : requestId.to_string(),
    stream_name : streamName,
    data : msg.into()
};

// or it could be 
let record = PutRecordInput{
    partition_key : requestId.to_string(),
    stream_name : streamName,
    data : Bytes::from(msg)
};

将“一些信息”替换为您选择的字符串绝育。

虽然从技术上讲,使用一些二进制编码(如protobuf或其他东西)通常要紧凑得多,但另一方面的任何内容都必须能够解释格式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61761212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档