

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Utilitários auxiliares em \$1util
<a name="utility-helpers-in-util"></a>

**nota**  
Agora, oferecemos suporte principalmente ao runtime do APPSYNC\$1JS e sua documentação. Considere usar o runtime do APPSYNC\$1JS e seus guias disponíveis [aqui](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-js-version.html).

A variável `$util` contém métodos utilitários gerais para ajudar você a trabalhar com dados.​ A menos que especificado o contrário, todos os utilitários usam o conjunto de caracteres UTF-8.

## Utilitários de análise JSON
<a name="utility-helpers-in-json-parsing"></a>

### Lista de utilitários de análise JSON
<a name="utility-helpers-in-json-parsing-list"></a>

** **`$util.parseJson(String) : Object`** **  
Usa um JSON "transformado em string" e retorna uma representação de objeto do resultado.

** **`$util.toJson(Object) : String`** **  
Recebe um objeto e retorna uma representação JSON "transformado em string" desse objeto.

## Utilitários de codificação
<a name="utility-helpers-in-encoding"></a>

### Lista de utilitários de codificação
<a name="utility-helpers-in-encoding-list"></a>

** **`$util.urlEncode(String) : String`** **  
Retorna a string de entrada como uma string codificada `application/x-www-form-urlencoded`.

** **`$util.urlDecode(String) : String`** **  
Decodifica uma string codificada `application/x-www-form-urlencoded` de volta ao seu formato não codificado.

** **`$util.base64Encode( byte[] ) : String`** **  
Codifica a entrada em uma string codificada em base64.

** **`$util.base64Decode(String) : byte[]`** **  
Decodifica os dados de uma string codificada em base64.

## Utilitários de geração de ID
<a name="utility-helpers-in-id-gen"></a>

### Lista de utilitários de geração de ID
<a name="utility-helpers-in-id-gen-list"></a>

** **`$util.autoId() : String`** **  
Retorna um UUID de 128 bits gerado aleatoriamente.

****`$util.autoUlid() : String`****  
Retorna um identificador lexicograficamente classificável universalmente exclusivo (ULID) de 128 bits gerado aleatoriamente.

****`$util.autoKsuid() : String`****  
Retorna um identificador exclusivo classificável por K (KSUID) de 128 bits gerado aleatoriamente, codificado em base62, como uma string com comprimento de 27.​

## Utilitários de erro
<a name="utility-helpers-in-error"></a>

### Lista de utilitários de erro
<a name="utility-helpers-in-error-list"></a>

** `$util.error(String)` **  
Lança um erro personalizado. Use em modelos de mapeamento de solicitação ou resposta para detectar um erro na solicitação ou no resultado da invocação.

** `$util.error(String, String)` **  
Lança um erro personalizado. Use em modelos de mapeamento de solicitação ou resposta para detectar um erro na solicitação ou no resultado da invocação. Também é possível especificar um `errorType`.

** `$util.error(String, String, Object)` **  
Lança um erro personalizado. Use em modelos de mapeamento de solicitação ou resposta para detectar um erro na solicitação ou no resultado da invocação. Você também pode especificar um `errorType` e um campo `data`. O valor `data` será adicionado ao bloco `error` correspondente em `errors` na resposta do GraphQL.  
`data` será filtrado com base no conjunto de seleção da consulta.

** `$util.error(String, String, Object, Object)` **  
Lança um erro personalizado. Isso pode ser usado em modelos de mapeamento da solicitação ou resposta se o modelo detectar um erro com a solicitação ou com o resultado da invocação. Além disso, é possível especificar os campos `errorType`, `data` e `errorInfo`. O valor `data` será adicionado ao bloco `error` correspondente em `errors` na resposta do GraphQL.   
`data` será filtrado com base no conjunto de seleção da consulta. O valor `errorInfo` será adicionado ao bloco `error` correspondente em `errors` na resposta do GraphQL.  
`errorInfo` **NÃO** será filtrado com base no conjunto de seleção da consulta.

** `$util.appendError(String)` **  
Anexa um erro personalizado no final. Isso pode ser usado em modelos de mapeamento da solicitação ou resposta se o modelo detectar um erro com a solicitação ou com o resultado da invocação. Diferente de `$util.error(String)`, a avaliação do modelo não será interrompida para que os dados possam ser retornados ao chamador.

** `$util.appendError(String, String)` **  
Anexa um erro personalizado no final. Isso pode ser usado em modelos de mapeamento da solicitação ou resposta se o modelo detectar um erro com a solicitação ou com o resultado da invocação. Além disso, um `errorType` pode ser especificado. Diferente de `$util.error(String, String)`, a avaliação do modelo não será interrompida para que os dados possam ser retornados ao chamador.

