翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
メッセージテンプレートヘルパーを使用する
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}}
好きな色はありません。
{{/each}}
が返す-
赤色
-
青色
-
黄色
true 文のために。
-
- if
-
true であるかどうかを評価し、その評価に基づいた応答を返します。
使用方法
{{#if
value
}}値は未定義ではない
{{else}}
値は未定義である
{{/if}}
if
は、ブロック文の前にポンド記号(#
)をつけ、最後に{{/if}}
を閉じなければなりません。例
この例では、
if
ヘルパーを使用して、ユーザーのファーストネームがあるかどうかを評価します。名前が見つかった場合は、ユーザーのファーストネームを渡す挨拶文がレスポンスとして返されます。そうでない場合、else
文は、代替えの挨拶文を返します。{{#if User.UserAttributes.FirstName.[0]}}
Hello
{{User.UserAttributes.FirstName.[0]}},
{{else}}
ようこそ
{{/if}}
if
ヘルパーが true のとき、Hello, Jane
を返します。
このセクションでは条件付きヘルパーについて説明します。
条件付きヘルパーは、1 行またはブロック文で使用できます。どのヘルパーメソッドを使用しても、レスポンスをカスタマイズすることができます。一行文とブロック文の両方で、追加の条件付きヘルパーを渡すことができます。以下の条件付きヘルパーは、まず 1 行で使用し、次にオプションの else
句を使用したブロック文での使用法を示しています。条件付きヘルパーは次のとおりです。
-
and
— 渡されたすべての要素が等しいかどうか比較します。 -
eq
— 2 つの要素が等しいかどうかをテストします。 -
gt
— ある要素が別の要素よりも大きいかどうかをテストします。 -
gte
— ある要素が別の要素よりも大きいかどうかまたは等しいかどうかをテストします。 -
if
— ある事象が true かどうかを評価します。 -
lt
— ある要素が別の要素よりも小さいかどうかをテストします。 -
lte
— ある要素が別の要素よりも小さいかどうかまたは等しいかどうかをテストします。 -
neq
— 2 つの要素が等しいかどうかを評価します。 -
not
— ブール演算の応答を反転します。 -
or
— 引数内の要素のいずれかが等しいかどうかを比較します。
- and
-
引数で渡されたすべての要素が等しいかどうかを比較し、その結果に基 づいて応答を返す。このヘルパーは、ブール値以外の値に対して使用することができます。条件として、少なくとも 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")}}
アメリカのロサンゼルスに住んでいます。
{{else}}
アメリカのロサンゼルスに住んでいません。
{{/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]
の値が赤色
であるかどうかを評価するために使用されます。応答がtrue
の場合は、true 文が返されます。応答がfalse
の場合は、else
文が返されます。{{#eq User.UserAttributes.FavoriteColors.[0] "
red
"}}好きな色は赤色です。
{{else}}
赤色は嫌いな色です。
{{/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
"}}車を借りるのに十分な年齢です。
{{else}}
車を借りるのに十分な年齢ではありません。
{{/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
"}}車を借りるのに十分な年齢です。
{{else}}
車を借りるのに十分な年齢ではありません。
{{/gte}}
-
- if
-
true であるかどうかを評価し、その評価に基づいた応答を返します。
使用方法
-
{{#if
value
}}y
とn
は、条件によって、yes
やno
など他の値や、戻り値にしたい文字列に置き換えることができます。 -
{{#if
}}value
条件が true です。
{{else}}
条件が false です。
{{/if}}
if
は、ブロック文の前にポンド記号(#
)をつけ、最後に{{/if}}
を閉じなければなりません。
例
この例では、 ヘルパーを使用して、ユーザーのファーストネームがあるかどうかを評価します。名前が見つかった場合は、ユーザーのファーストネームを渡す挨拶文がレスポンスとして返されます。それ以外の場合は、else 文で代替の挨拶文を返します。
{{#if User.UserAttributes.FirstName.[0]}}
ようこそ
{{User.UserAttributes.FirstName.[0]}}
、
{{else}}
ようこそ
{{/if}}
ヘルパーが true のとき、
Hello Jane
を返します。 -
- 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
"}}車を借りるのに十分な年齢ではありません。
{{else}}
車を借りるのに十分な年齢です。
{{/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
"}}車を借りるのに十分な年齢ではありません。
{{else}}
車を借りるのに十分な年齢です。
{{/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
"}}赤色が嫌いです。
{{else}}
赤色が好きです。
{{/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]
属性と文字列の赤色
をeq
ヘルパーで照合しています。not
ヘルパーは、eq
ヘルパーとは逆の値を返します。赤色
以外が返された場合は、true
文が返されます。レスポンスが赤色
を返した場合は、false 文のelse
文が返されます。{{#not (eq User.UserAttributes.Favorite.Colors.[0] "
red
")}}赤色が嫌いです。
{{else}}
赤色が好きです。
{{/not}}
例
この例では、
{{not (eq User.UserAttributes.FavoriteColors.[0] "
red
")}}User.UserAttributes.FavoriteColors.[0]
が赤色
の場合は false を返します。 -
- or
-
引数の要素のいずれかが等しいかどうかを比較し、その結果に基づいて応答を返します。このヘルパーは、ブール値以外の値に対して使用することができます。
使用方法
-
{{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")}}
アメリカ西海岸に住んでいます。
{{else}}
アメリカ西海岸に住んでいません。
{{/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...
Alejandro
が[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
[" "
]}}例
この例では、
Location.City
属性から文字e
を削除します。{{cut
が返すLocation.City
"e
"}}Los Angls
、[Location.City
がLos Angeles
の場合。 - dateFormat
-
任意の応答における日付のデフォルトスタイルを設定します。タイムゾーン ID のリストについては、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
を使用します。例
この例では、
のUser.UserAttributes.StartDate.[0]
[0]
エントリが09/19/2020
であり、America/Los_Angeles
のタイムゾーンに基づくfull
日付形式を用いてメッセージをユーザーに送信します。We can meet with you any time on
{{dateFormat User.UserAttributes.StartDate.[0] inputFormat="MM/dd/yyyy" outputFormat="full" tz=America/Los_Angeles}}.
が返す2020年9月19日(火)はいつでもお会いできます。
-
- インフレクト
-
カウントの値に応じた単数または複数の文字列を返します。
使用方法
{{inflect
count
singular
plural
[includeCount=false]}}-
引数に渡す文字列の単数形および複数形を入力します。
-
includeCount
をfalse
に設定した場合、応答ではカウントを返しません。true
に 設定すると、count
が応答に含まれます。
例
次の例では、リンゴを購入する際の編曲を、
includeCount
有るか無いかで表示します。Thank you for your purchase of {{inflect
を返す。3
apple
apples
includeCount=false
}}.りんごをご購入いただきありがとうございました。
includeCount
がtrue
に設定されている場合、応答はりんごを 3 つご購入いただきありがとうございました。
-
- 結合
-
配列、イテレーター、または反復可能なオブジェクトを結合します。応答はリストを返し、リストの各値は
join
で渡した文字で連結されます。例えば、カンマ (,
) で値を区切ります。このヘルパーの値は、属性位置インデックスを持たないリストでなければなりません。例えば、Attributes.custom_attribute
のようなものです。使用方法
{{join
value
" // " [prefix=""] [suffix=""]}}例
この例では、コンマとスペース (
", "
) で区切った色のリストを返しています。{{join
が返すAttributes.favorite_colors
",
"}}青色、赤色、緑色
、Attributes.favorite_colors
が青色、赤色、緑色
リストの場合。 - ljust
-
値を左余白に揃え、値の長さが数値と一致するように、右に余白を追加します。負の数には対応していません。
オプションで
pad
に表示する文字を渡すか、フィールドを空白にすることができます。pad
の値を空白にした場合、デフォルト値は空白になります。使用方法
{{ljust
、value
size=X
[pad=" "]}}X
は空白を含む値の全長です。例
この例では、Location.City を
15
で左揃えします。{{ljust
が返すLocation.City
size=15
}}「Los Angeles 」
、Location.City
の値がLos Angeles
の場合。出力例に表示される引用符は、強調のためにのみ提供されます。 - lower
-
値を小文字に変換します。
使用方法
{{lower
value
}}例
この例では、
User.UserAttributes.LastName.[0]
の[0]
エントリーを小文字に変更します。{{lower
が返すUser.UserAttributes.LastName.[0]
}}santos
、Santos
が[0]
の値の場合。 - now
-
渡されたタイムゾーン ID に基づいて、現在の日付を出力します。タイムゾーン ID のリストについては、https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
を参照してください。 使用方法
{{now [format="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
として順序付けした値を返します。22歳の誕生日おめでとうございます!
- replace
-
ある文字列を別の文字列に置き換えます。文字列または数値はリテラルでなければなりません。ワイルドカード文字はサポートされていません。
使用方法
{{replace
stringToReplace
replacementValue
}}例
この例では、アンダースコア (_) を空白に置き換えます。
{{replace
が返すLocation.City
" " "_"
}}Los_Angeles
、Location.City
がLos Angeles
の場合。 - rjust
-
値を右余白に揃え、値の長さが数値と一致するように、左に余白を追加します。負の数は対応していません。
オプションで
pad
に表示する文字を渡すか、フィールドを空白にできます。pad
の値を空白にした場合、デフォルト値は空白になります。使用方法
{{rjust
、value
size=X
[pad=" "]}}X
は空白を含む値の全長です。例
この例では、
Location.City
属性を15
で右揃えします。{{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
}}
、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.毎日平均 19 分をウェブサイトを閲覧しています。
- sha256
-
SHA-512 暗号化セキュリティを使用して、渡された文字列をハッシュ化します。
使用方法
{{sha256 "
string
"}}例
{{sha256 "
が返すHello World
"}}a591a6d40bf420404a011733cfb7b190d62c65bf0bda32b57b277d9ad9d9f146e
- sha512
-
SHA-512 暗号化セキュリティを使用して、渡された文字列をハッシュ化します。
使用方法
{{sha512 "
string
"}}例
{{sha512 "
が返すHello World
"}}2c74fd17edafd80e8447b0d467b0d461e243b7eb74d2149a0ab1b74d2149a0ab1b9246f30382f27e857e85719ee67cbda0da8f51671064615d6d6b459b
- 減算
-
浮動小数点数とともに 2 つの数値の減算結果を返します。
使用方法
{{subtract
arg1
arg2
}}例
が返す{{subtract
5 2.3
}}2.7
- uuid
-
標準 128 ビット形式の UUID をランダムで生成します。引数に値を渡す必要はありません。
使用方法
{{uuid}}
例
が返す{{uuid}}
95f36680-152c-4052-99ec-cc3cdf7ca594
技術的にはヘルパーではありませんが、インラインパーシャルは、繰り返される文字列を含むテンプレートを効率化するための再利用に適した Handlebars の方法です。詳細については、「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
パーシャルを作成したら、パーシャルの名前の前に >
(大文字) 記号をつけ、その後に空白を入れることで、テンプレートのどこにでも挿入できます。
Hello {{> fullName}}
true の場合、ユーザーの名前と名字を返します。例: Hello Jane Doe
。それ以外の場合、苗字が見つからなければ、Hello Jane
が返されます。
ここに記載されている機能の他にも、Handlebars はさまざまな機能を提供します。詳細については、「handlebarsjs.com
メッセージテンプレートヘルパーで変数を使用する
User.UserAttributes.LastName
などの Amazon Pinpoint カスタム属性は、1 つの項目でも、複数の項目でも、リストとして保存されます。文字列の引数が必要なヘルパーでリストを渡す場合、属性名と一緒に属性インデックス値も指定する必要があります。この属性インデックス値は、属性リストからの値の位置を示します。.[0]
はリストの最初のエントリ、.[1]
は 2 番目のエントリ、.[2]
は 3 番目のエントリ、のようになります。例えば、upper
ヘルパーを使って、User.UserAttributes.LastName
の最初のエントリー ([0]
) をすべて大文字に変換することにします。ヘルパーの使い方は {{upper
で、属性の書式は value
}}User.UserAttributes.LastName
です。{{upper
User.UserAttributes.LastName.[0]}}
に従い、値
を属性名と属性インデックス値
に置き換えます。その後、応答はリストの中から .[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
に変換します。