在 $ 實用助手 - AWS AppSync

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 $ 實用助手

注意

我們現在主要支援 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)

擲回自訂錯誤。在請求或響應映射模板中使用此選項,以檢測請求或調用結果的錯誤。您也可以指定errorTypedata欄位。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)

附加自訂錯誤。如果範本偵測到要求或呼叫結果的錯誤,您可以將此用於要求或回應映射範本。您同時可以指定 errorTypedata 欄位。與 $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)

擲回自訂錯誤。在請求或響應映射模板中使用此選項,以檢測請求或調用結果的錯誤。您也可以指定errorTypedata欄位。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)

附加自訂錯誤。如果範本偵測到要求或呼叫結果的錯誤,您可以將此用於要求或回應映射範本。您同時可以指定 errorTypedata 欄位。與 $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。在請求或響應映射模板中使用此選項,以確定是否允許調用者解析字段。