如何为 AWS ION 编写自定义解组器?
短信预约 -IT技能 免费直播动态提醒
php小编西瓜为您介绍如何为AWS ION编写自定义解析器。AWS ION是一种用于处理大规模数据的开源数据格式,具有高效的存储和传输能力。自定义解析器是为了满足特定需求而开发的,能够将ION数据转化为特定格式。编写自定义解析器需要了解ION的数据结构和解析规则,以及掌握相关编程技术。本文将详细介绍如何编写自定义解析器,并提供实际案例供参考。无论您是初学者还是有一定经验的开发者,都能从中获得帮助和指导。
问题内容
我正在使用 amazon ion 来编组和解编从各种 aws 服务接收的数据。
我需要编写一个自定义解组函数,我在 amazon ion 的官方文档中找到了如何实现此功能的示例,请参阅此处
使用上面的示例,我编写了以下代码:
package main
import (
"bytes"
"fmt"
"github.com/amzn/ion-go/ion"
)
func main() {
UnmarshalCustomMarshaler()
}
type unmarshalMe struct {
Name string
custom bool
}
func (u *unmarshalMe) UnmarshalIon(r ion.Reader) error {
fmt.Print("UnmarshalIon called")
u.custom = true
return nil
}
func UnmarshalCustomMarshaler() {
ionBinary, err := ion.MarshalBinary(unmarshalMe{
Name: "John Doe",
})
if err != nil {
fmt.Println("Error marshalling ion binary: ", err)
panic(err)
}
dec := ion.NewReader(bytes.NewReader(ionBinary))
var decodedResult unmarshalMe
ion.UnmarshalFrom(dec, &decodedResult)
fmt.Println("Decoded result: ", decodedResult)
}
问题:以上代码无法按预期工作。 unmarshalion 函数未被调用,但根据文档应该被调用。我做错了什么?
解决方法
您可能使用的是 v1.1.3,默认情况下不包含该功能。
以上就是如何为 AWS ION 编写自定义解组器?的详细内容,更多请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341