sql >> Databáze >  >> RDS >> Oracle

Práce s událostmi v Oracle Cloud Infrastructure Část 1:Základy služeb

Události cloudové infrastruktury Oracle je služba, která vám umožňuje vytvořit určitou automatizační základnu na základě změny stavu ve službě nebo možná založenou na nějakém druhu přijatého vstupu. Nyní se vraťte o krok zpět a Událost je výskyt konkrétní situace. Aby tato situace byla užitečná, události musí obsahovat nějaký druh informací, například název instance, název objektu, stavový kód atd. Tyto informace mohou automatizaci poskytnout něco, s čím se dá pracovat.

Události jsou základem architektury bez serveru, někdy také nazývané architektura řízená událostmi . Kromě toho jsou události klíčové pro současné softwarové architektury, protože umožňují oddělit služby a uskutečňovat softwarová asynchronní volání a usnadňují procesy škálování.

Příklad architektury řízené událostmi:

  • Vyvinete aplikaci pro zpracování obrázků .
  • Při každém nahrání nového obrázku do segmentu spustí událost .
  • Tato událost volá funkci které uchopí tento obrázek a vytvoří z něj miniaturu .
  • Miniatura je uložen v jiném kbelíku.
  • To spustí další událost, která odešle e-mailové upozornění klientovi.

POZNÁMKA Funkce OCI je bezserverové řešení od OCI, které vám umožňuje spouštět jednoúčelový software bez zajišťování hardwaru nebo virtuálních počítačů, software běží na základě události nebo naplánované úlohy, je to jako mít funkce jako službu. Více z Funkce ZDE

Vraťme se k událostem OCI, některé z důležitých charakteristik jsou:

  • Služba událostí používá k definování pravidel události objekt JSON . Můžete si představit pravidlo, jako je filtr to určí, které události je důležité vzít v úvahu, abyste určili, jaké budou vaše vstupy. V podstatě Pravidla spouštějí akce . Příkladem logiky pravidla může být:
MATCH event WHERE (
  eventType EQUALS ANY OF (
  com.oraclecloud.computeapi.launchinstance.end
  )
)

Tato událost se spustí při vytvoření nové instance výpočtu

Ale...

Kde je část JSON??
Na samotné události se podívejme na příklad události:

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

Toto je příklad instance, která byla právě vytvořena a spustí událost.

  • Můžete přidat podmínky nebo filtry pro další zúžení událostí .

Během konfigurace pravidla události můžete přidat některé atributy pro další filtrování výsledků

Na tomto příkladu výsledky filtrujeme podle typu události, pro změny pouze na Sandbox a dev přihrádky, celá logika vypadá takto:

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

Kromě toho můžeme přidat Podmínky filtru na základě značek

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

Vizuálně něco jako:

V zásadě tato událost se spustí při každém spuštění instance na Sandbox NEBO dev přihrádky uživatelem elopez .

  • Nejvíce specifikují a fungují pravidla .

Hlavním cílem pravidel je něco vyprovokovat, když jsou spuštěna, jinak budou k ničemu.

Akce jsou odpovědi definované pro shodu události

Akce lze vytvořit pomocí:
Oznámení odeslat zprávy do oznamovací služby, která je může odeslat koncovým bodům, které jsou přihlášeny k odběru tématu

Mohou to být:e-mailová adresa, e-mailová skupina, kanál slack atd.

Streamování pomocí této služby budete přijímat své události do datových toků, abyste získali další analýzu a informace o těchto datech.

Funkce funkce lze provádět na základě přijatých událostí. Rychlý příklad:

můžete mít událost, která se spustí pokaždé, když je vytvořena nová instance, a to spustí funkci, která nakonfiguruje monitorování pro tuto novou instanci.

  • Musíte přidat oprávnění, aby služba Události mohla volat služby akcí .

Vezměte v úvahu jakákoliv akce je na OCI ve výchozím nastavení zakázána, takže budete muset vytvořit politiku, která službě Events umožní tyto akce provést.

Základní oprávnění, které budete potřebovat, je:

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

Toto je pro Nájem ale můžete jej přiřadit ke konkrétnímu Oddělení

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

Více o přihrádkách ZDE


  1. Co bych si měl vybrat - JSON nebo SQLite?

  2. SQL dotaz vrací data z více tabulek

  3. SQL dotaz:Smazat všechny záznamy z tabulky kromě posledních N?

  4. Regulární výraz (RegEx) pro IPv6 Oddělený od IPv4