

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á.

# Obter um segredo do Secrets Manager usando Go com armazenamento em cache no lado do cliente
<a name="retrieving-secrets_cache-go"></a>

Ao recuperar um segredo, você pode usar o componente de cache baseado em Go do Secrets Manager para armazená-lo em cache para uso futuro. Recuperar um segredo armazenado em cache é mais rápido do que recuperá-lo do Secrets Manager. Como há um custo para ligar para o Secrets Manager APIs, usar um cache pode reduzir seus custos. Para ver todas as formas pelas quais é possível recuperar segredos, consulte [Obter segredos](retrieving-secrets.md).

A política de caches é a do menos usado recentemente (LRU). Assim, quando o cache precisar descartar um segredo, escolherá o segredo menos usado recentemente. Por padrão, o cache atualiza segredos a cada hora. É possível configurar [com qual frequência o segredo será atualizado](retrieving-secrets_cache-go_CacheConfig.md) no cache e será possível [se conectar à recuperação do segredo](retrieving-secrets_cache-go_CacheHook.md) para adicionar mais funcionalidades.

O cache não obriga a coleta de resíduos depois que as referências de cache são liberadas. A implementação do cache não inclui a invalidação do cache. A implementação do cache é centrada em torno do próprio cache, portanto, não é reforçada ou tem ênfase em segurança. Se você necessitar de mais segurança, como criptografia de itens no cache, use as interfaces e os métodos abstratos fornecidos.

Para usar o componente, é necessário ter o seguinte:
+ AWS SDK para Go. Consulte [AWS SDKs](asm_access.md#asm-sdks).

Para baixar o código-fonte, consulte [Cliente de cache do Secrets Manager Go](https://github.com/aws/aws-secretsmanager-caching-go ) ativado GitHub.

Para configurar um ambiente de desenvolvimento Go, consulte [Golang Getting Started](https://golang.org/doc/install) (Conceitos básicos de Golang) no site da Go Programming Language.

**Permissões obrigatórias: **
+ `secretsmanager:DescribeSecret`
+ `secretsmanager:GetSecretValue`

Para obter mais informações, consulte [Referência de permissões](auth-and-access.md#reference_iam-permissions).

**Topics**
+ [tipo Cache](retrieving-secrets_cache-go_cache.md)
+ [digitar CacheConfig](retrieving-secrets_cache-go_CacheConfig.md)
+ [digitar CacheHook](retrieving-secrets_cache-go_CacheHook.md)

**Example Recuperar segredos**  
O exemplo de código a seguir mostra uma função Lambda que recupera um segredo.  

```
package main

import (
	 "github.com/aws/aws-lambda-go/lambda"
	 "github.com/aws/aws-secretsmanager-caching-go/secretcache"
)

var (
	 secretCache, _ = secretcache.New()
)

func HandleRequest(secretId string) string {
	 result, _ := secretCache.GetSecretString(secretId)
	 
	 // Use the secret, return success
}

 func main() {
	 lambda. Start( HandleRequest)
}
```