기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon SNS 메시지 속성
Amazon은 메시지에 대한 구조화된 메타데이터 항목(예: 타임스탬프, 지리 공간 데이터, 서명 및 식별자)을 제공할 수 있는 메시지 속성 전송을 SNS 지원합니다. SQS 구독의 경우 원시 메시지 전송이 활성화되면 최대 10개의 메시지 속성을 전송할 수 있습니다. 10개가 넘는 메시지 속성을 보내려면 원시 메시지 전송을 사용 중지해야 합니다. 원시 메시지 전송이 활성화된 Amazon SQS 구독을 대상으로 하는 메시지 속성이 10개 이상인 메시지는 클라이언트 측 오류로 삭제됩니다.
메시지 속성은 선택 사항이며 메시지 본문과 분리되지만 함께 전송됩니다. 수신자는 이 정보를 사용하여 메시지 본문을 먼저 처리할 필요 없이 메시지를 처리하는 방법을 결정할 수 있습니다.
AWS Management Console 또는 를 사용하여 속성이 있는 메시지를 보내는 방법에 대한 자세한 내용은 를 사용하여 Amazon SNS 주제에 메시지를 게시하려면 AWS Management Console 자습서를 AWS SDK for Java참조하세요.
참고
메시지 속성은 메시지 구조가 문자열일 때만 전송되며 이 아닌 문자열일 때만 전송됩니다JSON.
메시지 속성을 사용하여 모바일 엔드포인트에 대한 푸시 알림 메시지를 구성할 수도 있습니다. 이 시나리오에서 메시지 속성은 푸시 알림 메시지를 구성하는 데만 사용됩니다. Amazon 엔드포인트에 메시지 속성이 포함된 메시지를 보낼 때와 마찬가지로 속성이 SQS 엔드포인트에 전달되지 않습니다.
메시지 속성을 사용하여 구독 필터 정책으로 메시지를 필터링할 수 있도록 만들 수 있습니다. 주제 구독에 필터 정책을 적용할 수 있습니다. MessageAttributes
(기본)로 설정된 필터 정책 범위로 필터 정책이 적용되면 구독은 정책이 수락하는 속성을 가진 메시지만 수신합니다. 자세한 내용은 Amazon SNS 메시지 필터링 단원을 참조하십시오.
참고
메시지 속성을 필터링에 사용하는 경우 값은 유효한 JSON 문자열이어야 합니다. 이렇게 하면 메시지가 메시지 속성 필터링이 활성화된 구독으로 전달됩니다.
메시지 속성 항목 및 유효성 검사
각 메시지 속성은 다음 항목으로 구성됩니다.
-
Name – 메시지 속성 이름에는 A-Z, a-z, 0-9, 밑줄(_), 하이픈(-) 및 마침표(.)와 같은 문자가 포함될 수 있습니다. 이름은 마침표로 시작하거나 끝나서는 안 되며 연속 마침표가 있으면 안 됩니다. 이름은 대소문자를 구별하며 메시지에 대한 모든 속성 이름 중에서 고유해야 합니다. 이름은 최대 256자일 수 있습니다. 이름은
AWS.
또는Amazon.
(또는 모든 대소문자 변형)으로 시작할 수 없습니다. 이러한 접두사는 Amazon Web Services에서 사용하도록 예약되어 있기 때문입니다. -
Type – 지원되는 메시지 속성 데이터 형식은
String
,String.Array
,Number
및Binary
입니다. 데이터 형식은 내용에 대해 메시지 본문과 동일한 제한 사항이 있습니다. 자세한 정보는 메시지 속성 데이터 형식 및 유효성 검사 섹션을 참조하세요. -
Value – 사용자가 지정한 메시지 속성 값입니다. 문자열 데이터 형식의 경우 값 속성은 내용에 대해 메시지 본문과 동일한 제한 사항이 있습니다. 자세한 내용은 Amazon Simple Notification Service API 참조의 게시 작업을 참조하세요.
이름, 형식 및 값이 비어 있거나 널이면 안 됩니다. 또한 메시지 본문도 비어 있거나 널이면 안 됩니다. 이름, 형식 및 값을 포함하여 메시지 속성의 모든 부분은 256KB인 메시지 크기 제한에 포함됩니다.
메시지 속성 데이터 형식 및 유효성 검사
메시지 속성 데이터 유형은 Amazon 에서 메시지 속성 값을 처리하는 방법을 식별합니다SNS. 예를 들어 유형이 숫자인 경우 Amazon은 해당 유형이 숫자인지 SNS 확인합니다.
Amazon은 명시된 경우를 제외한 모든 엔드포인트에 대해 다음과 같은 논리적 데이터 유형을 SNS 지원합니다.
-
문자열 - 문자열은 UTF-8 바이너리 인코딩이 있는 유니코드입니다. 코드 값 목록은 http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters를
참조하세요. 참고
대리 값은 메시지 속성에서 지원되지 않습니다. 예를 들어, 이모티콘을 나타내는 대리 값을 사용하면 “
Invalid attribute value was passed in for message attribute
“와 같은 오류가 발생합니다. -
String.Array – 여러 값이 포함될 수 있는 문자열 형식의 배열입니다. 값은 문자열, 숫자 또는 키워드
true
,false
및null
일 수 있습니다. 숫자 또는 부울 형식의 String.Array에는 따옴표가 필요하지 않습니다. String.Array 값이 여러 개인 경우 쉼표로 구분합니다.AWS Lambda 구독에는 이 데이터 유형이 지원되지 않습니다. Lambda 엔드포인트에 이 데이터 유형을 지정하면 Amazon이 Lambda에 SNS 제공하는 JSON페이로드의
String
데이터 유형으로 전달됩니다. -
Number – 숫자는 양수 또는 음수 정수이거나 부동 소수점 숫자입니다. 숫자는 정수, 부동 소수점 수 및 실수가 일반적으로 지원하는 가능한 대부분의 값을 포함할 수 있는 충분한 범위와 정밀도를 갖추고 있습니다. 숫자 값은 -109에서 109까지 가능하며, 정확도는 소수점 이하 5자리입니다. 앞과 끝의 0은 잘립니다.
AWS Lambda 구독에는 이 데이터 유형이 지원되지 않습니다. Lambda 엔드포인트에 이 데이터 유형을 지정하면 Amazon이 Lambda에 SNS 제공하는 JSON페이로드의
String
데이터 유형으로 전달됩니다. -
Binary – 이전 형식 속성은 모든 이진 데이터를 저장할 수 있습니다(예: 압축된 데이터, 암호화된 데이터 또는 이미지).
모바일 푸시 알림에 예약된 메시지 속성
다음 표에서는 푸시 알림 메시지를 구성하는 데 사용할 수 있는 모바일 푸시 알림 서비스에 예약된 메시지 속성을 나열합니다.
푸시 알림 서비스 | 예약된 메시지 속성 |
---|---|
ADM | AWS.SNS.MOBILE.ADM.TTL |
APNs1 | AWS.SNS.MOBILE.APNS_MDM.TTL |
AWS.SNS.MOBILE.APNS_MDM_SANDBOX.TTL |
|
AWS.SNS.MOBILE.APNS_PASSBOOK.TTL |
|
AWS.SNS.MOBILE.APNS_PASSBOOK_SANDBOX.TTL |
|
AWS.SNS.MOBILE.APNS_SANDBOX.TTL |
|
AWS.SNS.MOBILE.APNS_VOIP.TTL |
|
AWS.SNS.MOBILE.APNS_VOIP_SANDBOX.TTL |
|
AWS.SNS.MOBILE.APNS.COLLAPSE_ID |
|
AWS.SNS.MOBILE.APNS.PRIORITY |
|
AWS.SNS.MOBILE.APNS.PUSH_TYPE |
|
AWS.SNS.MOBILE.APNS.TOPIC |
|
AWS.SNS.MOBILE.APNS.TTL |
|
Baidu |
AWS.SNS.MOBILE.BAIDU.DeployStatus
|
AWS.SNS.MOBILE.BAIDU.MessageKey |
|
AWS.SNS.MOBILE.BAIDU.MessageType |
|
AWS.SNS.MOBILE.BAIDU.TTL |
|
FCM | AWS.SNS.MOBILE.FCM.TTL |
AWS.SNS.MOBILE.GCM.TTL |
|
macOS | AWS.SNS.MOBILE.MACOS_SANDBOX.TTL |
AWS.SNS.MOBILE.MACOS.TTL |
|
MPNS |
AWS.SNS.MOBILE.MPNS.NotificationClass |
AWS.SNS.MOBILE.MPNS.TTL |
|
|
|
WNS | AWS.SNS.MOBILE.WNS.CachePolicy |
AWS.SNS.MOBILE.WNS.Group |
|
AWS.SNS.MOBILE.WNS.Match |
|
AWS.SNS.MOBILE.WNS.SuppressPopup |
|
AWS.SNS.MOBILE.WNS.Tag |
|
AWS.SNS.MOBILE.WNS.TTL |
|
AWS.SNS.MOBILE.WNS.Type
|
1 메시지 속성이 요구 사항을 충족하지 않는 경우 Apple은 Amazon SNS 알림을 거부합니다. 자세한 내용은 Apple 개발자 웹 사이트의 에 알림 요청 전송APNs