

Ini adalah Panduan Pengembang AWS CDK v2. CDK v1 yang lebih lama memasuki pemeliharaan pada 1 Juni 2022 dan mengakhiri dukungan pada 1 Juni 2023.

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

# Dapatkan nilai dari Systems Manager Parameter Store
<a name="get-ssm-value"></a>

 AWS Cloud Development Kit (AWS CDK) dapat mengambil nilai atribut AWS Systems Manager Parameter Store. Selama sintesis, AWS CDK menghasilkan [token](tokens.md) yang diselesaikan oleh AWS CloudFormation selama penerapan.

 AWS CDK mendukung pengambilan nilai polos dan aman. Anda dapat meminta versi tertentu dari kedua jenis nilai tersebut. Untuk nilai biasa, Anda dapat menghilangkan versi dari permintaan Anda untuk mengambil versi terbaru. Untuk nilai aman, Anda harus menentukan versi saat meminta nilai atribut aman.

**catatan**  
Topik ini menunjukkan cara membaca atribut dari AWS Systems Manager Parameter Store. Anda juga dapat membaca rahasia dari AWS Secrets Manager (lihat [Mendapatkan nilai dari AWS Secrets Manager](get-secrets-manager-value.md)).

## Baca nilai Systems Manager pada waktu penerapan
<a name="ssm-read-at-deploy"></a>

