의 버전 4(V4) SDK for .NET 는 미리 보기 중입니다! 미리 보기에서이 새 버전에 대한 정보를 보려면 AWS SDK for .NET (버전 4 미리 보기) 개발자 안내서를 참조하세요.
SDK의 V4는 미리 보기 상태이므로 콘텐츠는 변경될 수 있습니다.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
.NET용 AWS 메시지 처리 프레임워크 사용자 지정
참고
이 시험판 설명서는 프리뷰 릴리즈의 기능에 관한 것입니다. 내용은 변경될 수 있습니다.
.NET용 AWS 메시지 처리 프레임워크는 세 가지 다른 "계층"으로 메시지를 빌드, 전송 및 처리합니다.
-
가장 바깥쪽 계층에서 프레임워크는 서비스와 관련된 AWS네이티브 요청 또는 응답을 빌드합니다. 예를 들어 Amazon SQS를 사용하면
SendMessage
요청을 빌드하고 서비스에서 정의한Message
객체와 함께 작동합니다. -
SQS 요청 및 응답 내에서 프레임워크는
MessageBody
요소(또는 Amazon SNSMessage
의 경우 또는 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로 설정되지만 자체 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
의MessageBusBuilder
를 사용하면 메시지를 직렬화 및 역직렬화할 때 사용할를 구성할System.Text.Json.JsonSerializerOptions
수 있습니다. -
프레임워크가 빌드되면 추가 속성을 주입하거나 메시지 봉투를 변환하려면
AddSerializationCallback
의를 통해 해당 속성을 구현ISerializationCallback
하고 등록할 수 있습니다MessageBusBuilder
.
-