Bagaimana untuk Menyokong Pelbagai Pencetus dalam AWS Lambda dengan Go?

Patricia Arquette
Lepaskan: 2024-11-03 02:26:02
asal
421 orang telah melayarinya

How to Support Multiple Triggers in AWS Lambda with Go?

Menyokong Pelbagai Pencetus dalam AWS Lambda dengan Go

Mencipta fungsi AWS Lambda yang boleh bertindak balas kepada berbilang pencetus adalah keperluan biasa. Artikel ini meneroka cara untuk mencapai perkara ini dalam Go menggunakan SDK AWS.

Percubaan Gagal

Pada mulanya, dua percubaan telah dibuat untuk mendayakan berbilang pencetus:

  • Mentakrifkan Pengendali Acara Berasingan:

    • lambda.Start(ProcessIncomingS3Events)
    • lambda.Start(ProcessIncomingEvents)>
    • Walau bagaimanapun, semua pencetus dipanggil ProcessIncomingS3Events.
  • Menukar Jenis Acara:

      lambda.Start(ProcessIncomingEvents)
    • ProcessIncomingEvents(antara muka acara{})
    • Pendekatan ini mengembalikan "Tidak dapat mencari jenis acara" untuk semua pencetus.

Penyelesaian: Laksanakan Antara Muka Pengendali AWS

Antara muka Pengendali AWS menyediakan cara untuk mengendalikan berbilang acara dengan satu fungsi Lambda. Ia mentakrifkan kaedah Invoke, yang menerima data peristiwa mentah dan mengembalikan respons.

Contoh pelaksanaan yang mengendalikan pelbagai acara dibentangkan di bawah:

<code class="go">import (
    "context"
    "encoding/json"
    "github.com/aws/aws-lambda-go/events"
    "log"
)

type Handler struct {}

func (h Handler) Invoke(ctx context.Context, data []byte) ([]byte, error) {
    // Create and unmarshal event objects
    apiGatewayEvent := new(events.APIGatewayProxyRequest)
    json.Unmarshal(data, apiGatewayEvent)

    snsEvent := new(events.SNSEvent)
    json.Unmarshal(data, snsEvent)

    // Handle events as needed

    return nil, nil
}

func main() {
    lambda.StartHandler(Handler{})
}</code>
Salin selepas log masuk

Pertimbangan

Walaupun menyokong pelbagai pencetus dalam Lambda adalah mungkin, adalah penting untuk menggunakannya dengan bijak. Lambdas direka untuk mengendalikan jenis acara tertentu dengan cekap. Mencampurkan pelbagai jenis acara memerlukan pertimbangan yang teliti dan boleh menjejaskan prestasi serta kebolehpercayaan.

Atas ialah kandungan terperinci Bagaimana untuk Menyokong Pelbagai Pencetus dalam AWS Lambda dengan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
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!