Untuk membaca nilai dari Systems Manager Parameter Store, gunakan [https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ssm.StringParameter.html#static-valuewbrforwbrsecurewbrstringwbrparameterscope-parametername-version](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ssm.StringParameter.html#static-valuewbrforwbrsecurewbrstringwbrparameterscope-parametername-version)metode [https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ssm.StringParameter.html#static-valuewbrforwbrstringwbrparameterscope-parametername-version](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ssm.StringParameter.html#static-valuewbrforwbrstringwbrparameterscope-parametername-version)dan. Pilih metode berdasarkan apakah atribut yang Anda inginkan adalah string biasa atau nilai string aman. Metode ini mengembalikan [token](tokens.md), bukan nilai sebenarnya. Nilai diselesaikan oleh AWS CloudFormation selama penerapan. Berikut ini adalah contohnya:

**Example**  

```
import * as ssm from 'aws-cdk-lib/aws-ssm';

// Get latest version or specified version of plain string attribute
const latestStringToken = ssm.StringParameter.valueForStringParameter(
    this, 'my-plain-parameter-name');      // latest version
const versionOfStringToken = ssm.StringParameter.valueForStringParameter(
    this, 'my-plain-parameter-name', 1);   // version 1

// Get specified version of secure string attribute
const secureStringToken = ssm.StringParameter.valueForSecureStringParameter(
    this, 'my-secure-parameter-name', 1);   // must specify version
```

```
const ssm = require('aws-cdk-lib/aws-ssm');

// Get latest version or specified version of plain string attribute
const latestStringToken = ssm.StringParameter.valueForStringParameter(
    this, 'my-plain-parameter-name');      // latest version
const versionOfStringToken = ssm.StringParameter.valueForStringParameter(
    this, 'my-plain-parameter-name', 1);   // version 1

// Get specified version of secure string attribute
const secureStringToken = ssm.StringParameter.valueForSecureStringParameter(
    this, 'my-secure-parameter-name', 1);   // must specify version
```

```
import aws_cdk.aws_ssm as ssm

# Get latest version or specified version of plain string attribute
latest_string_token = ssm.StringParameter.value_for_string_parameter(
    self, "my-plain-parameter-name")
latest_string_token = ssm.StringParameter.value_for_string_parameter(
    self, "my-plain-parameter-name", 1)

# Get specified version of secure string attribute
secure_string_token = ssm.StringParameter.value_for_secure_string_parameter(
    self, "my-secure-parameter-name", 1)   # must specify version
```

```
import software.amazon.awscdk.services.ssm.StringParameter;

//Get latest version or specified version of plain string attribute
String latestStringToken = StringParameter.valueForStringParameter(
            this, "my-plain-parameter-name");       // latest version
String versionOfStringToken = StringParameter.valueForStringParameter(
            this, "my-plain-parameter-name", 1);    // version 1

//Get specified version of secure string attribute
String secureStringToken = StringParameter.valueForSecureStringParameter(
            this, "my-secure-parameter-name", 1);   // must specify version
```

```
using Amazon.CDK.AWS.SSM;

// Get latest version or specified version of plain string attribute
var latestStringToken = StringParameter.ValueForStringParameter(
    this, "my-plain-parameter-name");      // latest version
var versionOfStringToken = StringParameter.ValueForStringParameter(
    this, "my-plain-parameter-name", 1);   // version 1

// Get specified version of secure string attribute
var secureStringToken = StringParameter.ValueForSecureStringParameter(
    this, "my-secure-parameter-name", 1);   // must specify version
```

[Sejumlah AWS layanan terbatas](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html#template-parameters-dynamic-patterns-resources) saat ini mendukung fitur ini.

## Baca nilai Systems Manager pada waktu sintesis
<a name="ssm-read-at-synth"></a>

Kadang-kadang, berguna untuk memberikan parameter pada waktu sintesis. Dengan melakukan ini, AWS CloudFormation template akan selalu menggunakan nilai yang sama alih-alih menyelesaikan nilai selama penerapan.

Untuk membaca nilai dari Systems Manager Parameter Store pada waktu sintesis, gunakan [https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ssm.StringParameter.html#static-valuewbrfromwbrlookupscope-parametername](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ssm.StringParameter.html#static-valuewbrfromwbrlookupscope-parametername)metode (Python:`value_from_lookup`). Metode ini mengembalikan nilai aktual parameter sebagai [nilai Konteks dan nilai AWS CDK](context.md). Jika nilai belum di-cache `cdk.json` atau diteruskan pada baris perintah, itu diambil dari akun saat ini AWS . Untuk alasan ini, tumpukan *harus* disintesis dengan informasi AWS lingkungan eksplisit.

Berikut ini adalah contohnya:

**Example**  

```
import * as ssm from 'aws-cdk-lib/aws-ssm';

const stringValue = ssm.StringParameter.valueFromLookup(this, 'my-plain-parameter-name');
```

```
const ssm = require('aws-cdk-lib/aws-ssm');

const stringValue = ssm.StringParameter.valueFromLookup(this, 'my-plain-parameter-name');
```

```
import aws_cdk.aws_ssm as ssm

string_value = ssm.StringParameter.value_from_lookup(self, "my-plain-parameter-name")
```

```
import software.amazon.awscdk.services.ssm.StringParameter;

String stringValue = StringParameter.valueFromLookup(this, "my-plain-parameter-name");
```

```
using Amazon.CDK.AWS.SSM;

var stringValue = StringParameter.ValueFromLookup(this, "my-plain-parameter-name");
```

Hanya string Systems Manager biasa yang dapat diambil. String aman tidak dapat diambil. Versi terbaru akan selalu dikembalikan. Versi tertentu tidak dapat diminta.

**penting**  
Nilai yang diambil akan berakhir di template yang disintesis AWS CloudFormation . Ini mungkin risiko keamanan, tergantung pada siapa yang memiliki akses ke AWS CloudFormation template Anda dan nilai apa itu. Umumnya, jangan gunakan fitur ini untuk kata sandi, kunci, atau nilai lain yang ingin Anda jaga kerahasiaannya.

## Menulis nilai ke Systems Manager
<a name="ssm-write"></a>

Anda dapat menggunakan AWS CLI, AWS Management Console, atau AWS SDK untuk menetapkan nilai parameter Systems Manager. Contoh berikut menggunakan perintah [https://docs.aws.amazon.com/cli/latest/reference/ssm/put-parameter.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/put-parameter.html)CLI.

```
aws ssm put-parameter --name "parameter-name" --type "String" --value "parameter-value"
aws ssm put-parameter --name "secure-parameter-name" --type "SecureString" --value "secure-parameter-value"
```

Saat memperbarui nilai SSM yang sudah ada, sertakan juga `--overwrite` opsi.

```
aws ssm put-parameter --overwrite --name "parameter-name" --type "String" --value "parameter-value"
aws ssm put-parameter --overwrite --name "secure-parameter-name" --type "SecureString" --value "secure-parameter-value"
```