** `$util.appendError(String, String, Object)` **  
Anexa um erro personalizado no final. Isso pode ser usado em modelos de mapeamento da solicitação ou resposta se o modelo detectar um erro com a solicitação ou com o resultado da invocação. Além disso, um `errorType` e um campo `data` podem ser especificados. Diferente de `$util.error(String, String, Object)`, a avaliação do modelo não será interrompida para que os dados possam ser retornados ao chamador. O valor `data` será adicionado ao bloco `error` correspondente em `errors` na resposta do GraphQL.   
`data` será filtrado com base no conjunto de seleção da consulta.

** `$util.appendError(String, String, Object, Object)` **  
Anexa um erro personalizado no final. Isso pode ser usado em modelos de mapeamento da solicitação ou resposta se o modelo detectar um erro com a solicitação ou com o resultado da invocação. Além disso, é possível especificar os campos `errorType`, `data` e `errorInfo`. Diferente de `$util.error(String, String, Object, Object)`, a avaliação do modelo não será interrompida para que os dados possam ser retornados ao chamador. O valor `data` será adicionado ao bloco `error` correspondente em `errors` na resposta do GraphQL.  
`data` será filtrado com base no conjunto de seleção da consulta. O valor `errorInfo` será adicionado ao bloco `error` correspondente em `errors` na resposta do GraphQL.  
`errorInfo` **NÃO** será filtrado com base no conjunto de seleção da consulta.

## Utilitários de validação de condições
<a name="utility-helpers-in-condition"></a>

### Lista de utilitários de validação de condição
<a name="utility-helpers-in-condition-list"></a>

** `$util.validate(Boolean, String) : void` **  
Se a condição for falsa, lance um CustomTemplateException com a mensagem especificada.

** `$util.validate(Boolean, String, String) : void` **  
Se a condição for falsa, lance um CustomTemplateException com a mensagem e o tipo de erro especificados.

** `$util.validate(Boolean, String, String, Object) : void` **  
Se a condição for falsa, lance um CustomTemplateException com a mensagem e o tipo de erro especificados, bem como os dados a serem retornados na resposta.

## Utilitários de comportamento nulo
<a name="utility-helpers-in-null-behavior"></a>

### Lista de utilitários de comportamento nulo
<a name="utility-helpers-in-null-behavior-list"></a>

** `$util.isNull(Object) : Boolean` **  
Retorna verdadeiro se o objeto fornecido for nulo.

** `$util.isNullOrEmpty(String) : Boolean` **  
Retorna verdadeiro, se os dados fornecidos forem nulos ou uma string vazia. Caso contrário, retornará falso.

** `$util.isNullOrBlank(String) : Boolean` **  
Retorna verdadeiro, se os dados fornecidos forem nulos ou uma string em branco. Caso contrário, retornará falso.

** `$util.defaultIfNull(Object, Object) : Object` **  
Retorna o primeiro Objeto que não seja nulo. Caso contrário, retorna o segundo objeto como um "Objeto padrão".

** `$util.defaultIfNullOrEmpty(String, String) : String` **  
Retorna a primeira String se não for nula ou vazia. Caso contrário, retorna a segunda String como uma "String padrão".

** `$util.defaultIfNullOrBlank(String, String) : String` **  
Retorna a primeira String se não for nula ou em branco. Caso contrário, retorna a segunda String como uma "String padrão".

## Utilitários de correspondência de padrões
<a name="utility-helpers-in-pattern-matching"></a>

### Lista de utilitários de correspondência de tipos e padrões
<a name="utility-helpers-in-type-pattern-matching-list"></a>

** `$util.typeOf(Object) : String` **  
Retorna uma String que descreve o tipo do Objeto. As identificações de tipo compatíveis são: "Nulo", "Número", "String", "Mapa", "Lista", "Booliano". Se um tipo não puder ser identificado, o tipo de retorno é "Objeto".

** `$util.matches(String, String) : Boolean` **  
Retorna verdadeiro se o padrão especificado no primeiro argumento corresponde aos dados fornecidos no segundo argumento. O padrão deve ser uma expressão regular, como `$util.matches("a*b", "aaaaab")`. A funcionalidade se baseia em [Padrão](https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html), que você pode consultar para obter documentação adicional.

** `$util.authType() : String` **  
Retorna uma String que descreve o tipo de autenticação múltipla que está sendo usado por uma solicitação, retornando "Autorização do IAM", "Autorização de grupo de usuários", "Autorização do Open ID Connect" ou "Autorização de chave de API".

