메시지 템플릿 헬퍼 사용 - Amazon Pinpoint

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

메시지 템플릿 헬퍼 사용

Amazon Pinpoint 템플릿을 사용하면 고객은 Handlebars.js 언어를 기반으로 재사용 가능한 메시지 템플릿을 생성할 수 있습니다. 헬퍼는 특정 리전의 통화로 가격 형식을 지정하거나 시간대 기반 위치를 추가하는 등 다양한 기능을 제공합니다. 헬퍼는 값에 특정 문자열 또는 정수를 사용하거나 특정 Amazon Pinpoint 메시지 변수를 사용할 수 있습니다.

헬퍼 범주는 다음과 같으며, 다음 섹션에서 설명합니다.

이 섹션에서는 Handlebars가 제공하는 내장 헬퍼에 대해 설명합니다. 전체 목록은 handlebarsjs.com 기본 제공 도우미를 참조하세요. 기본 제공 헬퍼는 다음과 같습니다.

  • each - 목록을 반복합니다.

    참고

    최대 목록 크기는 15개 항목입니다.

  • if - 문을 평가합니다.

each

목록을 반복합니다. 이 헬퍼는 블록 문만 사용합니다. 선택적으로 다음을 수행할 수 있습니다.

  • 요청에서 @index를 전달하여 현재 루프 인덱스를 참조할 수 있습니다.

  • this 헬퍼를 사용하여 반복되는 현재 요소를 참조할 수 있습니다.

  • <li> 태그를 사용하여 헬퍼 응답을 목록으로 반환할 수 있습니다.

사용량

