Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS AppSync target untuk aturan di Amazon EventBridge
AWS AppSync memungkinkan pengembang untuk menghubungkan aplikasi dan layanan mereka ke data dan acara dengan GraphQL dan API yang aman, tanpa server, dan berkinerja tinggi. Pub/Sub Dengan AWS AppSync, Anda dapat mempublikasikan pembaruan data real-time ke aplikasi Anda dengan mutasi GraphQL. EventBridge mendukung pemanggilan operasi mutasi GraphQL yang valid untuk peristiwa yang cocok. Saat Anda menentukan mutasi AWS AppSync API sebagai target, mem AWS AppSync proses peristiwa melalui operasi mutasi, yang kemudian dapat memicu langganan yang terkait dengan mutasi.
catatan
EventBridge mendukung GraphQL API AWS AppSync publik. EventBridge saat ini tidak mendukung API AWS AppSync Pribadi.
Anda dapat menggunakan target AWS AppSync GraphQL API untuk kasus penggunaan berikut:
Untuk mendorong, mengubah, dan menyimpan data acara ke sumber data yang dikonfigurasi.
Untuk mengirim notifikasi real-time ke klien aplikasi yang terhubung.
catatan
AWS AppSync target hanya mendukung pemanggilan AWS AppSync GraphQL API menggunakan jenis AWS_IAM otorisasi.
Untuk informasi selengkapnya tentang AWS AppSync GraphQL API, lihat GraphQL dan AWS AppSync arsitektur di Panduan Peng AWS AppSync embang.
Untuk menentukan AWS AppSync target untuk EventBridge aturan menggunakan konsol
Di bawah Target, tentukan target dengan memilih AWS layanan dan kemudian AWS AppSync.
Tentukan operasi mutasi yang akan diurai dan dieksekusi, bersama dengan set seleksi.
Pilih AWS AppSync API, dan kemudian mutasi GraphQL API untuk dipanggil.
Di bawah Konfigurasi parameter dan set pemilihan, pilih untuk membuat set pilihan menggunakan pemetaan nilai kunci atau transformator input.
Untuk Peran eksekusi, pilih apakah akan membuat peran baru atau menggunakan peran yang sudah ada.
Selesaikan pembuatan atau pengeditan aturan.
Contoh: AWS AppSync target untuk Amazon EventBridge
Dalam contoh berikut, kita akan membahas cara menentukan AWS AppSync target untuk EventBridge aturan, termasuk mendefinisikan transformasi input untuk memformat peristiwa untuk pengiriman.
Misalkan Anda memiliki AWS AppSync GraphQL API,Ec2EventAPI, yang ditentukan oleh skema berikut:
type Event { id: ID! statusCode: String instanceId: String } type Mutation { pushEvent(id: ID!, statusCode: String!, instanceId: String): Event } type Query { listEvents: [Event] } type Subscription { subscribeToEvent(id: ID, statusCode: String, instanceId: String): Event @aws_subscribe(mutations: ["pushEvent"]) }
Klien aplikasi yang menggunakan API ini dapat berlangganan subscribeToEvent langganan, yang dipicu oleh pushEvent mutasi.
Anda dapat membuat EventBridge aturan dengan target yang mengirimkan peristiwa ke AppSync API melalui pushEvent mutasi. Ketika mutasi dipanggil, setiap klien yang berlangganan akan menerima acara tersebut.
Untuk menentukan API ini sebagai target EventBridge aturan, Anda akan melakukan hal berikut:
Setel Nama Sumber Daya Amazon (ARN) dari target aturan ke titik akhir GraphQL ARN
Ec2EventAPIAPI.Tentukan mutasi Operasi GraphQL sebagai parameter target:
mutation CreatePushEvent($id: ID!, $statusCode: String, $instanceId: String) { pushEvent(id: $input, statusCode: $statusCode, instanceId: $instanceId) { id statusCode instanceId } }Kumpulan pilihan mutasi Anda harus menyertakan semua bidang yang ingin Anda berlangganan dalam langganan GraphQL Anda.
Konfigurasikan transformator input untuk menentukan bagaimana data dari peristiwa yang cocok digunakan dalam operasi Anda.
Misalkan Anda memilih acara
“EC2 Instance Launch Successful”sampel:{ "version": "0", "id": "3e3c153a-8339-4e30-8c35-687ebef853fe", "detail-type": "EC2 Instance Launch Successful", "source": "aws.autoscaling", "account": "123456789012", "time": "2015-11-11T21:31:47Z", "region": "us-east-1", "resources": ["arn:aws:autoscaling:us-east-1:123456789012:autoScalingGroup:eb56d16b-bbf0-401d-b893-d5978ed4a025:autoScalingGroupName/sampleLuanchSucASG", "arn:aws:ec2:us-east-1:123456789012:instance/i-b188560f"], "detail": { "StatusCode": "InProgress", "AutoScalingGroupName": "sampleLuanchSucASG", "ActivityId": "9cabb81f-42de-417d-8aa7-ce16bf026590", "Details": { "Availability Zone": "us-east-1b", "Subnet ID": "subnet-95bfcebe" }, "RequestId": "9cabb81f-42de-417d-8aa7-ce16bf026590", "EndTime": "2015-11-11T21:31:47.208Z", "EC2InstanceId": "i-b188560f", "StartTime": "2015-11-11T21:31:13.671Z", "Cause": "At 2015-11-11T21:31:10Z a user request created an AutoScalingGroup changing the desired capacity from 0 to 1. At 2015-11-11T21:31:11Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 1." } }Anda dapat menentukan variabel berikut untuk digunakan dalam template Anda, menggunakan jalur input transformator input target:
{ "id": "$.id", "statusCode": "$.detail.StatusCode", "EC2InstanceId": "$.detail.EC2InstanceId" }Tulis templat transformator input untuk menentukan variabel yang EventBridge diteruskan ke operasi AWS AppSync mutasi. Template harus dievaluasi ke JSON. Mengingat jalur input kami, Anda dapat membuat template berikut:
{ "id": <id>, "statusCode": <statusCode>, "instanceId": <EC2InstanceId> }