$util 中的公用程式協助程式 - AWS AppSync

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

$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)

擲回自訂錯誤。在請求或回應映射範本中使用此選項,以偵測具有請求或調用結果的錯誤。您也可以指定 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 NOT將根據查詢選取集進行篩選。

$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 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)

擲回自訂錯誤。在請求或回應映射範本中使用此選項,以偵測具有請求或調用結果的錯誤。您也可以指定 errorTypedata 欄位。data 值將新增到 GraphQL 回應中,error 內對應的 errors 區塊。注意data 將根據查詢選取範圍集進行篩選。

$util.error(String, String, Object, Object)

擲回自訂錯誤。如果範本偵測到要求或呼叫結果的錯誤,您可以將此用於要求或回應映射範本。您同時可以指定 errorType 欄位、data 欄位和 errorInfo 欄位。data 值將新增到 GraphQL 回應中,error 內對應的 errors 區塊。注意data 將根據查詢選取範圍集進行篩選。errorInfo 值將新增到 GraphQL 回應中,error 內對應的 errors 區塊。注意errorInfoNOT將根據查詢選取集篩選。

$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 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。在請求或回應映射範本中使用此選項,以決定是否允許呼叫者解析 欄位。