{{#each value}}

{{@index}} 위치의 값은 {{this}}입니다.

{{else}}

조건이 false입니다.

{{/each}}

블록 문에서 each 앞에 파운드 기호(#)를 붙이고 닫는 {{/each}}로 끝나야 합니다.

이 예제에서 each는 사용자가 선호하는 색상 목록을 반환하는 데 사용됩니다. false의 경우 else 문이 반환됩니다. 요청이 다음과 같은 경우:

{{#each User.UserAttributes.FavoriteColors}}

<li>{{this}}</li>

{{else}}

You have no favorite colors.

{{/each}}

  • red

  • blue

  • yellow

를 반환합니다(true 문인 경우).

다음과 같은 경우

어떤 것이 true인지 여부를 평가하고 평가에 따라 응답을 반환합니다.

사용량

{{#if value}}

값이 정의되지 않음

{{else}}

값이 정의되지 않음

{{/if}}

블록 문에서 if 앞에 파운드 기호(#)를 붙이고 닫는 {{/if}}로 끝나야 합니다.

이 예제에서 if 헬퍼는 사용자의 이름이 맞는지 여부를 평가하는 데 사용됩니다. 이름을 찾으면 응답에 사용자의 이름을 전달하는 인사말이 반환됩니다. 그렇지 않으면 else 문은 대체 인사말을 반환합니다.

{{#if User.UserAttributes.FirstName.[0]}}

Hello {{User.UserAttributes.FirstName.[0]}},

{{else}}

Hello,

{{/if}}

반환 Hello, Jane if 헬퍼가 true인 경우.

이 섹션에서는 조건부 헬퍼를 설명합니다.

조건부 헬퍼는 한 줄 또는 블록 문에서 사용할 수 있습니다. 사용하는 헬퍼 메서드에 관계없이 응답을 사용자 지정할 수 있습니다. 한 줄 및 블록 문 안에서 추가 조건부 헬퍼를 전달할 수 있습니다. 다음 조건부 헬퍼는 먼저 한 줄의 사용법을 표시한 다음 선택적 else 절을 사용하여 블록 문을 표시합니다. 조건부 헬퍼는 다음과 같습니다.

  • and - 전달된 모든 요소가 동일한지 비교합니다.

  • eq - 두 요소가 같은지 테스트합니다.

  • gt - 한 요소가 다른 요소보다 큰지 테스트합니다.

  • gte - 한 요소가 다른 요소보다 크거나 같은지 테스트합니다.

  • if - 사실이 아닌지 평가합니다.

  • lt - 한 요소가 다른 요소보다 작은지 테스트합니다.

  • lte - 한 요소가 다른 요소보다 작거나 같은지 테스트합니다.

  • neq - 두 요소가 같지 않은지 여부를 테스트합니다.

  • not - 부울 작업의 응답을 반전합니다.

  • or - 인수의 요소 중 같은 것이 있는지 비교합니다.

그리고

인수에 전달된 모든 요소가 같은지 비교한 다음 결과에 따라 응답을 반환합니다. 이 헬퍼는 부울 값이 아닌 경우에도 사용할 수 있습니다. 조건에 최소 두 개의 요소를 전달해야 합니다.

사용량

  • {{and valuea valueb valuec valued yes='y' no='n'}}

    대체할 수 있습니다.y 그리고 n 다음과 같은 다른 값과 함께 yes 그리고 no또는 조건에 따라 반환하려는 다른 문자열.

  • {{#and valuea valueb}}

    조건이 true입니다.

    {{else}}

    조건이 false입니다.

    {{/and}}

    블록 문에서 and 앞에 파운드 기호(#)를 붙이고 닫는 {{/and}}로 끝나야 합니다.

이 예제에서는 Location.City Location.Country 속성에 대해 전달된 두 문자열이 모두 true인지 여부를 확인하기 위해 and 블록 문 내에서 eq가 사용됩니다. 두 조건 모두 같으면 true 문이 반환됩니다. 두 속성 중 하나가 false인 경우 else 문이 반환됩니다.

{{#and (eq Location.City "Los Angeles") (eq Location.Country "US")}}

You live in Los Angeles and the US.

{{else}}

You don’t live in Los Angeles and the US.

{{/and}}

eq

두 요소가 같은지 또는 한 요소의 값이 전달된 문자열과 같은지 테스트합니다.

사용량

  • {{eq valuea valueb yes='y' no='n'}}

    대체할 수 있습니다.y 그리고 n 다음과 같은 다른 값과 함께 yes 그리고 no또는 조건에 따라 반환하려는 다른 문자열.

  • {{#eq valuea valueb}}

    조건이 true입니다.

    {{else}}

    조건이 false입니다.

    {{/eq}}

    블록 문에서 eq 앞에 파운드 기호(#)를 붙이고 닫는 {{/eq}}로 끝나야 합니다.

이 예제에서는 의 값이 인지 여부를 평가하는 데 eq 사용됩니다User.UserAttributes.FavoriteColors.[0].Red. 응답이 이면 true 문true이 반환됩니다. 응답이 false이면 else 문이 반환됩니다.

{{#eq User.UserAttributes.FavoriteColors.[0] "red"}}

Your favorite color is red.

{{else}}

You don't like red.

{{/eq}}

gt

한 요소의 값이 다른 요소보다 큰지 테스트합니다.

사용량

  • {{gt valuea valueb yes='y' no='n'}}

    대체할 수 있습니다.y 그리고 n 다음과 같은 다른 값과 함께 yes 그리고 no또는 조건에 따라 반환하려는 다른 문자열.

  • {{#gt valuea valueb}}

    조건이 true입니다.

    {{else}}

    조건이 false입니다.

    {{/gt}}

    블록 문에서 gt 앞에 파운드 기호(#)를 붙이고 닫는 {{/gt}}로 끝나야 합니다.

이 예제에서는 도우미가 User.UserAttributes.UserAge.[0] 속성 값을 문자열과 비교합니다.17사용자의 연령이 17세보다 큰지 확인하려면 를 선택합니다. 응답이 true이면 true 문이 반환됩니다. 응답이 false이면 else 문이 반환됩니다.

{{#gt User.UserAttributes.UserAge.[0] "17"}}

You are old enough to rent a car.

{{else}}

You are not old enough to rent a car.

{{/gt}}

gte

한 요소의 값이 다른 요소보다 크거나 같은지 테스트합니다.

Usage

  • {{gte valuea valueb yes='y' no='n'}}

    대체할 수 있습니다.y 그리고 n 다음과 같은 다른 값과 함께 yes 그리고 no또는 조건에 따라 반환하려는 다른 문자열.

  • {{#gte valuea valueb}}

    조건이 true입니다.

    {{else}}

    조건이 false입니다.

    {{/gte}}

    블록 문에서 get 앞에 파운드 기호(#)를 붙이고 닫는 {{/gte}}로 끝나야 합니다.

이 예제에서는 도우미가 User.UserAttributes.UserAge.[0] 속성을 문자열과 비교합니다.18사용자의 연령이 18세 이상인지 확인합니다. 응답이 true이면 true 문이 반환됩니다. 응답이 false이면 else 문이 반환됩니다.

{{#gte User.UserAttributes.UserAge.[0] "18"}}

You are old enough to rent a car.

{{else}}

You are not old enough to rent a car.

{{/gte}}

다음과 같은 경우

어떤 것이 true인지 여부를 평가하고 평가에 따라 응답을 반환합니다.

사용량

  • {{#if value}}

    대체할 수 있습니다.y 그리고 n 다음과 같은 다른 값과 함께 yes 그리고 no또는 조건에 따라 반환하려는 다른 문자열.

  • {{#if value}}

    조건이 true입니다.

    {{else}}

    조건이 false입니다.

    {{/if}}

    블록 문에서 if 앞에 파운드 기호(#)를 붙이고 닫는 {{/if}}로 끝나야 합니다.

이 예제에서 헬퍼는 사용자의 이름이 맞는지 여부를 평가하는 데 사용됩니다. 이름을 찾으면 응답에 사용자의 이름을 전달하는 인사말이 반환됩니다. 그렇지 않으면 else 문은 대체 인사말을 반환합니다.

{{#if User.UserAttributes.FirstName.[0]}}

Hello {{User.UserAttributes.FirstName.[0]}},

{{else}}

Hello,

{{/if}}

반환 Hello Jane, 헬퍼가 true인 경우.

lt

한 요소의 값이 다른 요소보다 작은지 테스트합니다.

사용량

  • {{lt valuea valueb yes='y' no='n'}}

    대체할 수 있습니다.y 그리고 n 다음과 같은 다른 값과 함께 yes 그리고 no또는 조건에 따라 반환하려는 다른 문자열.

  • {{#lt valuea valueb}}

    조건이 true입니다.

    {{else}}

    조건이 false입니다.

    {{/lt}}

    블록 문에서 lt 앞에 파운드 기호(#)를 붙이고 닫는 {{/lt}}로 끝나야 합니다.

이 예제에서는 도우미가 User.UserAttributes.UserAge.[0] 속성을 문자열과 비교합니다.18 사용자의 연령이 18세 미만인지 확인합니다. 응답이 true이면 true 문이 반환됩니다. 응답이 false이면 else 문이 반환됩니다.

{{#lt User.UserAttributes.UserAge.[0] "18"}}

You are not old enough to rent a car.

{{else}}

You are old enough to rent a car.

{{/lt}}

lte

한 요소의 값이 다른 요소보다 작거나 같은지 테스트합니다.

사용량

  • {{lte valuea valueb yes='y' no='n'}}

    대체할 수 있습니다.y 그리고 n 다음과 같은 다른 값과 함께 yes 그리고 no또는 조건에 따라 반환하려는 다른 문자열.

  • {{#lte valuea valueb}}

    조건이 true입니다.

    {{else}}

    조건이 false입니다.

    {{/lte}}

    블록 문에서 lte 앞에 파운드 기호(#)를 붙이고 닫는 {{/lte}}로 끝나야 합니다.

이 블록 문에서 도우미는 User.UserAttributes.UserAge.[0] 속성을 문자열과 비교합니다.17사용자의 연령이 17세 이하인지 확인합니다. 응답이 true이면 true 문이 반환됩니다. 응답이 false이면 else 문이 반환됩니다.

{{#lte User.UserAttributes.Age.[0] "17"}}

You are not old enough to rent a car.

{{else}}

You are old enough to rent a car.

{{/lte}}

neq

두 요소가 같지 않은지 여부를 테스트합니다.

사용량

  • {{neq valuea valueb yes='y' no='n'}}

    대체할 수 있습니다.y 그리고 n 다음과 같은 다른 값과 함께 yes 그리고 no또는 조건에 따라 반환하려는 다른 문자열.

  • {{#neq valuea valueb}}

    조건이 true입니다.

    {{else}}

    조건이 false입니다.

    {{/neq}}

    블록 문에서 neq 앞에 파운드 기호(#)를 붙이고 닫는 {{/neq}}로 끝나야 합니다.

이 블록 문에서 User.UserAttributes.FavoriteColors.[0] 속성은 문자열 에 대해 확인됩니다Red. 응답이 true이면 true 문이 반환됩니다. 응답이 false이면 else 문이 반환됩니다.

{{#neq User.UserAttributes.Favorite.Colors.[0] "red"}}

You do not like red.

{{else}}

You like red.

{{/neq}}

not

부울 연산의 응답을 반전시켜 not이 긍정적 비교인 경우 true 문이 반환됩니다. 응답이 false이면 else 문이 반환됩니다.

사용량

  • {{not value yes='y' no='n'}}

    대체할 수 있습니다.y 그리고 n 다음과 같은 다른 값과 함께 yes 그리고 no또는 조건에 따라 반환하려는 다른 문자열.

  • {{#not value}}

    조건이 true입니다.

    {{else}}

    조건이 false입니다.

    {{/not}}

    블록 문에서 not 앞에 파운드 기호(#)를 붙이고 닫는 {{/not}}로 끝나야 합니다.

이 블록 문에서 User.UerAttributes.FavoriteColors.[0] 속성은 문자열에 대해 확인됩니다.red, eq 헬퍼 사용. 그러면 not 헬퍼는 eq 헬퍼의 정반대를 반환합니다. 응답이 다음 이외의 색상을 반환하는 경우 red, 문true이 반환됩니다. 응답이 반환되는 경우 red그러면 잘못된 else 문을 나타내는 문이 반환됩니다.

{{#not (eq User.UserAttributes.Favorite.Colors.[0] "red")}}

You do not like red.

{{else}}

You like red.

{{/not}}

이 예제에서

{{not (eq User.UserAttributes.FavoriteColors.[0] "red")}}

User.UserAttributes.FavoriteColors.[0] 인 경우 false를 반환합니다.red.

또는

인수의 요소 중 어느 것이든 같은 것이 있는지 여부를 비교한 다음 결과에 따라 응답을 반환합니다. 이 헬퍼는 부울 값이 아닌 경우에도 사용할 수 있습니다.

사용량

  • {{or valuea valueb valuec valued yes='y' no='n'}}

    대체할 수 있습니다.y 그리고 n 다음과 같은 다른 값과 함께 yes 그리고 no또는 조건에 따라 반환하려는 다른 문자열. 조건에 최소 두 개의 요소를 전달해야 합니다.

  • {{#or valuea valueb}}

    조건이 true입니다.

    {{else}}

    조건이 false입니다.

    {{/or}}

    블록 문에서 or 앞에 파운드 기호(#)를 붙이고 닫는 {{/or}}로 끝나야 합니다.

or 블록 문에서는 eq 헬퍼를 사용하여 Location.City 속성에 대한 두 문자열을 추가로 비교합니다. 두 속성 중 하나가 true인 경우 true 문이 반환됩니다. 응답 하나 이상이 false이면 else 문이 반환됩니다.

{{#or (eq Location.City "Los Angeles") (eq Location.City "Seattle")}}

You live on the West Coast of the United States.

{{else}}

You do not live on the West Coast of the United States.

{{/or}}

이 섹션에서는 다음과 같은 문자열 헬퍼를 설명합니다.

  • abbreviate - 값을 잘라냅니다.

  • capitalize - 공백 사이의 각 단어를 대문자로 표시합니다.

  • capitalizeFirst - 값의 첫 문자를 대문자로 표시합니다.

  • center - 값을 가운데에 맞춥니다.

  • cut - 값을 자릅니다.

  • dateFormat - 날짜 스타일을 설정합니다.

  • inflect - 개수를 기준으로 단수 또는 복수 문자열을 반환합니다.

  • join - 배열, 반복자 또는 반복 가능 객체를 조인합니다.

  • ljust - 값을 왼쪽 여백에 맞춥니다.

  • lower - 값을 소문자로 변환합니다.

  • now - 현재 날짜를 인쇄합니다.

  • ordinalize - 숫자 값을 서수화합니다.

  • replace - 한 문자열을 다른 문자열로 바꿉니다.

  • rjust - 값을 오른쪽 여백에 맞춥니다.

  • slugify - 값을 소문자로 변환하고 단어가 아닌 문자를 제거하고, 공백을 하이픈으로 변환하고, 후행 공백을 제거합니다.

  • stripTags – 값에서 [X]HTML 태그를 제거합니다.

  • substring - 새 문자열을 전달된 값의 하위 문자열로 반환합니다.

  • upper - 전달된 값을 대문자로 변환합니다.

  • yesno - true, false, no를 Yes, No, Maybe로 바꿉니다.

abbreviate

값이 지정된 수를 초과하면 값을 잘라냅니다. 공백은 길이 수에 포함됩니다. 응답에 잘린 값을 나타내는 줄임표가 표시됩니다. 줄임표는 응답의 잘린 값에 포함됩니다. 이 유형의 헬퍼는 테이블이 크고 공간이 최소일 경우 유용합니다. 셀의 값을 잘라내면 테이블이 좀 더 균일하게 보입니다.

사용량

{{abbreviate value X}}, 교체 X 에는 유지할 문자 수를 나타내는 숫자 값이 있습니다. 음수는 지원되지 않습니다.

이 예제에서 abbreviateUser.UserAttributes.LastName.[0]을 6자로 자르는 데 사용됩니다. 응답에는 줄임표가 포함되며, 줄임표의 점은 총 6자에 포함됩니다.

{{abbreviate User.UserAttributes.LastName.[0] 6}}

Ale... 다음과 같은 경우 Alejandro 는 의 값입니다[0].

capitalize

공백 사이의 각 단어를 대문자로 표시합니다.

사용량

{{capitalize value}}

이 예제에서는 Attributes.description.[0] 항목의 각 단어에 첫 문자 대문자화가 적용됩니다.

{{capitalize Attributes.description.[0]}}

Attributes.description.[0]

My First Post, 값이 인 경우 Attributes.description.[0] my first post.

capitalizeFirst

값의 첫 문자를 대문자로 표시합니다.

사용량

{{capitalizeFirst value}}

이 예제에서는 Attributes.description.[0] 항목 첫 번째 단어의 첫 문자에 대문자화가 적용됩니다.

{{capitalizeFirst Attributes.description.[0]}}

My first post, 값이 인 경우 Attributes.description.[0] my first post.

center

지정된 너비의 필드에 있는 값을 지정된 숫자만큼 가운데에 맞춥니다. 선택적으로 패딩에 표시할 문자를 전달하거나 필드를 비워 둘 수 있습니다. 문자가 전달되지 않으면 공백이 사용됩니다.

사용량

{{center value size=X [pad=" "}} , 교체 X 숫자 값을 사용합니다.

pad를 비워 두면 응답에서 공백이 패딩으로 사용됩니다. 문자를 전달하면 해당 문자가 패딩의 각 공백에 표시됩니다. 음수는 지원되지 않습니다.

이 예제에서 의 값은 의 크기로 Location.City 중심을 맞춥니다.19.

{{center Location.City size=19}}

"    Los Angeles    " Location.City 가 인 경우 Los Angeles. 예제 출력에 표시된 따옴표는 강조용으로만 제공됩니다.

cut

문자열에서 지정된 값을 제거합니다.

사용량

{{cut value [" "]}}, 따옴표 파라미터 내의 공백을 잘라낼 값으로 바꿉니다. 파라미터 값이 전달되지 않으면 공백이 사용됩니다.

이 예제에서는 문자를 제거합니다.e Location.City 속성에서.

{{cut Location.City "e"}}

Los Angls [Location.City 가 인 경우 Los Angeles.

dateFormat

모든 응답에서 날짜의 기본 날짜 스타일을 설정합니다. 시간대 목록은 섹션을 IDs참조하세요https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.

사용량

{{dateFormat date [inputFormat="format1"] [outputFormat="format2"] [tz=timeZoneId] [locale=localeID]}}

format 파라미터는 다음 중 하나여야 합니다.

  • "full": 전체 날짜 형식. 예: Tuesday, September 19, 2020

  • "long": 긴 날짜 형식. 예: September 19, 2020

  • "medium": 중간 날짜 형식. 예: Sept 19, 2020

  • "short": 짧은 날짜 형식. 예: 9/19/20

  • "pattern": 사용자 지정 날짜 패턴 형식을 사용합니다. 날짜 패턴에 대한 자세한 내용은 https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html을 참조하세요.

"locale": 지정된 로케일에 기반한 날짜 형식을 사용합니다. 로케일에 대한 자세한 내용은 https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/LocaleUtils.html#toLocale-java.lang.String-을 참조하세요.

형식이 전달되지 않은 경우 기본적으로 medium이 사용됩니다.

이 예제에서는 에 대한 [0] 항목이 09/19/2020 User.UserAttributes.StartDate.[0]이고 에 따라 full 날짜 형식을 사용하여 사용자에게 메시지가 전송됩니다.America/Los_Angeles 시간대.

We can meet with you any time on {{dateFormat User.UserAttributes.StartDate.[0] inputFormat="MM/dd/yyyy" outputFormat="full" tz=America/Los_Angeles}}.

We can meet with you any time on Tuesday, September 19, 2020.

inflect

개수 값을 기준으로 단수 또는 복수 문자열을 반환합니다.

사용량

{{inflect count singular plural [includeCount=false]}}

  • 인수에 전달하려는 문자열의 단수 및 복수 형식을 입력합니다.

  • includeCountfalse로 설정하면 응답에 개수가 반환되지 않습니다. true로 설정하면 응답에 count가 포함됩니다.

다음 예제는 includeCount가 있을 때와 없을 때의 사과 구매의 굴절을 보여줍니다.

Thank you for your purchase of {{inflect 3 apple apples includeCount=false}}.는 다음을 반환합니다.

Thank you for your purchase of apples.

includeCounttrue로 설정된 경우 응답은 다음과 같습니다.

Thank you for your purchase of 3 apples.

join

배열, 반복자 또는 반복 가능 객체를 조인합니다. 응답은 목록의 각 값이 join에서 전달한 문자로 연결된 목록을 반환합니다. 예를 들어 쉼표(,)를 사용하여 값을 구분할 수 있습니다. 이 헬퍼의 값은 속성 위치 인덱스가 없는 목록이어야 합니다. 예를 들어 Attributes.custom_attribute일 수 있습니다.

사용량

{{join value " // " [prefix=""] [suffix=""]}}

이 예제에서는 쉼표와 공백(", ")으로 구분된 색상 목록이 반환됩니다.

{{join Attributes.favorite_colors ", "}}

blue, red, green Attributes.favorite_colors 가 목록인 경우 blue,red,green.

ljust

값을 왼쪽 여백에 정렬하고 오른쪽에 공백을 추가하여 값의 길이가 숫자와 일치하도록 합니다. 음수는 지원되지 않습니다.

선택적으로 pad를 표시할 문자를 전달하거나 필드를 비워 둘 수 있습니다. pad 값을 비워 두면 기본값은 공백입니다.

사용량

{{ljust value size=X [pad=" "]}}, 여기서 X 는 공백을 포함하여 값의 총 길이입니다.

이 예제에서 왼쪽 정당화 값은 입니다.15 는 Location.City에 적용됩니다.

{{ljust Location.City size=15}}

"Los Angeles    " 값이 인 경우 Location.City Los Angeles. 예제 출력에 표시된 따옴표는 강조용으로만 제공됩니다.

lower

값을 모두 소문자로 변환합니다.

사용량

{{lower value}}

이 예제에서는 에 대한 [0] 항목이 소문자로 User.UserAttributes.LastName.[0] 변경됩니다.

{{lower User.UserAttributes.LastName.[0]}}

santos 다음과 같은 경우 Santos 는 의 값입니다[0].

지금

전달된 시간대 ID를 기반으로 현재 날짜를 출력합니다. 시간대 목록은 섹션을 IDs참조하세요https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.

사용량

{{now ["format"] [tz=timeZoneId] [locale=localeID]}}

format 파라미터는 다음 중 하나여야 합니다.

  • "full": 전체 날짜 형식. 예: Tuesday, September 19, 2020

  • "long": 긴 날짜 형식. 예: September 19, 2020

  • "medium": 중간 날짜 형식. 예: Sept 19, 2020

  • "short": 짧은 날짜 형식. 예: 9/19/20

  • "pattern": 날짜 패턴. 날짜 패턴에 대한 자세한 내용은 https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html을 참조하세요.

"locale": 지정된 로케일에 기반한 날짜 형식을 사용합니다. 로케일에 대한 자세한 내용은 https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/LocaleUtils.html#toLocale-java.lang.String-을 참조하세요.

형식이 전달되지 않은 경우 기본적으로 medium이 사용됩니다.

이 예제에서는 로스앤젤레스의 현재 날짜가 medium 형식으로 반환됩니다.

{{now "medium" tz=America/Los_Angeles}}

Sept 19, 2020.

ordinalize

인수에 전달된 숫자 값을 서수화합니다. 예: 1 는 로 서수화됩니다.1st 그리고 22nd. 숫자 값만 지원됩니다.

사용량

{{ordinalize [number]}}

이 예제에서는 User.UserAttributes.UserAge[0] 항목이 서수화되어 메시지와 함께 반환됩니다.

Congratulations on your {{ordinalize User.UserAttributes.UserAge.[0]}} birthday!22 로 서수화됨 22nd.

Congratulations on your 22nd birthday!

replace

한 문자열을 다른 문자열로 바꿉니다. 문자열 또는 숫자 값은 리터럴이어야 합니다. 와일드카드 문자는 지원되지 않습니다.

사용량

{{replace stringToReplace replacementValue}}

이 예제에서는 밑줄(_)이 공백을 대체합니다.

{{replace Location.City " " "_"}}

Los_AngelesLocation.City 인 경우 Los Angeles.

rjust

값을 오른쪽 여백에 정렬하고 왼쪽에 공백을 추가하여 값의 길이가 숫자와 일치하도록 합니다. 음수는 지원되지 않습니다.

선택적으로 pad를 표시할 문자를 전달하거나 필드를 비워 둘 수 있습니다. pad 값을 비워 두면 기본값은 공백입니다.

사용량

{{rjust value size=X [pad=" "]}}, 여기서 X 는 공백을 포함하여 값의 총 길이입니다.

이 예제에서 올바른 정당화 값은 입니다.15Location.City 속성에 적용됩니다.

{{rjust Location.City size=15}}

"    Los Angeles" Location.City인 경우 Los Angeles. 출력에 표시된 따옴표는 강조용으로만 제공됩니다.

slugify

전달된 값을 소문자로 변환하고, 단어가 아닌 문자(영숫자 및 밑줄)를 제거하고, 공백을 하이픈으로 변환하고, 선행 또는 후행 공백을 제거합니다.

사용량

{{slugify value}}

이 예제에서는 Location.City 속성에 대해 slugify가 수행됩니다.

{{slugify Location.City}}

los-angeles Location.City 가 인 경우 Los Angeles.

stripTags

값에서 [X]HTML 태그를 제거합니다.

사용량

{{stripTags value}}

이 예제에서는 User.UserAttributes.interest.[0]의 HTML 태그가 제거됩니다.

{{stripTags User.UserAttributes.interests.[0]}}

Art인 경우 User.UserAttributes.interests.[0] <h1>Art</h1>.

substring

새 문자열을 전달된 값의 하위 문자열로 반환합니다. 길이와 위치는 startOffsetendOffset 파라미터에 의해 결정되며, 정수여야 합니다. 음수는 지원되지 않습니다. endOffset이 전달되지 않으면 하위 문자열은 문자열의 원래 끝 값을 사용합니다.

사용량

{{substring value startOffset [endOffset]}}

이 예제에서는 Location.City 속성에 오프셋 4와 endOffset 9가 적용됩니다.

{{substring Location.City 4 9}}

Angel 로스앤젤레스가 의 값Location.City인 경우 Los Angeles.

upper

전달된 값을 대문자로 변환합니다.

사용량

{{upper value}}

이 예제에서는 User.UserAttributes.LastName 속성의 [0] 항목이 모두 대문자로 변환됩니다.

{{upper User.UserAttributes.LastName.[0]}}

ROE User.UserAttributes.LastName.[0] 값이 인 경우 Roe.

yesno

true, false, NULLYes, No, Maybe로 바꿉니다.

사용량

{{yesno value [yes="yes"] [no="no"] maybe=["maybe"]}}

이 예제에서 IsUserSubscribed 속성은 사용자가 특정 목록을 구독하는지 여부를 반환합니다.

{{yesno Attributes.IsUserSubscribed}}

yes Attributes.IsUserSubscribed 가 인 경우 true.

이 섹션에서는 수학 및 인코딩 헬퍼를 설명합니다.

  • add - 두 숫자의 합을 반환합니다.

  • ceiling - 정수를 수학적 천장으로 올림합니다.

  • decode64 - base64 인코딩 값을 문자열로 디코딩합니다.

  • divide - 두 숫자의 몫을 반환합니다.

  • encode64 – base64를 사용하여 문자열을 인코딩합니다.

  • floor - 정수를 수학적 바닥으로 내림합니다.

  • md5 - MD5 알고리즘을 사용하여 전달된 문자열을 해시합니다.

  • modulo - 부동 소수점을 사용하여 두 숫자의 나머지를 반환합니다.

  • multiply - 두 숫자의 곱을 반환합니다.

  • round - 십진수를 가장 가까운 정수로 올림(내림)합니다.

  • sha256 – SHA-256을 사용하여 전달된 문자열을 해시합니다.

  • sha512 – SHA-512를 사용하여 전달된 문자열을 해시합니다.

  • subtract - 두 숫자의 차를 반환합니다.

  • uuid – 는 128비트 형식으로 무작위로 UUID를 생성합니다.

추가

두 숫자의 합을 부동 소수점과 함께 반환합니다.

사용량

{{add arg1 arg2}}

{{add 5 2.3}}

7.3

ceiling

정수를 수학적 천장, 즉 전달된 값에 가장 가까운 가장 큰 정수로 올림합니다.

사용량

{{ceiling value}}

{{ceiling 5.23}}

6

decode64

base64 인코딩 값을 문자열로 디코딩합니다.

사용량

{{decode64 "string"}}

{{decode64 "SGVsbG8gd29ybGQ="}}

Hello World

divide

부동 소수점을 포함한 두 숫자의 몫을 반환합니다.

사용량

{{divide arg1 arg2}}

{{divide 5 2.3}}

2.17391304

encode64

base64를 사용하여 인수에 전달된 문자열을 인코딩합니다.

사용량

{{encode64 "string"}}

{{encode64 "Hello World"}}

SGVsbG8gd29ybGQ=

floor

정수를 수학적 바닥, 즉 전달된 값에 가장 가까운 가장 낮은 정수로 내림합니다.

사용량

{{floor value}}

{{floor 5.23}}

5

md5

MD5 알고리즘을 사용하여 전달된 문자열을 해시합니다.

사용량

{{md5 "string"}}

{{md5 "Hello World"}}

3e25960a79dbc69b674cd4ec67a72c62

모듈로

부동 소수점을 사용하여 두 숫자의 나머지를 반환합니다.

사용량

{{modulo arg1 arg2}}

{{modulo 7 2}}

1

multiply

두 숫자의 곱을 부동 소수점과 함께 반환합니다.

사용량

{{multiply arg1 arg2}}

{{multiply 5 2.3}}

11.5

round

소수 자리를 가장 가까운 정수로 올림 또는 내림합니다.

사용량

{{round value}}

You spent an average of {{round 19.21}} minutes on our website each day.는 다음을 반환합니다.

You spent an average of 19 minutes on our website each day.

sha256

SHA-256 암호화 보안을 사용하여 전달된 문자열을 해시합니다.

사용량

{{sha256 "string"}}

{{sha256 "Hello World"}}

a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e

sha512

SHA-512 암호화 보안을 사용하여 전달된 문자열을 해시합니다.

사용량

{{sha512 "string"}}

{{sha512 "Hello World"}}

2c74fd17edafd80e8447b0d46741ee243b7eb74dd2149a0ab1b9246fb30382f27e853d8585719e0e67cbda0daa8f51671064615d645ae27acb15bfb1447f459b

subtract

두 숫자의 차를 부동 소수점과 함께 반환합니다.

사용량

{{subtract arg1 arg2}}

{{subtract 5 2.3}}

2.7

uuid

는 표준 128비트 형식으로 무작위로 UUID를 생성합니다. 인수에 값을 전달할 필요는 없습니다.

사용량

{{uuid}}

{{uuid}}

95f36680-152c-4052-99ec-cc3cdf7ca594

기술적으로 헬퍼는 아니지만 인라인 부분음은 반복되는 문자열이 포함된 템플릿을 간소화하는 핸들바 방법으로 재사용하는 것이 좋습니다. 자세한 내용은 handlebarsjs.com 인라인 부분음을 참조하세요.

사용량

{{#* inline "inlineName"}}Content to reuse{{/inline}}

인라인 부분의 내용을 다른 곳에서 참조하려면 다음을 사용하세요.

{{> inlineName}}

다음 예제에서는 템플릿의 시작 부분에 다음 코드를 추가하여 수신자의 이름, 사용 가능한 경우 성을 포함하는 인라인 부분 부분을 생성합니다.

{{#* inline "fullName"}}

{{User.UserAttributes.FirstName.[0]}} {{#if User.UserAttributes.LastName.[0]}} {{User.UserAttributes.LastName.[0]}} {{/if}}

{{/inline}}

fullName 부분을 생성한 후 예({{> fullName}})와 같이 부분의 이름 앞에 >(보다 큼) 기호와 공백을 넣어 템플릿의 어느 곳에나 포함할 수 있습니다.

{{> fullName}} 님 안녕하세요.

는 true인 경우 사용자의 이름과 성을 반환합니다. 예: Hello Jane Doe. 그렇지 않으면 성을 찾을 수 없으면 Hello Jane 가 반환됩니다.

핸들바에는 여기에 설명된 기능 이외의 추가 기능이 포함되어 있습니다. 자세한 내용은 handlebarsjs.com을 참조하세요.

메시지 템플릿 헬퍼와 함께 변수 사용

Amazon Pinpoint 사용자 지정 속성(예: User.UserAttributes.LastName)은 단일 항목이든 여러 항목이든 상관없이 목록으로 저장됩니다. 문자열이 필요한 헬퍼에 목록을 전달할 때는 속성 이름과 함께 속성 인덱스 값을 지정해야 합니다. 이 속성 인덱스 값은 속성 목록에 있는 값의 위치를 나타냅니다. .[0]은 목록의 첫 번째 항목, .[1]은 두 번째 항목, .[2]는 세 번째 항목과 같은 식입니다. 예를 들어 upper 헬퍼를 사용하여 User.UserAttributes.LastName의 첫 번째([0])항목을 모두 대문자로 변환한다고 가정해 보겠습니다. 헬퍼 사용법은 {{upper value}}이고 속성 형식은 User.UserAttributes.LastName입니다. Replace value 다음과 .[0] 같이 속성 이름 및 속성 인덱스 값을 사용합니다{{upper User.UserAttributes.LastName.[0]}}. 그러면 응답은 목록에서 모두 대문자로 형식 지정된 [0] 항목을 반환합니다. 예를 들어 의 값이 [0] 인 경우 Santos, 응답이 반환됩니다.SANTOS.

Amazon Pinpoint 사용자 지정 속성 이름은 공백을 지원합니다. 라는 사용자 지정 속성을 가지려면 속성을 로 포맷"Last Name"해야 합니다User.UserAttributes.[Last Name]. 속성 인덱스 목록의 첫 번째 항목에 액세스하려면 형식은 입니다User.UserAttributes.[Last Name].[0].

사용자 지정 속성 이름은 최대 50자를 포함할 수 있습니다. 속성 값은 최대 100자를 포함할 수 있습니다. 사용자 지정 속성의 이름을 정의할 때는 번호 기호(#), 콜론(:), 물음표(?), 백슬래시(\), 슬래시(/) 문자를 사용하지 마세요. Amazon Pinpoint 콘솔은 이러한 문자가 포함된 속성 이름을 표시할 수 없습니다. 이 제한은 속성 값에는 적용되지 않습니다.

중첩된 헬퍼 사용

여러 메시지 템플릿 헬퍼를 서로 중첩할 수 있습니다. 다음 예제는 두 헬퍼의 형식을 지정하는 방법을 보여 줍니다. {{ first helper (second helper)}} 두 번째 헬퍼가 먼저 처리된 다음 첫 번째 헬퍼가 처리됩니다. 항상 첫 번째 헬퍼가 출력을 결정한다는 점을 기억하세요. 후속 헬퍼는 다음과 같이 이전 헬퍼 내에 중첩되어야 합니다. {{ first helper (second helper (third helper) )}}

다음 예제는 두 개의 헬퍼를 중첩하여 JANEJane로 변경하는 방법을 보여줍니다. {{capitalizeFirst (lower "JANE")}}. lower가 먼저 JANEjane으로 변환합니다. 그런 다음 capitalizeFirstjaneJane으로 변환합니다.