Lambda 함수에 대한 이벤트 공유

최근에 AWS Lambda functions 다른 IAM 사용자 간에 Lambda 함수에 대한 이벤트를 공유하는 기능을 활성화했습니다. 발표here에 대해 읽을 수 있습니다.

공유 가능한 테스트 이벤트 만들기



새로운 공유 가능한 테스트 이벤트를 생성하려면 AWS Lambda 함수에서 테스트 섹션으로 이동합니다.

테스트 섹션에서 새 이벤트를 생성할 때 공유 가능 옵션을 선택하고 이벤트 JSON 및 이벤트 이름을 정의합니다.

이벤트가 생성되면 AWS Lambda 함수 콘솔에서 비공개 이벤트와 공유 가능한 이벤트를 모두 볼 수 있습니다.

EventBridge에서 공유 가능한 이벤트



공유 가능한 이벤트가 있는 모든 Lambda 함수는 볼 수 있는 lambda-testevent-schemas 아래의 Amazon EventBridge 콘솔로 이동하여 AWS Lambda 함수의 컨텍스트에서 공유 이벤트를 편집할 수 있습니다.

그리고 각 공유 가능한 이벤트에서 세부 정보와 이벤트 자체의 사용 가능한 다른 버전을 볼 수 있습니다.

EventBridge 스키마 레지스트리의 JSON 구조는 OpenAPI 형식을 따릅니다.

{
  "openapi": "3.0.0",
  "info": {
    "version": "1.0.0",
    "title": "Event"
  },
  "paths": {},
  "components": {
    "schemas": {
      "Event": {
        "type": "object",
        "required": [
          "key1",
          "key2",
          "key3"
        ],
        "properties": {
          "key1": {
            "type": "string"
          },
          "key2": {
            "type": "string"
          },
          "key3": {
            "type": "string"
          }
        }
      }
    },
    "examples": {
      "hello-world": {
        "value": {
          "key1": "value1",
          "key2": "value2",
          "key3": "value3"
        }
      },
      "test": {
        "value": {
          "key1": "value1",
          "key2": "value2",
          "key3": "value3"
        }
      }
    }
  }
}


이벤트 편집



Amazon EventBridge 콘솔에서 이벤트의 다른 버전을 선택하고 JSON 이벤트를 수정할 수 있습니다. 이것은 OpenAPI를 따르고 있기 때문에 이벤트 JSON 자체와 함께 필요한 스키마와 속성을 정의해야 합니다.

{
  "openapi": "3.0.0",
  "info": {
    "version": "1.0.0",
    "title": "Event"
  },
  "paths": {},
  "components": {
    "schemas": {
      "Event": {
        "type": "object",
        "required": [
          "key1",
          "key2",
          "key3"
        ],
        "properties": {
          "key1": {
            "type": "string"
          },
          "key2": {
            "type": "string"
          },
          "key3": {
            "type": "string"
          },
          "key4": {
            "type": "string"
          }
        }
      }
    },
    "examples": {
      "hello-world": {
        "value": {
          "key1": "value1",
          "key2": "value2",
          "key3": "value3",
          "key4": "value3"
        }
      },
      "test": {
        "value": {
          "key1": "value1",
          "key2": "value2",
          "key3": "value3"
        }
      }
    }
  }
}


이 데모에서는 이벤트의 버전 2가 선택되고 추가 속성key4을 지원하도록 수정됩니다.

새 버전으로 저장되면 콘솔은 수정된 이벤트로 최신 버전을 생성합니다.


공유 가능한 이벤트 삭제 중



특정 버전을 삭제하려는 경우 EventBridge 콘솔에서 완전히 제어할 수 있습니다. 또한 모든 버전을 삭제하면 Lambda 함수가 공유 이벤트도 나열하지 않습니다.

개발자에게 도움이 되는 방법



종종 다른 스테이징 또는 개발 AWS 계정에서 개발자는 로컬 테스트를 위해 독립적으로 테스트할 AWS Lambda 함수에 대한 이벤트를 공유하고 올바른 이벤트 JSON이 AWS Lambda 함수의 예상 작동에 대해 테스트되는지 확인해야 합니다.
이전에는 개발자가 해당 이벤트 JSON을 로컬에 저장하고 AWS 환경 외부에서 공유해야 했지만 이제는 공유 가능한 이벤트를 통해 개발자가 더 잘 협업할 수 있습니다! 그리고 로컬 AWS Lambda 함수 테스트를 위한 이벤트 공유 프로세스가 쉬워졌습니다. 이것은 개발자와 개발자 경험을 개선하기 위한 엄청난 발표입니다.

좋은 웹페이지 즐겨찾기