Buat fungsi sinkron
1. Buat fungsi Function Compute
1.1 Buat layanan
Buka Konsol Web Function Compute dan buat layanan. Jika Anda telah membuat layanan, lewati langkah ini.
1.2 Buat fungsi
Untuk membuat fungsi dalam layanan yang baru saja dibuat, klik Create Function dan masukkan kode Anda. Untuk informasi selengkapnya, lihat Function overview. Pada halaman Triggers, klik Skip, lalu klik Finish.
2. Otorisasi role terkait layanan
Saat Anda memilih metode akun sementara Security Token Service (STS), sebuah Service-linked role for DataHub akan dibuat secara otomatis. Layanan DataHub menggunakan role ini untuk mengakses FC guna melakukan sinkronisasi data.
3. Buat topik DataHub
Untuk informasi selengkapnya, lihat Get started with DataHub synchronization.
4. Buat konektor DataHub Function Compute
4.1 Buka halaman detail topik
4.2 Buat konektor FC
4.3 Masukkan informasi konfigurasi
Endpoint: Titik akhir layanan Function Compute. Anda harus menentukan titik akhir layanan internal dalam format
https://<account_id>.fc.<region>.aliyuncs.com. Contohnya, titik akhir Function Compute di wilayah China (Shanghai) adalahhttps://12423423992.fc.cn-shanghai-internal.aliyuncs.com. Untuk informasi selengkapnya, lihat Service endpoints.Service: Nama layanan Function Compute tujuan.
Function: Nama fungsi Function Compute tujuan.
Start Time: Posisi dalam topik DataHub tempat pemanggilan fungsi dimulai.
5. Definisi Struktur Event
Data yang dikirim ke Function Compute memiliki struktur sebagai berikut:
{
"eventSource": "acs:datahub",
"eventName": "acs:datahub:putRecord",
"eventSourceARN": "/projects/test_project_name/topics/test_topic_name",
"region": "cn-hangzhou",
"records": [
{
"eventId": "0:12345",
"systemTime": 1463000123000,
"data": "[\"col1's value\",\"col2's value\"]"
},
{
"eventId": "0:12346",
"systemTime": 1463000156000,
"data": "[\"col1's value\",\"col2's value\"]"
}
]
}Di mana:
eventSource: Sumber event. Ini adalah string tetap
acs:datahub.eventName: Nama event. Untuk data dari DataHub, nama event-nya adalah
acs:datahub:putRecord.eventSourceARN: Pengidentifikasi sumber event. Berisi nama proyek dan topik DataHub, seperti
/projects/test_project_name/topics/test_topic_name.region: Wilayah tempat layanan DataHub sumber berada, seperti
cn-hangzhou.records: Daftar catatan yang terdapat dalam event tersebut.
eventId: ID catatan. Formatnya adalah
shardId:SequenceNumber.systemTime: Stempel waktu UNIX dalam milidetik saat event disimpan di DataHub.
data: Konten data event. Untuk topik Tuple, bidang ini berupa daftar. Setiap elemen dalam daftar adalah string yang sesuai dengan nilai suatu bidang dalam topik. Untuk topik BLOB, bidang ini berupa string.
6. Catatan
Nama domain layanan harus berupa nama domain internal layanan. Nama layanan Function Compute dan nama fungsi tersebut harus sudah ada.
DataHub hanya mendukung pemanggilan fungsi dalam mode sinkron guna memastikan urutan pemrosesan data.
Jika fungsi mengalami error pada waktu proses, DataHub mencoba ulang tugas setelah 1 detik dan menangguhkan tugas tersebut jika gagal sebanyak 512 kali.
Anda dapat melihat status tugas yang sedang berjalan, poin, pesan error terperinci, dan informasi lainnya di Konsol Web.