다음을 통해 공유


Azure Cosmos DB 및 Azure Functions를 사용하는 서버리스 이벤트 기반 아키텍처

Azure Functions는 변경 피드에 연결하는 가장 간단한 방법을 제공합니다. Azure Cosmos DB 컨테이너의 변경 피드에서 각 새 이벤트에서 자동으로 트리거되는 소규모의 반응형 Azure Functions를 만들 수 있습니다.

Azure Cosmos DB용 Azure Functions 트리거를 사용하는 서버리스 이벤트 기반 함수의 다이어그램

Azure Cosmos DB에 대한 Azure Functions 트리거를 사용하면 작업자 인프라를 유지 관리할 필요 없이 변경 피드 프로세서의 크기 조정 및 신뢰할 수 있는 이벤트 검색 기능을 사용할 수 있습니다. 이벤트 소싱 파이프라인의 나머지 부분에 대해 걱정하지 않고 Azure Function의 논리에 집중하기만 하면 됩니다. 트리거를 다른 Azure Functions 바인딩과 혼합할 수도 있습니다.

비고

Azure Functions 트리거는 최신 버전 변경 피드 모드를 사용합니다. 현재 Azure Cosmos DB에 대한 Azure Functions 트리거는 NoSQL용 API에서만 사용할 수 있습니다.

요구 사항

서버리스 이벤트 기반 흐름을 구현하려면 다음이 필요합니다.

  • 모니터링되는 컨테이너: 모니터링되는 컨테이너는 모니터링되는 Azure Cosmos DB 컨테이너이며 변경 피드가 생성되는 데이터를 저장합니다. 모니터링되는 컨테이너에 대한 모든 삽입 또는 업데이트는 컨테이너의 변경 피드에 반영됩니다.
  • 임대 컨테이너: 임대 컨테이너는 여러 동적 서버리스 Azure Function 인스턴스에서 상태를 유지하고 동적 크기 조정을 사용하도록 설정합니다. Azure Cosmos DB에 대한 Azure Functions 트리거를 사용하여 자동으로 임대 컨테이너를 만들 수 있습니다. 임대 컨테이너를 수동으로 만들 수도 있습니다. 임대 컨테이너를 자동으로 만들려면 구성에서 CreateLeaseContainerIfNotExists 속성을 설정합니다. 분할된 임대 컨테이너에는 /id 파티션 키 정의가 필요합니다.

Azure Cosmos DB에 대한 Azure Functions 트리거 만들기

이제 Azure Cosmos DB에 대한 Azure Functions 트리거를 사용하여 Azure Functions를 만드는 것이 모든 Azure Functions IDE 및 CLI 통합에서 지원됩니다.

로컬로 트리거 실행

Azure Cosmos DB 에뮬레이터를 사용하여 Azure Function을 로컬로 실행하여 Azure 구독 또는 비용이 발생하지 않고 서버리스 이벤트 기반 흐름을 만들고 개발할 수 있습니다.

다음 단계

이제 다음 문서에서 변경 피드에 대한 자세한 내용을 계속 알아볼 수 있습니다.