## Utilitários de validação de objetos
<a name="utility-helpers-in-object-validation"></a>

### Lista de utilitários de validação de objeto
<a name="utility-helpers-in-object-validation-list"></a>

** `$util.isString(Object) : Boolean` **  
Retorna verdadeiro se o Objeto for uma String.

** `$util.isNumber(Object) : Boolean` **  
Retorna verdadeiro se o Objeto for um Número.

** `$util.isBoolean(Object) : Boolean` **  
Retorna verdadeiro se o Objeto for um Booliano.

** `$util.isList(Object) : Boolean` **  
Retorna verdadeiro se o Objeto for uma Lista.

** `$util.isMap(Object) : Boolean` **  
Retorna verdadeiro se o Objeto for um Mapa.

## CloudWatch utilitários de registro
<a name="utility-helpers-in-logging"></a>

### CloudWatch lista de utilitários de registro
<a name="utility-helpers-in-cloudwatch-logs"></a>

**`$util.log.info(Object) : Void`**  
Registra a representação de string do objeto fornecido no fluxo de registros solicitado quando o registro em nível de solicitação e campo é ativado com nível CloudWatch de registro ou `DEBUG` em uma `INFO` API. `ALL`

**`$util.log.info(String, Object...) : Void`**  
Registra a representação de string dos objetos fornecidos no fluxo de registros solicitado quando o registro em nível de solicitação e campo é ativado com nível de CloudWatch registro em uma API. `ALL` Esse utilitário substituirá todas as variáveis indicadas por "\$1\$1" no primeiro formato de entrada String pela representação String dos objetos fornecidos em ordem.

**`$util.log.debug(Object) : Void`**  
Registra a representação de string do objeto fornecido no fluxo de registros solicitado quando o registro em nível de solicitação e campo é ativado com nível de CloudWatch registro `ALL` ou `DEBUG` em uma API.

**`$util.log.debug(String, Object...) : Void`**  
Registra a representação de string dos objetos fornecidos no fluxo de registro solicitado quando o registro em nível de campo CloudWatch é ativado com nível de registro `DEBUG` ou nível de registro `ALL` em uma API. Esse utilitário substituirá todas as variáveis indicadas por "\$1\$1" no primeiro formato de entrada String pela representação String dos objetos fornecidos em ordem.

**`$util.log.error(Object) : Void`**  
Registra a representação de string do objeto fornecido no fluxo de registro solicitado quando o CloudWatch registro em nível de campo é ativado com **qualquer** nível de registro (`ALL`,, `INFO``DEBUG`, etc.) em uma API.

**`$util.log.error(String, Object...) : Void`**  
Registra a representação de string dos objetos fornecidos no fluxo de registro solicitado quando o registro em nível de campo CloudWatch é ativado com nível de registro `ERROR` ou nível de registro `ALL` em uma API. Esse utilitário substituirá todas as variáveis indicadas por "\$1\$1" no primeiro formato de entrada String pela representação String dos objetos fornecidos em ordem.

## Utilitários de comportamento do valor de retorno
<a name="utility-helpers-in-return-behavior"></a>

### Lista de utilitários de comportamento de valor de retorno​
<a name="utility-helpers-in-behavior-list"></a>

****`$util.qr()`** e `$util.quiet()` **  
Executa uma instrução de VTL enquanto suprime o valor retornado. Isso é útil para executar métodos sem usar espaços reservados temporários, como adicionar itens a um mapa. Por exemplo:  

```
#set ($myMap = {})
#set($discard = $myMap.put("id", "first value"))
```
Se torna:  

