Bagaimana untuk menulis unmarshaller tersuai untuk AWS ION?

WBOY
Lepaskan: 2024-02-09 11:39:17
ke hadapan
1144 orang telah melayarinya

如何为 AWS ION 编写自定义解组器?

editor php Xigua akan memperkenalkan anda cara menulis penghurai tersuai untuk AWS ION. AWS ION ialah format data sumber terbuka untuk memproses data berskala besar dengan keupayaan storan dan pemindahan yang cekap. Penghurai tersuai dibangunkan untuk memenuhi keperluan khusus dan mampu menukar data ION ke dalam format tertentu. Menulis penghurai tersuai memerlukan pemahaman struktur data dan peraturan penghuraian ION, serta menguasai teknik pengaturcaraan yang berkaitan. Artikel ini akan memperkenalkan secara terperinci cara menulis penghurai tersuai dan menyediakan kes praktikal untuk rujukan. Sama ada anda seorang pemula atau pembangun berpengalaman, anda boleh mendapatkan bantuan dan bimbingan.

Kandungan soalan

Saya menggunakan ion amazon untuk data marshal dan demarshal yang diterima daripada pelbagai perkhidmatan aws.

Saya perlu menulis fungsi unmarshalling tersuai dan saya menemui contoh cara melaksanakannya dalam dokumentasi rasmi amazon ion, lihat di sini

Menggunakan contoh di atas, saya menulis kod berikut:

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)
}
Salin selepas log masuk

Masalah: Kod di atas tidak berfungsi seperti yang diharapkan. Fungsi unmarshalion tidak dipanggil, tetapi mengikut dokumentasi ia sepatutnya. Apa yang saya buat salah?

Penyelesaian

Anda mungkin menggunakan v1.1.3, yang tidak menyertakan ciri ini secara lalai.

Atas ialah kandungan terperinci Bagaimana untuk menulis unmarshaller tersuai untuk AWS ION?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!