>  기사  >  백엔드 개발  >  새로운 EventBridge 스키마 검색을 위한 자동화된 Jira 티켓 처리

새로운 EventBridge 스키마 검색을 위한 자동화된 Jira 티켓 처리

PHPz
PHPz원래의
2024-08-27 06:35:021055검색

처음부터 시작하겠습니다. 이전 클라이언트 중 하나에서 AWS 클라우드 엔지니어로 일하면서 제3자가 EventBridge를 통해 AWS 환경에 지속적으로 많은 이벤트를 보내는 이벤트 기반 아키텍처가 사용되었습니다. 각 제3자에게 다양한 EventBridge 규칙이 포함된 이벤트 버스를 제공했습니다.

여기서 어려운 점은 이벤트 구조, 즉 어떻게 구성되었는지 추적하는 것이었습니다. 이벤트가 자주 업데이트되어 상황을 명확히 하기 위해 많은 회의가 열렸습니다.

2019년 말, EventBridge Schema Discovery 덕분에 문제의 상당 부분이 해결되었습니다. 이벤트 버스에서 이를 활성화하면 수신된 이벤트를 기반으로 스키마가 자동으로 생성됩니다. 이를 통해 이러한 스키마에서 코드 바인딩을 생성할 수 있었으며 이는 객체 지향 환경에 큰 도움이 되었습니다.

아래에서 제3자의 매우 기본적인 예제 이벤트를 볼 수 있습니다.

으아악

AWS는 이러한 유형의 이벤트에 대한 스키마를 발견했습니다.

Handling Automated Jira Tickets for New EventBridge Schema Discoveries

Visual Studio Code용 AWS 도구 키트를 사용하면 이벤트를 코드에서 강력한 형식의 객체로 쉽게 표현할 수 있습니다.

Handling Automated Jira Tickets for New EventBridge Schema Discoveries

아래는 코드 바인딩을 사용하는 방법에 대한 매우 기본적인 예입니다.

Handling Automated Jira Tickets for New EventBridge Schema Discoveries

출력:

으아악

이를 통해 작업 방식이 개선되었지만 여전히 문제가 발생했습니다. 때때로 제3자가 이벤트에 새로운 속성을 추가합니다. EventBridge는 이러한 변경 사항을 발견했지만 개발자는 종종 새 스키마에 대한 코드 바인딩을 업데이트하는 것을 잊어버렸습니다. 우리의 구현은 새로운 속성이 추가될 때 손상을 방지할 만큼 강력했지만, 그 결과 우리가 활용하지 않는 새로운 데이터가 발생했습니다. 우리는 때때로 코드 바인딩을 업데이트하는 것을 기억하도록 개발자에게 의존해야 했고, 이를 관리하기 위한 명확한 프로세스가 마련되어 있지 않았습니다.

때때로 코드 바인딩이 몇 달 동안 업데이트되지 않았고 때로는 두 명의 개발자가 동시에 업데이트하여 충돌이나 중복 작업이 발생하기도 했습니다.

이 문제를 더 잘 처리하기 위해 우리는 제3자가 이벤트를 업데이트하고 새로운 스키마가 발견될 때마다 자동으로 Jira 티켓을 생성하는 솔루션을 구축하기로 결정했습니다.

이 솔루션은 내 GitHub의 CloudFormation에서 사용할 수 있습니다. 읽어보기를 확인하세요.

첫 번째 단계는 새 스키마 또는 스키마 버전 업데이트가 발견될 때마다 트리거되는 EventBridge 규칙을 기본 버스에 생성하는 것이었습니다. 그런 다음 이 이벤트는 EventBridge 파이프에 대한 입력 역할을 하기 위해 SQS 대기열로 전송되었습니다. 여기서 추가 필터링(이 예에서는 선택 사항)을 추가하고 Lambda 함수를 사용하여 이벤트를 강화할 수 있습니다.

Handling Automated Jira Tickets for New EventBridge Schema Discoveries

보강을 위해 boto3을 사용하여 explain_schema를 사용했습니다.

으아악

데이터를 보강한 후 이를 Step Function 워크플로로 보냈습니다. 이 워크플로는 AWS에서 제공한 AWS-CreateJiraIssue SSM 자동화를 트리거하여 Jira 티켓을 자동으로 생성했습니다.

Handling Automated Jira Tickets for New EventBridge Schema Discoveries

티켓에는 스키마 이름, 새 스키마 버전, 스키마 ARN과 같은 세부 정보가 포함되어 있습니다. (필요하다면 이벤트의 추가 콘텐츠도 추가될 수 있습니다.)

으아악

이 솔루션을 시연해 보겠습니다. 여기에서는 원본을 기반으로 업데이트된 이벤트를 볼 수 있습니다. 속성 상태가 신규입니다.

으아악

새로운 스키마가 발견됩니다. 그러면 전체 솔루션이 실행됩니다. Lambda가 이벤트를 강화한 후 업데이트된 이벤트가 Step Function의 입력으로 사용됩니다.

Step Function의 입력 이벤트는 다음과 같이 풍부해졌습니다.

으아악

Handling Automated Jira Tickets for New EventBridge Schema Discoveries

Step Function 워크플로는 SSM 자동화를 트리거하고 Jira 티켓을 생성합니다.

Handling Automated Jira Tickets for New EventBridge Schema Discoveries

편의상 티켓 내용을 간략하게 작성했습니다. 그러나 콘텐츠도 Step Function에 대한 입력으로 전송되므로 티켓에 포함될 수도 있습니다. 이런 방식으로 티켓에서 새로운 속성이나 스키마 변경 사항을 직접 언급할 수 있습니다.

이 솔루션은 완전히 새로운 이벤트가 발견된 경우에도 트리거됩니다. 새 이벤트의 버전 1을 생성하여 EventBridge 규칙이 실행되기 때문입니다.

이러한 방식으로 우리는 업데이트에 대한 정보를 얻었고 이를 스프린트에 예약할 수 있었습니다. 이로 인해 개발 주기가 가속화됩니다.

이것은 상당히 구체적인 사례라는 것을 알고 있지만 EventBridge 규칙을 설정하여 원하는 이벤트를 트리거한 다음 강화 및 Step Functions를 SSM과 함께 사용하여 추가 자동화를 생성함으로써 유사한 솔루션을 구축할 수 있습니다.

위 내용은 새로운 EventBridge 스키마 검색을 위한 자동화된 Jira 티켓 처리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.