

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Dapatkan nilai rahasia Secrets Manager menggunakan Java dengan caching sisi klien
<a name="retrieving-secrets_cache-java"></a>

Ketika Anda mengambil rahasia, Anda dapat menggunakan Secrets Manager komponen caching berbasis Java untuk cache untuk digunakan di masa mendatang. Mengambil rahasia yang di-cache lebih cepat daripada mengambilnya dari Secrets Manager. Karena ada biaya untuk memanggil Secrets Manager APIs, menggunakan cache dapat mengurangi biaya Anda. Untuk semua cara Anda dapat mengambil rahasia, lihat[Dapatkan rahasia](retrieving-secrets.md).

Kebijakan cache adalah Least Recently Used (LRU), jadi ketika cache harus membuang rahasia, ia membuang rahasia yang paling jarang digunakan. Secara default, cache menyegarkan rahasia setiap jam. Anda dapat mengonfigurasi [seberapa sering rahasia disegarkan](retrieving-secrets_cache-java-ref_SecretCacheConfiguration.md#retrieving-secrets_cache-java-ref_SecretCacheConfiguration_methods-getCacheItemTTL) dalam cache, dan Anda dapat [menghubungkan ke pengambilan rahasia](retrieving-secrets_cache-java-ref_SecretCacheHook.md) untuk menambahkan lebih banyak fungsionalitas.

Cache tidak memaksa pengumpulan sampah setelah referensi cache dibebaskan. Implementasi cache tidak termasuk pembatalan cache. Implementasi cache difokuskan di sekitar cache itu sendiri, dan tidak dikeraskan atau difokuskan keamanan. Jika Anda memerlukan keamanan tambahan seperti mengenkripsi item dalam cache, gunakan antarmuka dan metode abstrak yang disediakan.

Untuk menggunakan komponen, Anda harus memiliki yang berikut: 
+ Java 8 atau lingkungan pengembangan yang lebih tinggi. Lihat [Unduhan Java SE](https://www.oracle.com/technetwork/java/javase/downloads/index.html) di situs web Oracle.

Untuk mengunduh kode sumber, lihat [Secrets Manager komponen klien caching berbasis Java](https://github.com/aws/aws-secretsmanager-caching-java) pada. GitHub

Untuk menambahkan komponen ke proyek Anda, dalam file pom.xml Maven Anda, sertakan dependensi berikut. Untuk informasi lebih lanjut tentang Maven, lihat [Panduan Memulai](https://maven.apache.org/guides/getting-started/index.html) di situs web Apache Maven Project.

```
<dependency>
  <groupId>com.amazonaws.secretsmanager</groupId>
  <artifactId>aws-secretsmanager-caching-java</artifactId>
  <version>1.0.2</version>
</dependency>
```

**Izin yang diperlukan:**
+ `secretsmanager:DescribeSecret`
+ `secretsmanager:GetSecretValue`

Untuk informasi selengkapnya, lihat [Referensi izin](auth-and-access.md#reference_iam-permissions).

**Topics**
+ [SecretCache](retrieving-secrets_cache-java-ref_SecretCache.md)
+ [SecretCacheConfiguration](retrieving-secrets_cache-java-ref_SecretCacheConfiguration.md)
+ [SecretCacheHook](retrieving-secrets_cache-java-ref_SecretCacheHook.md)

**Example Ambil rahasia**  
Contoh kode berikut menunjukkan fungsi Lambda yang mengambil string rahasia. Ini mengikuti [praktik terbaik](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html) untuk membuat instance cache di luar penangan fungsi, sehingga tidak terus memanggil API jika Anda memanggil fungsi Lambda lagi.  

```
package com.amazonaws.secretsmanager.caching.examples;
    
    import com.amazonaws.services.lambda.runtime.Context;
    import com.amazonaws.services.lambda.runtime.RequestHandler;
    import com.amazonaws.services.lambda.runtime.LambdaLogger;
    
    import com.amazonaws.secretsmanager.caching.SecretCache;
    
    public class SampleClass implements RequestHandler<String, String> {
    
         private final SecretCache cache  = new SecretCache();
    
         @Override public String handleRequest(String secretId,  Context context) {
             final String secret  = cache.getSecretString(secretId);
    
            // Use the secret, return success;
    
        }
    }
```

# SecretCache
<a name="retrieving-secrets_cache-java-ref_SecretCache"></a>

Cache dalam memori untuk rahasia yang diminta dari Secrets Manager. Anda menggunakan [getSecretString](#retrieving-secrets_cache-java-ref_SecretCache-methods-getSecretString) atau [getSecretBinary](#retrieving-secrets_cache-java-ref_SecretCache-methods-getSecretBinary) untuk mengambil rahasia dari cache. Anda dapat mengkonfigurasi pengaturan cache dengan meneruskan [SecretCacheConfiguration](retrieving-secrets_cache-java-ref_SecretCacheConfiguration.md) objek di konstruktor. 

Untuk informasi selengkapnya, termasuk contoh, lihat[Dapatkan nilai rahasia Secrets Manager menggunakan Java dengan caching sisi klien](retrieving-secrets_cache-java.md).

## Konstruktor
<a name="retrieving-secrets_cache-java-ref_SecretCache-constructors"></a>

`public SecretCache()`  
Konstruktor default untuk `SecretCache` objek.

`public SecretCache(AWSSecretsManagerClientBuilder builder)`  
Membangun cache baru menggunakan klien Secrets Manager yang dibuat menggunakan yang disediakan [https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/secretsmanager/AWSSecretsManagerClientBuilder.html](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/secretsmanager/AWSSecretsManagerClientBuilder.html). Gunakan konstruktor ini untuk menyesuaikan klien Secrets Manager, misalnya untuk menggunakan Region atau endpoint tertentu.

`public SecretCache(AWSSecretsManager client)`  
Membangun cache rahasia baru menggunakan yang disediakan [https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/secretsmanager/AWSSecretsManagerClient.html](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/secretsmanager/AWSSecretsManagerClient.html). Gunakan konstruktor ini untuk menyesuaikan klien Secrets Manager, misalnya untuk menggunakan Region atau endpoint tertentu.

`public SecretCache(SecretCacheConfiguration config)`  
Membangun cache rahasia baru menggunakan yang disediakan`SecretCacheConfiguration`.

## Metode
<a name="retrieving-secrets_cache-java-ref_SecretCache-methods"></a>

### getSecretString
<a name="retrieving-secrets_cache-java-ref_SecretCache-methods-getSecretString"></a>

`public String getSecretString(final String secretId)`

Mengambil rahasia string dari Secrets Manager. Mengembalikan [https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true).

### getSecretBinary
<a name="retrieving-secrets_cache-java-ref_SecretCache-methods-getSecretBinary"></a>

`public ByteBuffer getSecretBinary(final String secretId)`

Mengambil rahasia biner dari Secrets Manager. Mengembalikan [https://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html](https://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html).

### RefreshNow
<a name="retrieving-secrets_cache-java-ref_SecretCache-methods-refreshNow"></a>

`public boolean refreshNow(final String secretId) throws InterruptedException`

Memaksa cache untuk menyegarkan. Mengembalikan `true` jika refresh selesai tanpa kesalahan, jika tidak`false`.

### tutup
<a name="retrieving-secrets_cache-java-ref_SecretCache-methods-close"></a>

`public void close()`

Menutup cache.

# SecretCacheConfiguration
<a name="retrieving-secrets_cache-java-ref_SecretCacheConfiguration"></a>

Opsi konfigurasi cache untuk[SecretCache](retrieving-secrets_cache-java-ref_SecretCache.md), seperti ukuran cache maks dan Time to Live (TTL) untuk rahasia cache.

## Konstruktor
<a name="retrieving-secrets_cache-java-ref_SecretCacheConfiguration_constructor"></a>

`public SecretCacheConfiguration`

Konstruktor default untuk `SecretCacheConfiguration` objek.

## Metode
<a name="retrieving-secrets_cache-java-ref_SecretCacheConfiguration_methods"></a>

### getClient
<a name="retrieving-secrets_cache-java-ref_SecretCacheConfiguration_methods-getClient"></a>

`public AWSSecretsManager getClient()`

Mengembalikan [https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/secretsmanager/AWSSecretsManagerClient.html](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/secretsmanager/AWSSecretsManagerClient.html)bahwa cache mengambil rahasia dari.

### SetClient
<a name="retrieving-secrets_cache-java-ref_SecretCacheConfiguration_methods-setClient"></a>

`public void setClient(AWSSecretsManager client)`

Menetapkan [https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/secretsmanager/AWSSecretsManagerClient.html](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/secretsmanager/AWSSecretsManagerClient.html)klien tempat cache mengambil rahasia dari.

### getCacheHook
<a name="retrieving-secrets_cache-java-ref_SecretCacheConfiguration_methods-getCacheHook"></a>

`public SecretCacheHook getCacheHook()`

Mengembalikan [SecretCacheHook](retrieving-secrets_cache-java-ref_SecretCacheHook.md) antarmuka yang digunakan untuk mengaitkan pembaruan cache.

### setCacheHook
<a name="retrieving-secrets_cache-java-ref_SecretCacheConfiguration_methods-setCacheHook"></a>

`public void setCacheHook(SecretCacheHook cacheHook)`

Mengatur [SecretCacheHook](retrieving-secrets_cache-java-ref_SecretCacheHook.md) antarmuka yang digunakan untuk mengaitkan pembaruan cache.

### getMaxCacheUkuran
<a name="retrieving-secrets_cache-java-ref_SecretCacheConfiguration_methods-getMaxCacheSize"></a>

`public int getMaxCacheSize()`

Mengembalikan ukuran cache maksimum. Defaultnya adalah 1024 rahasia.

### setMaxCacheUkuran
<a name="retrieving-secrets_cache-java-ref_SecretCacheConfiguration_methods-setMaxCacheSize"></a>

`public void setMaxCacheSize(int maxCacheSize)`

Menetapkan ukuran cache maksimum. Defaultnya adalah 1024 rahasia.

### getCacheItemTTL
<a name="retrieving-secrets_cache-java-ref_SecretCacheConfiguration_methods-getCacheItemTTL"></a>

`public long getCacheItemTTL()`

Mengembalikan TTL dalam milidetik untuk item cache. Ketika rahasia yang di-cache melebihi TTL ini, cache mengambil salinan rahasia baru dari file. [https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/secretsmanager/AWSSecretsManagerClient.html](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/secretsmanager/AWSSecretsManagerClient.html) Defaultnya adalah 1 jam dalam milidetik. 

Cache menyegarkan rahasia secara serempak ketika rahasia diminta setelah TTL. Jika penyegaran sinkron gagal, cache mengembalikan rahasia basi. 

### setCacheItemTTL
<a name="retrieving-secrets_cache-java-ref_SecretCacheConfiguration_methods-setCacheItemTTL"></a>

`public void setCacheItemTTL(long cacheItemTTL)`

Mengatur TTL dalam milidetik untuk item yang di-cache. Ketika rahasia yang di-cache melebihi TTL ini, cache mengambil salinan rahasia baru dari file. [https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/secretsmanager/AWSSecretsManagerClient.html](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/secretsmanager/AWSSecretsManagerClient.html) Defaultnya adalah 1 jam dalam milidetik.

### getVersionStage
<a name="retrieving-secrets_cache-java-ref_SecretCacheConfiguration_methods-getVersionStage"></a>

`public String getVersionStage()`

Mengembalikan versi rahasia yang ingin Anda cache. Untuk informasi selengkapnya, lihat [Versi rahasia](whats-in-a-secret.md#term_version). Defaultnya adalah` "AWSCURRENT"`.

### setVersionStage
<a name="retrieving-secrets_cache-java-ref_SecretCacheConfiguration_methods-setVersionStage"></a>

`public void setVersionStage(String versionStage)`

Menetapkan versi rahasia yang ingin Anda cache. Untuk informasi selengkapnya, lihat [Versi rahasia](whats-in-a-secret.md#term_version). Nilai default-nya `"AWSCURRENT"`.

### SecretCacheConfiguration denganKlien
<a name="retrieving-secrets_cache-java-ref_SecretCacheConfiguration_methods-withClient"></a>

`public SecretCacheConfiguration withClient(AWSSecretsManager client)`

Menetapkan [https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/secretsmanager/AWSSecretsManagerClient.html](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/secretsmanager/AWSSecretsManagerClient.html)untuk mengambil rahasia dari. Mengembalikan `SecretCacheConfiguration` objek diperbarui dengan pengaturan baru.

### SecretCacheConfiguration withCacheHook
<a name="retrieving-secrets_cache-java-ref_SecretCacheConfiguration_methods-withCacheHook"></a>

`public SecretCacheConfiguration withCacheHook(SecretCacheHook cacheHook)`

Mengatur antarmuka yang digunakan untuk mengaitkan cache dalam memori. Mengembalikan `SecretCacheConfiguration` objek diperbarui dengan pengaturan baru.

### SecretCacheConfiguration withMaxCacheUkuran
<a name="retrieving-secrets_cache-java-ref_SecretCacheConfiguration_methods-withMaxCacheSize"></a>

`public SecretCacheConfiguration withMaxCacheSize(int maxCacheSize)`

Menetapkan ukuran cache maksimum. Mengembalikan `SecretCacheConfiguration` objek diperbarui dengan pengaturan baru.

### SecretCacheConfiguration withCacheItemTTL
<a name="retrieving-secrets_cache-java-ref_SecretCacheConfiguration_methods-withCacheItemTTL"></a>

`public SecretCacheConfiguration withCacheItemTTL(long cacheItemTTL)`

Mengatur TTL dalam milidetik untuk item yang di-cache. Ketika rahasia yang di-cache melebihi TTL ini, cache mengambil salinan rahasia baru dari file. [https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/secretsmanager/AWSSecretsManagerClient.html](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/secretsmanager/AWSSecretsManagerClient.html) Defaultnya adalah 1 jam dalam milidetik. Mengembalikan `SecretCacheConfiguration` objek diperbarui dengan pengaturan baru.

### SecretCacheConfiguration withVersionStage
<a name="retrieving-secrets_cache-java-ref_SecretCacheConfiguration_methods-withVersionStage"></a>

`public SecretCacheConfiguration withVersionStage(String versionStage)`

Menetapkan versi rahasia yang ingin Anda cache. Untuk informasi selengkapnya, lihat [Versi rahasia](whats-in-a-secret.md#term_version). Mengembalikan `SecretCacheConfiguration` objek diperbarui dengan pengaturan baru.

# SecretCacheHook
<a name="retrieving-secrets_cache-java-ref_SecretCacheHook"></a>

Antarmuka untuk menghubungkan [SecretCache](retrieving-secrets_cache-java-ref_SecretCache.md) ke dalam untuk melakukan tindakan pada rahasia yang disimpan dalam cache. 

## menempatkan
<a name="retrieving-secrets_cache-java-ref_SecretCacheHook-put"></a>

`Object put(final Object o)`

Siapkan objek untuk disimpan dalam cache.

Mengembalikan objek untuk menyimpan dalam cache.

## memperoleh
<a name="retrieving-secrets_cache-java-ref_SecretCacheHook-get"></a>

`Object get(final Object cachedObject)`

Turunkan objek dari objek yang di-cache.

Mengembalikan objek untuk kembali dari cache