

Dies ist der AWS CDK v2-Entwicklerhandbuch. Das ältere CDK v1 wurde am 1. Juni 2022 in die Wartung aufgenommen und der Support wurde am 1. Juni 2023 eingestellt.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Ruft einen Wert aus dem Systems Manager Manager-Parameterspeicher ab
<a name="get-ssm-value"></a>

Das AWS Cloud Development Kit (AWS CDK) kann den Wert von AWS Systems Manager Parameter Store-Attributen abrufen. Während der Synthese erzeugt das AWS CDK ein [Token](tokens.md), das AWS CloudFormation während der Bereitstellung aufgelöst wird.

Das AWS CDK unterstützt das Abrufen sowohl einfacher als auch sicherer Werte. Sie können eine bestimmte Version einer der beiden Arten von Werten anfordern. Bei einfachen Werten können Sie die Version in Ihrer Anfrage zum Abrufen der neuesten Version weglassen. Bei sicheren Werten müssen Sie die Version angeben, wenn Sie den Wert des sicheren Attributs anfordern.

**Anmerkung**  
In diesem Thema wird gezeigt, wie Attribute aus dem AWS Systems Manager Manager-Parameterspeicher gelesen werden. Sie können Secrets auch aus dem AWS Secrets Manager lesen (siehe [Einen Wert aus AWS Secrets Manager abrufen](get-secrets-manager-value.md)).

## Lesen Sie die Systems Manager Manager-Werte bei der Bereitstellung
<a name="ssm-read-at-deploy"></a>

Verwenden Sie die [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)Methoden [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)und, um Werte aus dem Systems Manager Manager-Parameterspeicher zu lesen. Wählen Sie eine Methode, die darauf basiert, ob es sich bei dem gewünschten Attribut um eine einfache Zeichenfolge oder um einen sicheren Zeichenkettenwert handelt. Diese Methoden geben [Tokens](tokens.md) zurück, nicht den tatsächlichen Wert. Der Wert wird AWS CloudFormation während der Bereitstellung aufgelöst. Im Folgenden wird ein Beispiel gezeigt:

**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
```

Eine [begrenzte Anzahl von AWS Diensten](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html#template-parameters-dynamic-patterns-resources) unterstützt diese Funktion derzeit.

## Lesen Sie die Systems Manager Manager-Werte zur Synthesezeit
<a name="ssm-read-at-synth"></a>

Manchmal ist es nützlich, bei der Synthese einen Parameter anzugeben. Auf diese Weise verwendet die AWS CloudFormation Vorlage immer denselben Wert, anstatt den Wert während der Bereitstellung aufzulösen.

Verwenden Sie die [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)Methode (Python:`value_from_lookup`), um während der Synthese einen Wert aus dem Systems Manager Manager-Parameterspeicher zu lesen. Diese Methode gibt den tatsächlichen Wert des Parameters als [Kontextwerte und den AWS CDK-Wert](context.md) zurück. Wenn der Wert nicht bereits zwischengespeichert `cdk.json` oder in der Befehlszeile übergeben wurde, wird er aus dem aktuellen AWS Konto abgerufen. Aus diesem Grund *muss* der Stack mit expliziten AWS Umgebungsinformationen synthetisiert werden.

Im Folgenden wird ein Beispiel gezeigt:

**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");
```

Es können nur einfache Systems Manager Manager-Zeichenketten abgerufen werden. Sichere Zeichenketten können nicht abgerufen werden. Es wird immer die neueste Version zurückgegeben. Bestimmte Versionen können nicht angefordert werden.

**Wichtig**  
Der abgerufene Wert wird in Ihrer synthetisierten AWS CloudFormation Vorlage landen. Dies kann ein Sicherheitsrisiko darstellen, je nachdem, wer Zugriff auf Ihre AWS CloudFormation Vorlagen hat und um welchen Wert es sich handelt. Verwenden Sie diese Funktion generell nicht für Passwörter, Schlüssel oder andere Werte, die Sie geheim halten möchten.

## Werte in Systems Manager schreiben
<a name="ssm-write"></a>

Sie können die AWS CLI, die AWS Management Console oder ein AWS SDK verwenden, um Systems Manager Manager-Parameterwerte festzulegen. In den folgenden Beispielen wird der [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-Befehl verwendet.

```
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"
```

Wenn Sie einen SSM-Wert aktualisieren, der bereits vorhanden ist, schließen Sie auch die `--overwrite` Option ein.

```
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"
```