Oracle Cloud Infrastructure 1부: 서비스 기본 사항의 이벤트 작업
5854 단어 eventdrivenoraclebeginnerscloud
이벤트는 서버리스 아키텍처의 기반이며 때로는 이벤트 기반 아키텍처라고도 합니다. 또한 이벤트는 서비스를 분리하고 소프트웨어 비동기 호출을 지원하며 확장 프로세스를 용이하게 하므로 현대 소프트웨어 아키텍처에 매우 중요합니다.
이벤트 기반 아키텍처의 예:
참고 OCI 기능은 OCI의 서버리스 솔루션으로, 하드웨어나 VM을 프로비저닝하지 않고 단일 용도의 소프트웨어를 실행할 수 있으며, 소프트웨어는 이벤트 또는 스케줄 작업을 기반으로 실행되며 마치 서비스로서의 기능을 갖는 것과 같습니다. 함수에서 더 보기HERE
OCI 이벤트로 돌아가서 몇 가지 중요한 특징은 다음과 같습니다.
고려해야 할 중요한 이벤트를 결정하고 입력할 항목을 결정하는 필터와 같은 규칙을 생각할 수 있습니다. 기본적으로 규칙은 작업을 트리거합니다. 규칙 논리의 예는 다음과 같습니다.
MATCH event WHERE (
eventType EQUALS ANY OF (
com.oraclecloud.computeapi.launchinstance.end
)
)
이 이벤트는 새compute instance가 생성될 때 트리거됩니다.
하지만...
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"
}
}
이것은 방금 생성된 인스턴스의 예이며 이벤트를 트리거합니다.
이벤트 규칙 구성 중에 일부 속성을 추가하여 결과를 추가로 필터링할 수 있습니다.
이 예에서는 이벤트 유형의 결과를 필터링하고 있습니다. Sandbox 및 dev 구획의 변경 사항에 대해서만 전체 논리는 다음과 같습니다.
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에 의해 Sandbox 또는 dev 구획에서 인스턴스가 시작될 때마다 트리거됩니다.
규칙의 주요 목표는 트리거될 때 무언가를 유발하는 것입니다. 그렇지 않으면 쓸모가 없습니다.
작업은 일치하는 이벤트에 대해 정의된 응답입니다.
작업은 다음을 사용하여 만들 수 있습니다.
Notifications 주제를 구독하는 엔드포인트로 메시지를 보낼 수 있는 알림 서비스로 메시지를 보냅니다.
이메일 주소, 이메일 그룹, 슬랙 채널 등이 될 수 있습니다.
Streaming 이 서비스를 사용하면 이벤트를 데이터 스트림으로 수집하여 이 데이터에 대한 추가 분석 및 인텔리전스를 얻을 수 있습니다.
Functions 수신된 이벤트를 기반으로 기능을 실행할 수 있습니다. 빠른 예:
you can have an event that triggers every time a new instance is created and this will execute a function that configure monitoring for that new instance.
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
구획에 대한 추가 정보
Reference
이 문제에 관하여(Oracle Cloud Infrastructure 1부: 서비스 기본 사항의 이벤트 작업), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aernesto24/working-with-events-in-oracle-cloud-infrastructure-part-1-service-basics-44kd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)