기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
메시지 템플릿 헬퍼 사용
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
에는 유지할 문자 수를 나타내는 숫자 값이 있습니다. 음수는 지원되지 않습니다.예
이 예제에서
abbreviate
는User.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]}}-
인수에 전달하려는 문자열의 단수 및 복수 형식을 입력합니다.
-
includeCount
를false
로 설정하면 응답에 개수가 반환되지 않습니다.true
로 설정하면 응답에count
가 포함됩니다.
예
다음 예제는
includeCount
가 있을 때와 없을 때의 사과 구매의 굴절을 보여줍니다.Thank you for your purchase of {{inflect
는 다음을 반환합니다.3
apple
apples
includeCount=false
}}.Thank you for your purchase of apples.
includeCount
가true
로 설정된 경우 응답은 다음과 같습니다.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
그리고2
로2nd
. 숫자 값만 지원됩니다.사용량
{{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_Angeles
가Location.City
인 경우Los Angeles
. - rjust
-
값을 오른쪽 여백에 정렬하고 왼쪽에 공백을 추가하여 값의 길이가 숫자와 일치하도록 합니다. 음수는 지원되지 않습니다.
선택적으로
pad
를 표시할 문자를 전달하거나 필드를 비워 둘 수 있습니다.pad
값을 비워 두면 기본값은 공백입니다.사용량
{{rjust
, 여기서value
size=X
[pad=" "]}}X
는 공백을 포함하여 값의 총 길이입니다.예
이 예제에서 올바른 정당화 값은 입니다.
15
는Location.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
-
새 문자열을 전달된 값의 하위 문자열로 반환합니다. 길이와 위치는
startOffset
및endOffset
파라미터에 의해 결정되며, 정수여야 합니다. 음수는 지원되지 않습니다.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
,NULL
을Yes
,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)
)}}
다음 예제는 두 개의 헬퍼를 중첩하여 JANE
을 Jane
로 변경하는 방법을 보여줍니다. {{capitalizeFirst
(lower "
. JANE
")}}lower
가 먼저 JANE
을 jane
으로 변환합니다. 그런 다음 capitalizeFirst
가 jane
을 Jane
으로 변환합니다.