翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
メッセージテンプレートヘルパーを使用する
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 文のために。
-
- if
-
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 の場合。
このセクションでは条件付きヘルパーについて説明します。
条件付きヘルパーは、1 行またはブロック文で使用できます。どのヘルパーメソッドを使用しても、レスポンスをカスタマイズすることができます。一行文とブロック文の両方で、追加の条件付きヘルパーを渡すことができます。以下の条件付きヘルパーは、まず 1 行で使用し、次にオプションの else
句を使用したブロック文での使用法を示しています。条件付きヘルパーは次のとおりです。
-
and
– 渡されたすべての要素が等しいかどうかを比較します。 -
eq
— 2 つの要素が等しいかどうかをテストします。 -
gt
— ある要素が別の要素よりも大きいかどうかをテストします。 -
gte
— ある要素が別の要素よりも大きいかどうかまたは等しいかどうかをテストします。 -
if
– 何かが本当かどうかを評価します。 -
lt
— ある要素が別の要素よりも小さいかどうかをテストします。 -
lte
— ある要素が別の要素よりも小さいかどうかまたは等しいかどうかをテストします。 -
neq
— 2 つの要素が等しいかどうかを評価します。 -
not
– ブール演算のレスポンスを反転します。 -
or
— 引数内の要素のいずれかが等しいかどうかを比較します。
- また、
-
引数で渡されたすべての要素が等しいかどうかを比較し、その結果に基 づいて応答を返す。このヘルパーは、ブール値以外の値に対して使用することができます。条件として、少なくとも 2 つの要素を渡す必要があります。
使用方法
-
{{and
valuea
valueb
valuec
valued
yes='y
' no='n
'}}を置き換えることができます。
y
また、n
他の値、例えばyes
また、no
、または条件に応じて返される他の文字列。 -
{{#and
valuea
valueb
}}条件が true です。
{{else}}
条件が false です。
{{/and}}
and
は、ブロック文の前にポンド記号(#
)をつけ、最後に{{/and}}
を閉じなければなりません。
例
この例では、
and
ブロック文内でeq
を使用して、Location.City
とLocation.Country
属性に渡された両方の文字列が true であるかどうかを判断しています。両方の条件が等しければ、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
-
2 つの要素が等しいかどうか、または、1 つの要素の値が、渡された文字列と等しいかどうかをテストします。
使用方法
-
{{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}}
-
- if
-
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
-
2 つの要素が等しくないかどうかをテストします。
使用方法
-
{{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
次に、falseelse
ステートメントを示すステートメントが返されます。{{#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
、または条件に応じて返される他の文字列。条件として、少なくとも 2 つの要素を渡す必要があります。 -
{{#or
valuea
valueb
}}条件が true です。
{{else}}
条件が false です。
{{/or}}
or
は、ブロック文の前にポンド記号(#
)をつけ、最後に{{/or}}
を閉じなければなりません。
例
加えて、この
or
ブロック文では、Location.City
属性の 2 つの文字列をeq
ヘルパーを使って比較します。いずれかの属性がtrue
の場合、true 文が返されます。1 つ以上の回答が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
、置き換えvalue
X
}}X
保持する文字数を示す数値。負の数には対応していません。例
この例では、
abbreviate
を使用してUser.UserAttributes.LastName.[0]
を 6桁に切り捨てます。応答には省略記号が含まれ、そのドットには 6 文字の合計にカウントされます。{{abbreviate
が返すUser.UserAttributes.LastName.[0]
6
}}Ale...
ifAlejandro
は の値です[0]
。 - 大文字にする
-
空白の間にある各単語を大文字にします。
使用方法
{{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
で、引用符パラメータ内のスペースを切り取る値で置き換えます。パラメータ値が渡されない場合は、空白が使用されます。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]
エントリはUser.UserAttributes.StartDate.[0]
09/19/2020
で、 に基づく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
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
ifSantos
は の値です[0]
。 - now
-
渡されたタイムゾーン 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
を使用します。例
この例では、Los Angeles の現在の日付を
medium
の形式で返します。{{now "medium" tz=
が返すAmerica/Los_Angeles
}}Sept 19, 2020
. -
- 順序付け
-
引数に渡される数値を順序付けします。例えば、 などです
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]
}}例
この例では、4 と 9 endOffset のオフセットが Location.City 属性に適用されます。
{{substring
が返すLocation.City 4 9
}}
Los Angeles が の値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
— 2 つの数の加算結果を返します。 -
ceiling
— 最も近い整数に切り上げます。 -
decode64
— base64 でエンコードされた値を文字列にデコードします。 -
divide
— 2 つの数の除算結果を返します。 -
encode64
— base64 を使用して文字列をエンコードします。 -
floor
— 最も近い整数に切り下げます。 -
md5
– MD5アルゴリズムを使用して渡された文字列をハッシュします。 -
modulo
– 浮動小数点を使用して 2 つの数値の残りを返します。 -
multiply
— 2 つの数の乗算結果を返します。 -
round
— 10 進数を四捨五入して、最も近い整数にします。 -
sha256
– SHA-256 を使用して渡された文字列をハッシュします。 -
sha512
– SHA-512 を使用して渡された文字列をハッシュします。 -
subtract
— 2 つの数値の減算結果を返します。 -
uuid
– は 128 ビット形式でランダムUUIDに を生成します。
- add
-
浮動小数点数とともに 2 つの数値の加算結果を返します。
使用方法
{{add
arg1
arg2
}}例
{{add
が返す5 2.3
}}7.3
- ceiling
-
渡された整数値を最も近い整数に切り上げます。
使用方法
{{ceiling
value
}}例
{{ceiling
が返す5.23
}}6
- decode64
-
base64 でエンコードされた値を文字列にデコードします。
使用方法
{{decode64 "
string
"}}例
{{decode64 "
が返すSGVsbG8gd29ybGQ
="}}Hello World
- 除算
-
浮動小数点を含む 2 つの数値の除算結果を返します。
使用方法
{{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
- モジュロ
-
浮動小数点を使用して 2 つの数値の余りを返します。
使用方法
{{modulo
arg1
arg2
}}例
{{modulo
が返す7 2
}}1
- multiply
-
浮動小数点数とともに 2 つの数値の乗算結果を返します。
使用方法
{{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
- 減算
-
浮動小数点数とともに 2 つの数値の減算結果を返します。
使用方法
{{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
メッセージテンプレートヘルパーで変数を使用する
User.UserAttributes.LastName
などの Amazon Pinpoint カスタム属性は、1 つの項目でも、複数の項目でも、リストとして保存されます。文字列の引数が必要なヘルパーでリストを渡す場合、属性名と一緒に属性インデックス値も指定する必要があります。この属性インデックス値は、属性リストからの値の位置を示します。.[0]
はリストの最初のエントリ、.[1]
は 2 番目のエントリ、.[2]
は 3 番目のエントリ、のようになります。例えば、upper
ヘルパーを使って、User.UserAttributes.LastName
の最初のエントリー ([0]
) をすべて大文字に変換することにします。ヘルパーの使い方は {{upper
で、属性の書式は value
}}User.UserAttributes.LastName
です。置換 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 コンソールでは、これらの文字を含む属性名を表示できません。この制限は、属性値には適用されません。
ネストされたヘルパーを使用する
複数のメッセージテンプレートヘルパーを互いにネストすることができます。次に、2 つの {{ first helper (second helper)}}
ヘルパーをフォーマットする例を示します。2 番目のヘルパーが最初に処理され、その後に 1 番目のヘルパーが処理されます。最初のヘルパーが常に出力を決定することを留意してください。後続のヘルパーは、{{ first helper (second helper (third helper)
)}}
のように、最初のヘルパー内にネストする必要があります。
次の例 {{capitalizeFirst
(lower "
は、JANE
")}}JANE
を Jane
に変更するために 2 つのヘルパーをネストさせる方法を示しています。lower
はまず JANE
を jane
に変換します。その後、capitalizeFirst
は jane
を Jane
に変換します。