기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
.NET용 AWS 메시지 처리 프레임워크 사용자 지정
이 시험판 설명서는 프리뷰 릴리즈의 기능에 관한 것입니다. 내용은 변경될 수 있습니다. |
.NET용 AWS 메시지 처리 프레임워크는 메시지를 세 가지 “계층”으로 작성, 전송 및 처리합니다.
-
프레임워크는 가장 바깥쪽 계층에서 서비스에 특정한 AWS-native 요청 또는 응답을 구축합니다. 예를 들어 Amazon SQS에서는
SendMessage
요청을 생성하고 서비스에서 정의한Message
객체를 처리합니다. -
SQS 요청 및 응답 내에서 프레임워크는
MessageBody
요소 (또는 Amazon SNS 또는Message
Amazon EventBridge)Detail
를 JSON CloudEvent형식으로 설정합니다. 여기에는 메시지를 처리할 때 MessageEnvelope
객체에서 액세스할 수 있는 프레임워크에서 설정한 메타데이터가 포함됩니다. -
가장 안쪽 레이어의 CloudEvent JSON 개체 내
data
속성에는 메시지로 보내거나 받은 .NET 개체의 JSON 직렬화가 포함되어 있습니다.{ "id":"b02f156b-0f02-48cf-ae54-4fbbe05cffba", "source":"/aws/messaging", "specversion":"1.0", "type":"Publisher.Models.ChatMessage", "time":"2023-11-21T16:36:02.8957126+00:00", "data":"<the ChatMessage object serialized as JSON>" }
메시지 봉투의 구성 및 읽기 방법을 사용자 지정할 수 있습니다.
-
"id"
메시지를 고유하게 식별합니다. 기본적으로 새 GUID로 설정되지만 직접IMessageIdGenerator
구현하고 DI 컨테이너에 삽입하여 이를 무시할 수 있습니다. -
"type"
메시지가 핸들러로 라우팅되는 방식을 제어합니다. 기본적으로 메시지에 해당하는.NET 유형의 전체 이름을 사용합니다.AddSQSPublisher
AddSNSPublisher
, 또는 를 통해 메시지 유형을 대상에 매핑할 때messageTypeIdentifier
매개 변수를 통해 이를 재정의할 수 있습니다.AddEventBridgePublisher
-
"source"
메시지를 보낸 시스템 또는 서버를 나타냅니다.-
퍼블리싱의 경우 함수 이름 AWS Lambda, Amazon ECS에서는 클러스터 이름 및 작업 ARN, Amazon EC2에서는 인스턴스 ID, 그렇지 않으면 폴백 값입니다.
/aws/messaging
-
를 통해 또는 를 통해 이를 재정의할 수 있습니다.
AddMessageSource
AddMessageSourceSuffix
MessageBusBuilder
-
-
"time"
UTC 기준으로 DateTime 현재로 설정합니다. 직접IDateTimeHandler
구현한 다음 DI 컨테이너에 삽입하면 이를 무시할 수 있습니다. -
"data"
메시지로 보내거나 받은 .NET 객체의 JSON 표현을 포함합니다.-
ConfigureSerializationOptions
on을MessageBusBuilder
사용하면 메시지를 직렬화 및System.Text.Json.JsonSerializerOptions
역직렬화할 때 사용할 옵션을 구성할 수 있습니다. -
프레임워크에서 메시지 봉투를 빌드한 후 추가 속성을 삽입하거나 메시지 봉투를 변환하려면 on을 통해 이를
ISerializationCallback
구현하고 등록할 수 있습니다.AddSerializationCallback
MessageBusBuilder
-