```
#set ($myMap = {})
$util.qr($myMap.put("id", "first value"))
```  
** `$util.escapeJavaScript(String) : String` **  
Retorna a string de entrada como uma string JavaScript de escape.  
** `$util.urlEncode(String) : String` **  
Retorna a string de entrada como uma string codificada `application/x-www-form-urlencoded`.  
** `$util.urlDecode(String) : String` **  
Decodifica uma string codificada `application/x-www-form-urlencoded` de volta ao seu formato não codificado.  
** `$util.base64Encode( byte[] ) : String` **  
Codifica a entrada em uma string codificada em base64.  
** `$util.base64Decode(String) : byte[]` **  
Decodifica os dados de uma string codificada em base64.  
** `$util.parseJson(String) : Object` **  
Usa um JSON "transformado em string" e retorna uma representação de objeto do resultado.  
** `$util.toJson(Object) : String` **  
Recebe um objeto e retorna uma representação JSON "transformado em string" desse objeto.  
** `$util.autoId() : String` **  
Retorna um UUID de 128 bits gerado aleatoriamente.  
****`$util.autoUlid() : String`****  
Retorna um identificador lexicograficamente classificável universalmente exclusivo (ULID) de 128 bits gerado aleatoriamente.  
****`$util.autoKsuid() : String`****  
Retorna um identificador exclusivo classificável por K (KSUID) de 128 bits gerado aleatoriamente, codificado em base62, como uma string com comprimento de 27.​  
** `$util.unauthorized()` **  
Lança `Unauthorized` para o campo a ser resolvido. Use em modelos de mapeamento de solicitação ou resposta para determinar se é preciso ou não permitir que o chamador resolva o campo.  
** `$util.error(String)` **  
Lança um erro personalizado. Use em modelos de mapeamento de solicitação ou resposta para detectar um erro na solicitação ou no resultado da invocação.  
** `$util.error(String, String)` **  
Lança um erro personalizado. Use em modelos de mapeamento de solicitação ou resposta para detectar um erro na solicitação ou no resultado da invocação. Também é possível especificar um `errorType`.  
** `$util.error(String, String, Object)` **  
Lança um erro personalizado. Use em modelos de mapeamento de solicitação ou resposta para detectar um erro na solicitação ou no resultado da invocação. Você também pode especificar um `errorType` e um campo `data`. O valor `data` será adicionado ao bloco `error` correspondente em `errors` na resposta do GraphQL. **Observação**: `data` será filtrado com base no conjunto de seleção da consulta.  
** `$util.error(String, String, Object, Object)` **  
Lança um erro personalizado. Isso pode ser usado em modelos de mapeamento da solicitação ou resposta se o modelo detectar um erro com a solicitação ou com o resultado da invocação. Além disso, um campo `errorType`, um campo `data` e um campo `errorInfo` podem ser especificados. O valor `data` será adicionado ao bloco `error` correspondente em `errors` na resposta do GraphQL. **Observação**: `data` será filtrado com base no conjunto de seleção da consulta. O valor `errorInfo` será adicionado ao bloco `error` correspondente em `errors` na resposta do GraphQL. **Observação**: `errorInfo` **NÃO** será filtrado com base no conjunto de seleção da consulta.  
** `$util.appendError(String)` **  
Anexa um erro personalizado no final. Isso pode ser usado em modelos de mapeamento da solicitação ou resposta se o modelo detectar um erro com a solicitação ou com o resultado da invocação. Diferente de `$util.error(String)`, a avaliação do modelo não será interrompida para que os dados possam ser retornados ao chamador.  
** `$util.appendError(String, String)` **  
Anexa um erro personalizado no final. Isso pode ser usado em modelos de mapeamento da solicitação ou resposta se o modelo detectar um erro com a solicitação ou com o resultado da invocação. Além disso, um `errorType` pode ser especificado. Diferente de `$util.error(String, String)`, a avaliação do modelo não será interrompida para que os dados possam ser retornados ao chamador.  
** `$util.appendError(String, String, Object)` **  
Anexa um erro personalizado no final. Isso pode ser usado em modelos de mapeamento da solicitação ou resposta se o modelo detectar um erro com a solicitação ou com o resultado da invocação. Além disso, um `errorType` e um campo `data` podem ser especificados. Diferente de `$util.error(String, String, Object)`, a avaliação do modelo não será interrompida para que os dados possam ser retornados ao chamador. O valor `data` será adicionado ao bloco `error` correspondente em `errors` na resposta do GraphQL. **Observação**: `data` será filtrado com base no conjunto de seleção da consulta.  
** `$util.appendError(String, String, Object, Object)` **  
Anexa um erro personalizado no final. Isso pode ser usado em modelos de mapeamento da solicitação ou resposta se o modelo detectar um erro com a solicitação ou com o resultado da invocação. Além disso, um campo `errorType`, um campo `data` e um campo `errorInfo` podem ser especificados. Diferente de `$util.error(String, String, Object, Object)`, a avaliação do modelo não será interrompida para que os dados possam ser retornados ao chamador. O valor `data` será adicionado ao bloco `error` correspondente em `errors` na resposta do GraphQL. **Observação**: `data` será filtrado com base no conjunto de seleção da consulta. O valor `errorInfo` será adicionado ao bloco `error` correspondente em `errors` na resposta do GraphQL. **Observação**: `errorInfo` **NÃO** será filtrado com base no conjunto de seleção da consulta.  
** `$util.validate(Boolean, String) : void` **  
Se a condição for falsa, lance um CustomTemplateException com a mensagem especificada.  
** `$util.validate(Boolean, String, String) : void` **  
Se a condição for falsa, lance um CustomTemplateException com a mensagem e o tipo de erro especificados.  
** `$util.validate(Boolean, String, String, Object) : void` **  
Se a condição for falsa, lance um CustomTemplateException com a mensagem e o tipo de erro especificados, bem como os dados a serem retornados na resposta.  
** `$util.isNull(Object) : Boolean` **  
Retorna verdadeiro se o objeto fornecido for nulo.  
** `$util.isNullOrEmpty(String) : Boolean` **  
Retorna verdadeiro, se os dados fornecidos forem nulos ou uma string vazia. Caso contrário, retornará falso.  
** `$util.isNullOrBlank(String) : Boolean` **  
Retorna verdadeiro, se os dados fornecidos forem nulos ou uma string em branco. Caso contrário, retornará falso.  
** `$util.defaultIfNull(Object, Object) : Object` **  
Retorna o primeiro Objeto que não seja nulo. Caso contrário, retorna o segundo objeto como um "Objeto padrão".  
** `$util.defaultIfNullOrEmpty(String, String) : String` **  
Retorna a primeira String se não for nula ou vazia. Caso contrário, retorna a segunda String como uma "String padrão".  
** `$util.defaultIfNullOrBlank(String, String) : String` **  
Retorna a primeira String se não for nula ou em branco. Caso contrário, retorna a segunda String como uma "String padrão".  
** `$util.isString(Object) : Boolean` **  
Retorna verdadeiro se o Objeto for uma String.  
** `$util.isNumber(Object) : Boolean` **  
Retorna verdadeiro se o Objeto for um Número.  
** `$util.isBoolean(Object) : Boolean` **  
Retorna verdadeiro se o Objeto for um Booliano.  
** `$util.isList(Object) : Boolean` **  
Retorna verdadeiro se o Objeto for uma Lista.  
** `$util.isMap(Object) : Boolean` **  
Retorna verdadeiro se o Objeto for um Mapa.  
** `$util.typeOf(Object) : String` **  
Retorna uma String que descreve o tipo do Objeto. As identificações de tipo compatíveis são: "Nulo", "Número", "String", "Mapa", "Lista", "Booliano". Se um tipo não puder ser identificado, o tipo de retorno é "Objeto".  
** `$util.matches(String, String) : Boolean` **  
Retorna verdadeiro se o padrão especificado no primeiro argumento corresponde aos dados fornecidos no segundo argumento. O padrão deve ser uma expressão regular, como `$util.matches("a*b", "aaaaab")`. A funcionalidade se baseia em [Padrão](https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html), que você pode consultar para obter documentação adicional.  
** `$util.authType() : String` **  
Retorna uma String que descreve o tipo de autenticação múltipla que está sendo usado por uma solicitação, retornando "Autorização do IAM", "Autorização de grupo de usuários", "Autorização do Open ID Connect" ou "Autorização de chave de API".  
****`$util.log.info(Object) : Void`****  
Registra a representação de string do objeto fornecido no fluxo de registros solicitado quando o registro em nível de solicitação e campo é ativado com nível de CloudWatch registro em uma API. `ALL`  
****`$util.log.info(String, Object...) : Void`****  
Registra a representação de string dos objetos fornecidos no fluxo de registros solicitado quando o registro em nível de solicitação e campo é ativado com nível de CloudWatch registro em uma API. `ALL` Esse utilitário substituirá todas as variáveis indicadas por "\$1\$1" no primeiro formato de entrada String pela representação String dos objetos fornecidos em ordem.  
****`$util.log.error(Object) : Void`****  
Registra a representação de string do objeto fornecido no fluxo de registro solicitado quando o registro em nível de campo CloudWatch é ativado com nível de registro `ERROR` ou nível de registro `ALL` em uma API.  
****`$util.log.error(String, Object...) : Void`****  
Registra a representação de string dos objetos fornecidos no fluxo de registro solicitado quando o registro em nível de campo CloudWatch é ativado com nível de registro `ERROR` ou nível de registro `ALL` em uma API. Esse utilitário substituirá todas as variáveis indicadas por "\$1\$1" no primeiro formato de entrada String pela representação String dos objetos fornecidos em ordem.

** `$util.escapeJavaScript(String) : String` **  
Retorna a string de entrada como uma string JavaScript de escape.

## Autorização do resolvedor
<a name="utility-helpers-in-resolver-auth"></a>

### Lista de autorização do resolvedor
<a name="utility-helpers-in-resolver-auth-list"></a>

** `$util.unauthorized()` **  
Lança `Unauthorized` para o campo a ser resolvido. Use em modelos de mapeamento de solicitação ou resposta para determinar se é preciso ou não permitir que o chamador resolva o campo.