Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle क्लाउड इंफ्रास्ट्रक्चर में घटनाओं के साथ कार्य करना भाग 1:सेवा की मूल बातें

Oracle Cloud Infrastructure Events एक सेवा है जो आपको किसी सेवा में राज्य के परिवर्तन पर कुछ स्वचालन आधार बनाने की अनुमति देती है, या शायद किसी प्रकार के इनपुट के आधार पर। अब, एक कदम पीछे हटें, और ईवेंट एक विशेष स्थिति की घटना है। इस स्थिति के उपयोगी होने के लिए, घटनाओं को किसी प्रकार की जानकारी के साथ होना चाहिए, उदाहरण के लिए, उदाहरण का नाम, वस्तु का नाम, स्थिति कोड, आदि। जानकारी स्वचालन को काम करने के लिए कुछ प्रदान कर सकती है।

ईवेंट सर्वर रहित आर्किटेक्चर के आधार हैं, जिन्हें कभी-कभी ईवेंट-संचालित आर्किटेक्चर . भी कहा जाता है . इसके अतिरिक्त, समकालीन सॉफ़्टवेयर आर्किटेक्चर के लिए ईवेंट महत्वपूर्ण हैं क्योंकि यह सेवाओं को अलग करने में सक्षम बनाता है, सॉफ़्टवेयर को एसिंक्रोनस कॉल करने में मदद करता है। और स्केलिंग प्रक्रियाओं को सुविधाजनक बनाता है।

इवेंट संचालित आर्किटेक्चर का एक उदाहरण:

  • आप एक इमेज प्रोसेसिंग ऐप विकसित करते हैं ।
  • हर बार एक बकेट में एक नई छवि अपलोड की जाती है यह एक घटना को ट्रिगर करती है
  • यह घटना एक फ़ंक्शन को कॉल करती है जो उस छवि को पकड़ कर उससे एक थंबनेल बनाता है ।
  • थंबनेल दूसरी बाल्टी में जमा हो जाती है।
  • यह एक अन्य घटना को ट्रिगर करता है जो एक ईमेल सूचना भेजता है ग्राहक के लिए।

नोट OCI फ़ंक्शन OCI का एक सर्वर रहित समाधान है, जो आपको हार्डवेयर या VMs के प्रावधान के बिना एकल उद्देश्य सॉफ़्टवेयर चलाने की अनुमति देता है, सॉफ़्टवेयर किसी ईवेंट या शेड्यूल जॉब के आधार पर चलता है, यह एक सेवा के रूप में कार्य करने जैसा है। यहां के कार्यों से अधिक

OCI Events में वापस आना, कुछ महत्वपूर्ण विशेषताएं इस प्रकार हैं:

  • इवेंट सेवा, इवेंट के नियमों को परिभाषित करने के लिए JSON ऑब्जेक्ट का उपयोग करती है . आप फ़िल्टर जैसे नियम के बारे में सोच सकते हैं यह निर्धारित करेगा कि आपके इनपुट क्या होने जा रहे हैं, यह निर्धारित करने के लिए किन घटनाओं पर विचार करना महत्वपूर्ण है। मूल रूप से, नियम कार्रवाइयों को ट्रिगर करते हैं . नियम तर्क का एक उदाहरण हो सकता है:
MATCH event WHERE (
  eventType EQUALS ANY OF (
  com.oraclecloud.computeapi.launchinstance.end
  )
)

एक नया कंप्यूट इंस्टेंस बनाए जाने पर यह इवेंट ट्रिगर होगा

लेकिन...

JSON भाग कहां है??
घटना पर, स्वयं, किसी घटना का एक उदाहरण देखें:

{
  "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"
  }
}

यह एक उदाहरण का एक उदाहरण है जिसे अभी बनाया गया है, और घटना को ट्रिगर करेगा।

  • आप अपने ईवेंट को और सीमित करने के लिए शर्तें या फ़िल्टर जोड़ सकते हैं .

किसी ईवेंट नियम कॉन्फ़िगरेशन के दौरान, आप अपने परिणामों को और फ़िल्टर करने के लिए कुछ विशेषताएं जोड़ सकते हैं

इस उदाहरण पर हम केवल सैंडबॉक्स और देव . पर परिवर्तनों के लिए ईवेंट प्रकार से परिणामों को फ़िल्टर कर रहे हैं डिब्बों, पूरा तर्क इस तरह दिखता है:

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

इसके अतिरिक्त, हम फ़िल्टर शर्तें जोड़ सकते हैं टैग के आधार पर

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
  )
 )
)

दिखने में कुछ ऐसा:

मूल रूप से सैंडबॉक्स . पर इंस्टेंस लॉन्च होने पर यह इवेंट हर बार ट्रिगर होगा या देव उपयोगकर्ता द्वारा कम्पार्टमेंट elopez

  • नियम सबसे अधिक निर्दिष्ट और कार्रवाई करते हैं

नियमों का मुख्य उद्देश्य ट्रिगर होने पर किसी चीज़ को भड़काना है, अन्यथा बेकार हो जाएगा।

कार्रवाइयां मिलान किए गए ईवेंट के लिए निर्धारित प्रतिक्रियाएं हैं

क्रियाओं का उपयोग करके बनाया जा सकता है:
सूचनाएं संदेशों को एक अधिसूचना सेवा को भेजें जो इसे उन समापन बिंदुओं पर भेज सकती है जो विषय की सदस्यता लेते हैं

ये हो सकते हैं:एक ईमेल पता, ईमेल समूह, सुस्त चैनल, आदि।

स्ट्रीमिंग इस सेवा का उपयोग करके आप इस डेटा पर अधिक विश्लेषण और खुफिया जानकारी प्राप्त करने के लिए अपने ईवेंट को डेटा स्ट्रीम में शामिल करेंगे।

कार्य प्राप्त घटनाओं के आधार पर कार्यों को निष्पादित किया जा सकता है। त्वरित उदाहरण:

<ब्लॉकक्वॉट>

आपके पास एक ऐसा ईवेंट हो सकता है जो हर बार एक नया इंस्टेंस बनाए जाने पर ट्रिगर होता है और यह उस फ़ंक्शन को निष्पादित करेगा जो उस नए इंस्टेंस के लिए मॉनिटरिंग को कॉन्फ़िगर करता है।

  • आपको अनुमतियां जोड़ने की आवश्यकता है ताकि ईवेंट सेवा कार्रवाई सेवाओं को कॉल कर सके

ध्यान रखें OCI पर डिफ़ॉल्ट रूप से किसी भी कार्रवाई को अस्वीकार कर दिया जाता है, इसलिए आपको एक ऐसी नीति बनाने की आवश्यकता होगी जो ईवेंट सेवा को क्रियाओं को निष्पादित करने की अनुमति दे।

मूल अनुमति की आपको आवश्यकता होगी:

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

यह किरायेदारी . के लिए है लेकिन आप इसे एक विशिष्ट कम्पार्टमेंट . को असाइन कर सकते हैं

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

यहां डिब्बों के बारे में अधिक जानकारी


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ओरेकल:क्या चयन सूची में उपश्रेणियों के साथ समानांतर निष्पादन का उपयोग न करने का कोई तार्किक कारण है?

  2. Oracle संग्रहीत कार्यविधि में varchar2 इनपुट का डिफ़ॉल्ट आकार क्या है, और क्या इसे बदला जा सकता है?

  3. एकाधिक csv फ़ाइलों में तालिका निर्यात करने की प्रक्रिया

  4. गतिशील एसक्यूएल लूप

  5. JSON_ARRAY () Oracle में फ़ंक्शन