本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 $ 實用助手
注意
我們現在主要支援 APPSYNC_JS 執行階段及其說明文件。請考慮在此處使用 APPSYNC_JS 執行階段及其指南。
此$util
變數包含可協助您處理資料的一般公用程式方法。除非另行指定,否則所有公用程式皆使用 UTF-8 字元集。
解析工具
-
$util.parseJson(String) : Object
-
採用「字串化」JSON,並傳回結果的物件呈現。
-
$util.toJson(Object) : String
-
採用物件,並傳回該物件的「字串化」JSON 呈現。
編碼公用程式
-
$util.urlEncode(String) : String
-
以
application/x-www-form-urlencoded
編碼字串的形式傳回輸入字串。 -
$util.urlDecode(String) : String
-
將
application/x-www-form-urlencoded
編碼的字串解碼回非編碼格式。 -
$util.base64Encode( byte[] ) : String
-
將輸入編碼為 base64 編碼字串。
-
$util.base64Decode(String) : byte[]
-
解碼 base64 編碼字串中的資料。
ID 產生公用程式
-
$util.autoId() : String
-
傳回 128 位元隨機產生的 UUID。
$util.autoUlid() : String
-
返回一個 128 位隨機生成的 ULID(通用唯一的字典排序標識符)。
$util.autoKsuid() : String
-
返回 128 位隨機生成的 KSUID(K 可排序的唯一標識符)基於 62 編碼為長度為 27 的字符串。
錯誤實用程序
-
$util.error(String)
-
擲回自訂錯誤。在請求或響應映射模板中使用此選項,以檢測請求或調用結果的錯誤。
-
$util.error(String, String)
-
擲回自訂錯誤。在請求或響應映射模板中使用此選項,以檢測請求或調用結果的錯誤。您也可以指定
errorType
. -
$util.error(String, String, Object)
-
擲回自訂錯誤。在請求或響應映射模板中使用此選項,以檢測請求或調用結果的錯誤。您也可以指定
errorType
和data
欄位。data
值將新增到 GraphQL 回應中,error
內對應的errors
區塊。注意
data
將根據查詢選集進行篩選。 -
$util.error(String, String, Object, Object)
-
擲回自訂錯誤。如果範本偵測到要求或呼叫結果的錯誤,您可以將此用於要求或回應映射範本。此外
errorType
,還可以指定data
欄位、errorInfo
欄位和欄位。data
值將新增到 GraphQL 回應中,error
內對應的errors
區塊。注意
data
將根據查詢選集進行篩選。errorInfo
值將新增到 GraphQL 回應中,error
內對應的errors
區塊。errorInfo
將不會根據查詢選集進行篩選。 -
$util.appendError(String)
-
附加自訂錯誤。如果範本偵測到要求或呼叫結果的錯誤,您可以將此用於要求或回應映射範本。與
$util.error(String)
不同的是,範本評估不會受中斷,因此可以將資料傳回給發起人。 -
$util.appendError(String, String)
-
附加自訂錯誤。如果範本偵測到要求或呼叫結果的錯誤,您可以將此用於要求或回應映射範本。您同時可以指定
errorType
。與$util.error(String, String)
不同的是,範本評估不會受中斷,因此可以將資料傳回給發起人。 -
$util.appendError(String, String, Object)
-
附加自訂錯誤。如果範本偵測到要求或呼叫結果的錯誤,您可以將此用於要求或回應映射範本。您同時可以指定
errorType
和data
欄位。與$util.error(String, String, Object)
不同的是,範本評估不會受中斷,因此可以將資料傳回給發起人。data
值將新增到 GraphQL 回應中,error
內對應的errors
區塊。注意
data
將根據查詢選集進行篩選。 -
$util.appendError(String, String, Object, Object)
-
附加自訂錯誤。如果範本偵測到要求或呼叫結果的錯誤,您可以將此用於要求或回應映射範本。此外
errorType
,還可以指定data
欄位、errorInfo
欄位和欄位。與$util.error(String, String, Object, Object)
不同的是,範本評估不會受中斷,因此可以將資料傳回給發起人。data
值將新增到 GraphQL 回應中,error
內對應的errors
區塊。注意
data
將根據查詢選集進行篩選。errorInfo
值將新增到 GraphQL 回應中,error
內對應的errors
區塊。errorInfo
將不會根據查詢選集進行篩選。
條件驗證實用程序
-
$util.validate(Boolean, String) : void
-
如果條件為 false,則拋出 CustomTemplateException 帶有指定消息的一個。
-
$util.validate(Boolean, String, String) : void
-
如果條件為 false,則拋出 CustomTemplateException 具有指定消息和錯誤類型的一個。
-
$util.validate(Boolean, String, String, Object) : void
-
如果條件為 false,則拋出 CustomTemplateException 帶有指定消息和錯誤類型的一個,以及要在響應中返回的數據。
空行为实用程序
-
$util.isNull(Object) : Boolean
-
如果提供物件為 null,則傳回真。
-
$util.isNullOrEmpty(String) : Boolean
-
如果提供資料為 null 或空白字串,則傳回真。否則即傳回 false。
-
$util.isNullOrBlank(String) : Boolean
-
如果提供資料為 null 或空白字串,則傳回真。否則即傳回 false。
-
$util.defaultIfNull(Object, Object) : Object
-
如果不是 null,則傳回第一個物件。否則,會傳回第二個物件做為「預設物件」。
-
$util.defaultIfNullOrEmpty(String, String) : String
-
如果不是 null 或空白,則傳回第一個字串。否則,會傳回第二個字串做為「預設字串」。
-
$util.defaultIfNullOrBlank(String, String) : String
-
如果不是 null 或空白,則傳回第一個字串。否則,會傳回第二個字串做為「預設字串」。
模式匹配實用程序
-
$util.typeOf(Object) : String
-
傳回描述物件類型的字串。支援的類型識別為:「Null」、「數字」、「字串」、「映射」、「清單」、「布林值」。如果無法識別類型,則傳回類型為「物件」。
-
$util.matches(String, String) : Boolean
-
如果第一個引數中指定的模式與第二個引數中提供的資料相符,則傳回真。模式必須為規則表達式,例如
$util.matches("a*b", "aaaaab")
。此功能是根據模式,您可以參考以取得更詳細的文件。 -
$util.authType() : String
-
返回一個字符串,描述請求正在使用的多身份驗證類型,返回「IAM 授權」,「用戶池授權」,「打開 ID Connect 授權」或「API 密鑰授權」。
對象驗證實用程序
-
$util.isString(Object) : Boolean
-
如果對象是一個字符串,則返回 true。
-
$util.isNumber(Object) : Boolean
-
如果對象是一個數字,則返回 true。
-
$util.isBoolean(Object) : Boolean
-
如果對象是布爾值,則返回 true。
-
$util.isList(Object) : Boolean
-
如果對象是一個列表,則返回 true。
-
$util.isMap(Object) : Boolean
-
如果對象是一個地圖返回 true。
CloudWatch 記錄公用程式
$util.log.info(Object) : Void
-
當 API
ALL
上的日誌級別啟用請求級別和字段級別的日誌記錄時,將提供對象的字符串表示 CloudWatch 記錄到請求的日誌流。 $util.log.info(String, Object...) : Void
-
當 API
ALL
上的日誌級別啟用請求級別和字段級別日誌記錄時,將所提供對象的字符串表示 CloudWatch 記錄到請求的日誌流。此實用程序將按順序替換所提供對象的字符串表示的第一個輸入格式字符串中由「{}」表示的所有變量。 $util.log.error(Object) : Void
-
當欄位層級記錄啟用 API 上的記錄層級
ERROR
或 CloudWatch 記錄層級時,將所提供物件的字串表示法記錄到要求的記錄資料流。ALL
$util.log.error(String, Object...) : Void
-
當 API
ALL
上的記錄層級ERROR
或記錄層級啟用欄位層級 CloudWatch 記錄時,將所提供物件的字串表示法記錄到要求的記錄資料流。此實用程序將按順序替換所提供對象的字符串表示的第一個輸入格式字符串中由「{}」表示的所有變量。
返回值行為實用程序
$util.qr()
和$util.quiet()
-
在隱藏傳回值的同時執行 VTL 陳述式。這對於在不使用臨時佔位符的情況下運行方法非常有用,例如將項目添加到地圖中。例如:
#set ($myMap = {}) #set($discard = $myMap.put("id", "first value"))
變成:
#set ($myMap = {}) $util.qr($myMap.put("id", "first value"))
-
$util.escapeJavaScript(String) : String
-
返回輸入字符串作為 JavaScript 轉義字符串。
-
$util.urlEncode(String) : String
-
以
application/x-www-form-urlencoded
編碼字串的形式傳回輸入字串。 -
$util.urlDecode(String) : String
-
將
application/x-www-form-urlencoded
編碼的字串解碼回非編碼格式。 -
$util.base64Encode( byte[] ) : String
-
將輸入編碼為 base64 編碼字串。
-
$util.base64Decode(String) : byte[]
-
解碼 base64 編碼字串中的資料。
-
$util.parseJson(String) : Object
-
採用「字串化」JSON,並傳回結果的物件呈現。
-
$util.toJson(Object) : String
-
採用物件,並傳回該物件的「字串化」JSON 呈現。
-
$util.autoId() : String
-
傳回 128 位元隨機產生的 UUID。
$util.autoUlid() : String
-
返回一個 128 位隨機生成的 ULID(通用唯一的字典排序標識符)。
$util.autoKsuid() : String
-
返回 128 位隨機生成的 KSUID(K 可排序的唯一標識符)基於 62 編碼為長度為 27 的字符串。
-
$util.unauthorized()
-
擲回欲解析之欄位的
Unauthorized
。在請求或響應映射模板中使用此選項,以確定是否允許調用者解析字段。 -
$util.error(String)
-
擲回自訂錯誤。在請求或響應映射模板中使用此選項,以檢測請求或調用結果的錯誤。
-
$util.error(String, String)
-
擲回自訂錯誤。在請求或響應映射模板中使用此選項,以檢測請求或調用結果的錯誤。您也可以指定
errorType
. -
$util.error(String, String, Object)
-
擲回自訂錯誤。在請求或響應映射模板中使用此選項,以檢測請求或調用結果的錯誤。您也可以指定
errorType
和data
欄位。data
值將新增到 GraphQL 回應中,error
內對應的errors
區塊。注意:data
將根據查詢選取範圍集進行篩選。 -
$util.error(String, String, Object, Object)
-
擲回自訂錯誤。如果範本偵測到要求或呼叫結果的錯誤,您可以將此用於要求或回應映射範本。您同時可以指定
errorType
欄位、data
欄位和errorInfo
欄位。data
值將新增到 GraphQL 回應中,error
內對應的errors
區塊。注意:data
將根據查詢選取範圍集進行篩選。errorInfo
值將新增到 GraphQL 回應中,error
內對應的errors
區塊。注意:errorInfo
將不會根據查詢選取範圍集進行篩選。 -
$util.appendError(String)
-
附加自訂錯誤。如果範本偵測到要求或呼叫結果的錯誤,您可以將此用於要求或回應映射範本。與
$util.error(String)
不同的是,範本評估不會受中斷,因此可以將資料傳回給發起人。 -
$util.appendError(String, String)
-
附加自訂錯誤。如果範本偵測到要求或呼叫結果的錯誤,您可以將此用於要求或回應映射範本。您同時可以指定
errorType
。與$util.error(String, String)
不同的是,範本評估不會受中斷,因此可以將資料傳回給發起人。 -
$util.appendError(String, String, Object)
-
附加自訂錯誤。如果範本偵測到要求或呼叫結果的錯誤,您可以將此用於要求或回應映射範本。您同時可以指定
errorType
和data
欄位。與$util.error(String, String, Object)
不同的是,範本評估不會受中斷,因此可以將資料傳回給發起人。data
值將新增到 GraphQL 回應中,error
內對應的errors
區塊。注意:data
將根據查詢選取範圍集進行篩選。 -
$util.appendError(String, String, Object, Object)
-
附加自訂錯誤。如果範本偵測到要求或呼叫結果的錯誤,您可以將此用於要求或回應映射範本。您同時可以指定
errorType
欄位、data
欄位和errorInfo
欄位。與$util.error(String, String, Object, Object)
不同的是,範本評估不會受中斷,因此可以將資料傳回給發起人。data
值將新增到 GraphQL 回應中,error
內對應的errors
區塊。注意:data
將根據查詢選取範圍集進行篩選。errorInfo
值將新增到 GraphQL 回應中,error
內對應的errors
區塊。注意:errorInfo
將不會根據查詢選取範圍集進行篩選。 -
$util.validate(Boolean, String) : void
-
如果條件為 false,則拋出 CustomTemplateException 帶有指定消息的一個。
-
$util.validate(Boolean, String, String) : void
-
如果條件為 false,則拋出 CustomTemplateException 具有指定消息和錯誤類型的一個。
-
$util.validate(Boolean, String, String, Object) : void
-
如果條件為 false,則拋出 CustomTemplateException 帶有指定消息和錯誤類型的一個,以及要在響應中返回的數據。
-
$util.isNull(Object) : Boolean
-
如果提供物件為 null,則傳回真。
-
$util.isNullOrEmpty(String) : Boolean
-
如果提供資料為 null 或空白字串,則傳回真。否則即傳回 false。
-
$util.isNullOrBlank(String) : Boolean
-
如果提供資料為 null 或空白字串,則傳回真。否則即傳回 false。
-
$util.defaultIfNull(Object, Object) : Object
-
如果不是 null,則傳回第一個物件。否則,會傳回第二個物件做為「預設物件」。
-
$util.defaultIfNullOrEmpty(String, String) : String
-
如果不是 null 或空白,則傳回第一個字串。否則,會傳回第二個字串做為「預設字串」。
-
$util.defaultIfNullOrBlank(String, String) : String
-
如果不是 null 或空白,則傳回第一個字串。否則,會傳回第二個字串做為「預設字串」。
-
$util.isString(Object) : Boolean
-
如果物件是字串,則傳回真。
-
$util.isNumber(Object) : Boolean
-
如果物件是數字,則傳回真。
-
$util.isBoolean(Object) : Boolean
-
如果物件是布林值,則傳回真。
-
$util.isList(Object) : Boolean
-
如果物件是清單,則傳回真。
-
$util.isMap(Object) : Boolean
-
如果物件是映射,則傳回真。
-
$util.typeOf(Object) : String
-
傳回描述物件類型的字串。支援的類型識別為:「Null」、「數字」、「字串」、「映射」、「清單」、「布林值」。如果無法識別類型,則傳回類型為「物件」。
-
$util.matches(String, String) : Boolean
-
如果第一個引數中指定的模式與第二個引數中提供的資料相符,則傳回真。模式必須為規則表達式,例如
$util.matches("a*b", "aaaaab")
。此功能是根據模式,您可以參考以取得更詳細的文件。 -
$util.authType() : String
-
返回一個字符串,描述請求正在使用的多身份驗證類型,返回「IAM 授權」,「用戶池授權」,「打開 ID Connect 授權」或「API 密鑰授權」。
$util.log.info(Object) : Void
-
當 API
ALL
上的日誌級別啟用請求級別和字段級別的日誌記錄時,將提供對象的字符串表示 CloudWatch 記錄到請求的日誌流。 $util.log.info(String, Object...) : Void
-
當 API
ALL
上的日誌級別啟用請求級別和字段級別日誌記錄時,將所提供對象的字符串表示 CloudWatch 記錄到請求的日誌流。此實用程序將按順序替換所提供對象的字符串表示的第一個輸入格式字符串中由「{}」表示的所有變量。 $util.log.error(Object) : Void
-
當欄位層級記錄啟用 API 上的記錄層級
ERROR
或 CloudWatch 記錄層級時,將所提供物件的字串表示法記錄到要求的記錄資料流。ALL
$util.log.error(String, Object...) : Void
-
當 API
ALL
上的記錄層級ERROR
或記錄層級啟用欄位層級 CloudWatch 記錄時,將所提供物件的字串表示法記錄到要求的記錄資料流。此實用程序將按順序替換所提供對象的字符串表示的第一個輸入格式字符串中由「{}」表示的所有變量。
-
-
$util.escapeJavaScript(String) : String
-
返回輸入字符串作為 JavaScript 轉義字符串。
解析器授權
-
$util.unauthorized()
-
擲回欲解析之欄位的
Unauthorized
。在請求或響應映射模板中使用此選項,以確定是否允許調用者解析字段。