Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bekerja dengan acara di Oracle Cloud Infrastructure Bagian 1:dasar-dasar layanan

Acara Infrastruktur Oracle Cloud adalah layanan yang memungkinkan Anda untuk membuat beberapa otomatisasi berdasarkan perubahan status dalam suatu layanan, atau mungkin berdasarkan semacam input yang diterima. Sekarang, mundur selangkah, dan Acara adalah terjadinya situasi tertentu. Agar situasi ini berguna, peristiwa harus disertai dengan beberapa jenis informasi, misalnya, nama instance, nama objek, kode status, dll. Informasi tersebut dapat memberikan otomatisasi sesuatu untuk dikerjakan.

Acara adalah dasar dari arsitektur tanpa server, terkadang juga disebut arsitektur yang digerakkan oleh peristiwa . Selain itu, peristiwa sangat penting untuk arsitektur perangkat lunak kontemporer karena memungkinkan untuk memisahkan layanan, membantu membuat panggilan asinkron perangkat lunak dan memfasilitasi proses penskalaan.

Contoh arsitektur yang digerakkan oleh peristiwa:

  • Anda mengembangkan aplikasi pemrosesan gambar .
  • Setiap kali gambar baru diunggah ke keranjang itu akan memicu peristiwa .
  • Acara ini memanggil fungsi yang mengambil gambar itu dan membuat thumbnail darinya .
  • Gambar mini disimpan di ember lain.
  • Ini memicu peristiwa lain yang mengirimkan pemberitahuan email kepada klien.

CATATAN Fungsi OCI adalah solusi tanpa server dari OCI, yang memungkinkan Anda menjalankan perangkat lunak tujuan tunggal tanpa menyediakan perangkat keras atau VM, perangkat lunak berjalan berdasarkan suatu acara atau pekerjaan terjadwal, seperti memiliki fungsi sebagai layanan. Lainnya dari Fungsi DI SINI

Kembali ke Acara OCI, beberapa karakteristik penting adalah:

  • Layanan acara menggunakan objek JSON untuk menentukan aturan acara . Anda dapat memikirkan aturan seperti filter yang akan menentukan acara mana yang penting untuk dipertimbangkan, untuk menentukan apa yang akan menjadi masukan Anda. Pada dasarnya, Aturan memicu tindakan . Contoh logika aturan dapat berupa:
MATCH event WHERE (
  eventType EQUALS ANY OF (
  com.oraclecloud.computeapi.launchinstance.end
  )
)

Peristiwa ini akan dipicu saat instance komputasi baru dibuat

Tapi...

Di mana bagian JSON??
Pada acara itu sendiri, mari kita lihat contoh acara:

{
  "eventType": "com.oraclecloud.computeapi.launchinstance.end",
  "cloudEventsVersion": "0.1",
  "eventTypeVersion": "2.0",
  "source": "ComputeApi",
  "eventTime": "2019-08-16T12:07:42.794Z",
  "contentType": "application/json",
  "data": {
    "compartmentId": "ocid1.compartment.oc1..unique_ID",
    "compartmentName": "example_compartment",
    "resourceName": "my_instance",
    "resourceId": "ocid1.instance.oc1.phx.unique_ID",
    "availabilityDomain": "availability_domain",
    "additionalDetails": {
      "imageId": "ocid1.image.oc1.phx.unique_ID",
      "shape": "VM.Standard2.1",
      "type": "CustomerVmi"
    }
  },
  "eventID": "unique_ID",
  "extensions": {
    "compartmentId": "ocid1.compartment.oc1..unique_ID"
  }
}

Ini adalah contoh instance yang baru saja dibuat, dan akan memicu acara.

  • Anda dapat menambahkan ketentuan atau filter untuk mempersempit acara Anda lebih jauh .

Selama konfigurasi aturan acara, Anda dapat menambahkan beberapa atribut untuk menyaring lebih lanjut hasil Anda

Pada contoh ini kami memfilter hasil dari jenis acara, untuk perubahan hanya di Sandbox dan dev kompartemen, seluruh logika terlihat seperti:

MATCH event WHERE (
  eventType EQUALS ANY OF (
  com.oraclecloud.computeapi.launchinstance.end
  )
  AND (
  compartmentName MATCHES ANY OF (
  Sandbox,
  dev
  )
 )
)

Selain ini, kami dapat menambahkan Kondisi filter berdasarkan Tag

MATCH event WHERE (
  eventType EQUALS ANY OF (
  com.oraclecloud.computeapi.launchinstance.end
  )
  AND (
  compartmentName MATCHES ANY OF (
  Sandbox,
  dev
  )
  definedTags INCLUDES ANY OF (
  Oracle-Tags.CreatedBy.elopez
  )
 )
)

Secara visual sesuatu seperti:

Pada dasarnya acara ini akan dipicu setiap kali sebuah instance diluncurkan di Sandbox ATAU pengembang kompartemen oleh pengguna elopez .

  • Aturan yang paling menentukan dan tindakan .

Tujuan utama dari aturan adalah untuk memprovokasi sesuatu ketika mereka dipicu, jika tidak, tidak akan berguna.

Tindakan adalah respons yang ditentukan untuk kecocokan peristiwa

Tindakan dapat dibuat menggunakan:
Pemberitahuan kirim pesan ke layanan notifikasi yang dapat mengirimkannya ke titik akhir yang berlangganan topik

Ini bisa berupa:alamat email, grup email, saluran slack, dll.

Streaming menggunakan layanan ini, Anda akan memasukkan peristiwa Anda ke dalam aliran data untuk mendapatkan analisis dan kecerdasan lebih lanjut atas data ini.

Fungsi fungsi dapat dijalankan berdasarkan peristiwa yang diterima. Contoh cepat:

Anda dapat memiliki peristiwa yang dipicu setiap kali instance baru dibuat dan ini akan menjalankan fungsi yang mengonfigurasi pemantauan untuk instance baru tersebut.

  • Anda perlu menambahkan izin agar layanan Acara dapat memanggil layanan tindakan .

Pertimbangkan tindakan apa pun ditolak secara default di OCI sehingga Anda perlu membuat kebijakan yang mengizinkan layanan Peristiwa untuk menjalankan tindakan tersebut.

Izin dasar yang Anda perlukan adalah:

Allow service cloudEvents to use ons-topic in tenancy
Allow service cloudEvents to use functions-family in tenancy

Ini untuk Penyewaan tetapi Anda dapat menetapkannya ke Kompartemen tertentu

Allow service cloudEvents to use ons-topic in compartment DEV
Allow service cloudEvents to use functions-family in compartment DEV

Selengkapnya tentang kompartemen DI SINI


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mengganti Baris Baru di Oracle

  2. meneruskan nama tabel sebagai parameter plsql

  3. Cara terbersih untuk membangun string SQL di Java

  4. Cara terbaik untuk mengatur ulang urutan Oracle ke nilai berikutnya di kolom yang ada?

  5. Sisipkan Massal ke dalam database Oracle:Mana yang lebih baik:UNTUK loop kursor atau Select sederhana?