本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
$util 中的公用程式協助程式
注意
我們現在主要支援 APPSYNC_JS 執行期及其文件。請考慮在此處使用 APPSYNC_JS 執行期及其指南。
$util
變數包含一般公用程式方法,可協助您處理資料。除非另有說明,否則所有公用程式都會使用 UTF-8 字元集。
JSON 剖析 utils
-
$util.parseJson(String) : Object
-
採取 "stringified" JSON並傳回結果的物件表示法。
-
$util.toJson(Object) : String
-
接收物件並傳回該物件的「分層」JSON表示法。
編碼 utils
-
$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-Sortable Unique Identifier) base62,其編碼為長度為 27 的字串。
錯誤 utils
-
$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
NOT將根據查詢選取集進行篩選。 -
$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
NOT將根據查詢選取集進行篩選。
條件驗證公用程式
-
$util.validate(Boolean, String) : void
-
如果條件為 false,請擲回 CustomTemplateException 具有指定訊息的 。
-
$util.validate(Boolean, String, String) : void
-
如果條件為 false,請擲回 CustomTemplateException 具有指定訊息和錯誤類型的 。
-
$util.validate(Boolean, String, String, Object) : void
-
如果條件為 false,請擲回 CustomTemplateException 具有指定訊息和錯誤類型的 ,以及回應中要傳回的資料。
Null 行為公用程式
-
$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 或空白,則傳回第一個字串。否則,會傳回第二個字串做為「預設字串」。
模式比對 utils
-
$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 記錄 utils
$util.log.info(Object) : Void
-
當在
ALL
上啟用請求層級和欄位層級 CloudWatch 日誌時,會將所提供物件的字串表示式記錄到請求的日誌串流API。 $util.log.info(String, Object...) : Void
-
當在
ALL
上啟用請求層級和欄位層級 CloudWatch 日誌時,會將所提供物件的字串表示式記錄到請求的日誌串流API。此公用程式會依序使用所提供物件的字串表示法取代第一個輸入格式字串中「{}」指示的所有變數。 $util.log.error(Object) : Void
-
當在
ALL
上以日誌層級ERROR
或日誌層級啟用欄位層級 CloudWatch 記錄時,會將所提供物件的字串表示式記錄到請求的日誌串流API。 $util.log.error(String, Object...) : Void
-
當在
ALL
上以日誌層級ERROR
或日誌層級啟用欄位層級 CloudWatch 記錄時,將所提供物件的字串表示式記錄到請求的日誌串流API。此公用程式會依序使用所提供物件的字串表示法取代第一個輸入格式字串中「{}」指示的所有變數。
傳回值行為 utils
$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
-
採取 "stringified" JSON並傳回結果的物件表示法。
-
$util.toJson(Object) : String
-
接收物件並傳回該物件的「分層」JSON表示法。
-
$util.autoId() : String
-
傳回 128 位元隨機產生的 UUID。
$util.autoUlid() : String
-
傳回隨機產生的 128 位元 ULID(通用的可排序詞典識別符)。
$util.autoKsuid() : String
-
傳回 128 位元隨機產生的 KSUID(K-Sortable Unique Identifier) base62,其編碼為長度為 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
NOT將根據查詢選取集篩選。 -
$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
NOT 將根據查詢選取集進行篩選。 -
$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
-
當在
ALL
上啟用請求層級和欄位層級 CloudWatch日誌時,會將所提供物件的字串表示式記錄到請求的日誌串流API。 $util.log.info(String, Object...) : Void
-
當在
ALL
上啟用請求層級和欄位層級 CloudWatch日誌時,會將所提供物件的字串表示式記錄到請求的日誌串流API。此公用程式會依序使用所提供物件的字串表示法取代第一個輸入格式字串中「{}」指示的所有變數。 $util.log.error(Object) : Void
-
在
ALL
上啟用具有日誌層級ERROR
或日誌層級的欄位層級 CloudWatch 記錄時,將所提供物件的字串表示式記錄到請求的日誌串流API。 $util.log.error(String, Object...) : Void
-
當在
ALL
上以日誌層級ERROR
或日誌層級啟用欄位層級 CloudWatch 記錄時,會將所提供物件的字串表示式記錄到請求的日誌串流API。此公用程式會依序使用所提供物件的字串表示法取代第一個輸入格式字串中「{}」指示的所有變數。
-
-
$util.escapeJavaScript(String) : String
-
將輸入字串傳回為 JavaScript 逸出字串。
Resolver 授權
-
$util.unauthorized()
-
擲回欲解析之欄位的
Unauthorized
。在請求或回應映射範本中使用此選項,以決定是否允許呼叫者解析 欄位。