

Dies ist der AWS CDK v2-Entwicklerhandbuch. Das ältere CDK v1 wurde am 1. Juni 2022 gewartet 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.

# Konfigurieren Sie die Berichterstattung über Nutzungsdaten der AWS CDK-Bibliothek
<a name="usage-data"></a>

## Was ist die Berichterstattung über Nutzungsdaten der CDK-Bibliothek?
<a name="usage-data-intro"></a>

 AWS Cloud Development Kit (AWS CDK) -Anwendungen sind so konfiguriert, dass sie Nutzungsdaten sammeln und darüber berichten, um einen Einblick in die Nutzung des AWS CDK zu erhalten. Das CDK-Team verwendet diese Daten für folgende Zwecke:
+  **Kommunizieren Sie mit Kunden** — Identifizieren Sie Stacks anhand eines Konstrukts mit bekannten Sicherheits- oder Zuverlässigkeitsproblemen und versenden Sie Mitteilungen zu kundenrelevanten Themen.
+  **Informieren Sie die CDK-Entwicklung** — Gewinnen Sie Einblicke in die CDK-Nutzung, um die CDK-Entwicklung besser zu informieren.
+  **Untersuchen Sie CDK-Probleme** — Wenn Fehler gemeldet werden, bieten Nutzungsdaten dem CDK-Team wertvolle Einblicke bei der Problembehebung.

## Welche Nutzungsdaten werden gesammelt?
<a name="usage-data-categories"></a>

Es gibt zwei Kategorien von Anwendungsnutzungsdaten, die vom CDK gesammelt werden:
+ Allgemeine Nutzungsdaten
+ Zusätzliche Nutzungsdaten

### Allgemeine Erfassung von Nutzungsdaten
<a name="usage-data-categories-general"></a>

Das CDK sammelt die folgenden Arten von allgemeinen Nutzungsdaten aus Ihren CDK-Anwendungen:
+ Versionen der verwendeten CDK-Bibliotheken.
+ Namen der verwendeten Konstrukte aus den folgenden Modulen: `NPM`
  +  AWS CDK-Kernmodule
  +  AWS Konstruieren Sie Bibliotheksmodule
  +  AWS Modul Solutions Constructs
  +  AWS Modul „Render Farm Deployment Kit“

**Anmerkung**  
Vor Version 1.93.0 gab das AWS CDK die Namen und Versionen der Module an, die während der Synthese geladen wurden, und nicht die im Stack verwendeten Konstrukte.

### Zusätzliche Erfassung von Nutzungsdaten
<a name="usage-data-categories-additional"></a>

Ab CDK-Version 2.178.0 wurde die Erfassung von Nutzungsdaten um die folgenden zusätzlichen Nutzungsdaten erweitert:
+  **CDK-definierte Eigenschaftsschlüssel — Wenn Sie eine integrierte Eigenschaft** eines L2-Konstrukts verwenden, wird der Eigenschaftsschlüssel erfasst. Dazu gehören integrierte Eigenschaftsschlüssel, die in Wörterbuchobjekten verschachtelt sind.
+  **Eigenschaftswerte vom Typ Boolean und Enum aus CDK-definierten Eigenschaftsschlüsseln — Bei CDK-definierten Eigenschaftsschlüsseln** werden nur Eigenschaftswerte der Typen Boolean und Enum gesammelt. Alle anderen Typen, wie Zeichenkettenwerte oder Konstruktreferenzen, werden redigiert.
+  **Methodenname, Schlüssel und Eigenschaftswerte der Typen Boolean und Enum** — Wenn Sie eine L2-Konstruktionsmethode verwenden, erfassen wir den Methodennamen, die Eigenschaftsschlüssel und die Eigenschaftswerte der Typen Boolean und Enum.

Bei Eigenschaftsschlüsseln und Werten, die Sie eindeutig erstellen, wird das gesamte Objekt geschwärzt. Wenn Sie ` [InlineApiDefinition](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.InlineApiDefinition.html) ` beispielsweise eine OpenAPI Spezifikation definieren und diese in ein ` [RestApi](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.RestApi.html) ` Konstrukt übergeben, wird das gesamte `InlineApiDefinition` Objekt geschwärzt.

Weitere Informationen zur zusätzlichen Erfassung von Nutzungsdaten, einschließlich ihrer Vorteile und potenziellen Bedenken, finden Sie in der Diskussion [CDK Collecting Additional Metadata (under feature flag) \$133198](https://github.com/aws/aws-cdk/discussions/33198) im *aws-cdk-Repository*.

## Wie das CDK Nutzungsdaten von Anwendungen sammelt
<a name="usage-data-how"></a>

Bei der Synthese sammelt das CDK Nutzungsdaten aus Ihrer Anwendung und speichert sie in der ` AWS::CDK::Metadata` Ressource. Im Folgenden finden Sie ein Beispiel dafür auf einer synthetisierten Vorlage AWS CloudFormation :

```
CDKMetadata:
  Type: "AWS::CDK::Metadata"
  Properties:
    Analytics: "v2:deflate64:H4sIAND9SGAAAzXKSw5AMBAA0L1b2PdzBYnEAdio3RglglY60zQi7u6TWL/XKmNUlxeQSOKwaPTBqrNhwEWU3hGHiCzK0dWWfAxoL/Fd8mvk+QkS/0X6BdjnCdgmOOQKWz+AqqLDt2Y3YMnLYWwAAAA="
```

Die `Analytics` Eigenschaft ist eine gzip-komprimierte, Base64-kodierte, präfix-kodierte Liste der Konstrukte im Stack.

## Wie kann ich die Berichterstattung über Nutzungsdaten abbestellen oder aktivieren
<a name="usage-data-configure"></a>

Ihre Optionen, sich für allgemeine Nutzungsdatenberichte und zusätzliche Nutzungsdatenberichte abzumelden oder zu entscheiden, hängen von der CDK-Version ab, mit der Sie Ihre App ursprünglich erstellt haben.

Standardmäßig sind CDK-Anwendungen so konfiguriert, dass sie sich wie folgt automatisch für die Berichterstattung über Nutzungsdaten entscheiden:
+  **Alle CDK-Apps** — Sie haben sich für die allgemeine Berichterstattung über Nutzungsdaten entschieden.
+  **CDK-Apps, die mit einer älteren Version als v2.178.0 erstellt wurden** — Sie haben sich nicht automatisch für die Berichterstattung über zusätzliche Nutzungsdaten entschieden.
+  **CDK-Apps, die mit Version 2.178.0 oder neuer erstellt wurden** — Sie haben sich für zusätzliche Nutzungsdatenberichte angemeldet.

**Warnung**  
Wenn Sie sich dafür entscheiden, sich abzumelden, kann das CDK nicht erkennen, ob Sie von Sicherheitsproblemen betroffen sind, und sendet Ihnen diesbezüglich keine Benachrichtigungen.

### Melden Sie sich von allen Berichten über Nutzungsdaten ab
<a name="usage-data-configure-optout-all"></a>

Um jegliche Berichterstattung über Nutzungsdaten zu deaktivieren, können Sie die Befehlszeilenschnittstelle (CLI) des AWS Cloud Development Kit (AWS CDK) verwenden oder die `cdk.json` Datei Ihres Projekts konfigurieren.

 **So deaktivieren Sie die gesamte Berichterstattung über Nutzungsdaten mithilfe der CDK-CLI**   
+ Verwenden Sie die `--no-version-reporting` Option mit einem beliebigen CDK-CLI-Befehl, um sich für einen einzelnen Befehl zu entscheiden. Im Folgenden finden Sie ein Beispiel für die Deaktivierung während der Template-Synthese:

  ```
  $ cdk synth --no-version-reporting
  ```

  Da das CDK Vorlagen automatisch synthetisiert, wenn Sie es ausführen`cdk deploy`, sollten Sie es auch `--no-version-reporting` mit dem Befehl verwenden. `cdk deploy`

 **Um die gesamte Berichterstattung über Nutzungsdaten zu deaktivieren, konfigurieren Sie die Datei cdk.json**   

1. Auf „`false`In`./cdk.json`“ `versionReporting` oder einstellen. `~/.cdk.json` Dadurch werden Sie standardmäßig abgemeldet. Im Folgenden wird ein Beispiel gezeigt:

   ```
   {
     "app": "...",
     "versionReporting": false
   }
   ```

1. Nach der Konfiguration können Sie dieses Verhalten außer Kraft setzen und sich anmelden, indem Sie einen individuellen Befehl angeben`--version-reporting`.

### Nur die zusätzliche Berichterstattung über Nutzungsdaten deaktivieren
<a name="usage-data-configure-optout-additiona"></a>

Wenn Ihre CDK-App mit einer CDK-Version erstellt wurde, die älter als 2.178.0 ist, werden Sie automatisch von der zusätzlichen Berichterstattung über Nutzungsdaten abgemeldet, auch wenn Sie der allgemeinen Berichterstattung über Nutzungsdaten zugestimmt haben. Sie müssen nichts tun, um die zusätzliche Berichterstattung über Nutzungsdaten zu deaktivieren.

Wenn Ihre CDK-App mit der CDK-Version 2.178.0 oder neuer erstellt wurde, müssen Sie die gesamte Berichterstattung über Nutzungsdaten deaktivieren. Sie können sich nicht nur von der zusätzlichen Berichterstattung über Nutzungsdaten abmelden.

### Melden Sie sich für die Berichterstattung über Nutzungsdaten an
<a name="usage-data-configure-optin"></a>

Wenn Ihre CDK-App mit der CDK-Version 2.178.0 oder neuer erstellt wurde, können Sie sich für die gesamte Berichterstattung über Nutzungsdaten entscheiden, indem Sie auf einstellen. `versionReporting` `true` Dies ist das Standardverhalten von CDK-Apps.

Wenn Ihre CDK-App mit einer CDK-Version erstellt wurde, die älter als 2.178.0 ist, können Sie sich für die allgemeine Berichterstattung über Nutzungsdaten entscheiden, indem Sie auf einstellen. `versionReporting` `true` Um sich für zusätzliche Nutzungsdatenberichte zu entscheiden, müssen Sie ein Feature-Flag aktivieren.

**Anmerkung**  
Diese Schritte gelten für CDK-Apps, die ursprünglich mit einer älteren Version als 2.178.0 erstellt wurden

1. Stellen Sie sicher, dass Sie jetzt CDK-Version 2.178.0 oder neuer verwenden.

1. Geben Sie in Ihrer CDK-Konfigurationsdatei als an. `@aws-cdk/core:enableAdditionalMetadataCollection` `true` Im Folgenden wird ein Beispiel gezeigt:

   ```
   {
     "context": {
       "@aws-cdk/core:enableAdditionalMetadataCollection": "true"
     }
   }
   ```

1. Sie können den `ENABLE_ADDITIONAL_METADATA_COLLECTION` Wert auch mit der ` [FeatureFlags](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.FeatureFlags.html) ` Klasse verwenden. Im Folgenden wird ein Beispiel gezeigt:

   ```
   import * as cdk from 'aws-cdk-lib';
   import { FeatureFlags } from 'aws-cdk-lib';
   import * as cx_api from 'aws-cdk-lib/cx-api';
   import { Construct } from 'constructs';
   
   export class MyStack extends cdk.Stack {
     constructor(scope: Construct, id: string, props?: cdk.StackProps) {
       super(scope, id, props);
   
       // Set the feature flag ENABLE_ADDITIONAL_METADATA_COLLECTION to true
       FeatureFlags.of(this).add(cx_api.ENABLE_ADDITIONAL_METADATA_COLLECTION, true);
   
       // Your stack resources go here
       new cdk.aws_s3.Bucket(this, 'MyBucket');
     }
   }
   
   const app = new cdk.App();
   new MyStack(app, 'MyStack');
   ```

## Beispiele
<a name="usage-data-examples"></a>

### Allgemeine und zusätzliche Nutzungsdaten, die von einer CDK-Anwendung erfasst wurden
<a name="usage-data-examples-example1"></a>

Im Folgenden finden Sie ein Beispiel für eine CDK-App:

```
import * as cdk from 'aws-cdk-lib';
import { Construct } from 'constructs';
import * as s3 from 'aws-cdk-lib/aws-s3';

class MyStack extends cdk.Stack {
  constructor(scope, id, props) {
    super(scope, id, props);

    // Create an S3 bucket (L2 construct)
    const myBucket = new s3.Bucket(this, 'MyBucket', {
      bucketName: 'my-cdk-example-bucket', // String type
      versioned: true,                    // Boolean type
      removalPolicy: cdk.RemovalPolicy.DESTROY, // ENUM type
      lifecycleRules: [{                  // Array of object type
        expirationDate: new Date('2019-10-01'),
        objectSizeLessThan: 600,
        objectSizeGreaterThan: 500,
      }],
    });

    // Use a method of the L2 construct to define additional properties
    myBucket.addLifecycleRule({
      id: 'ExpireOldObjects',
      enabled: true, // Boolean
      expiration: cdk.Duration.days(90), // Expire objects after 90 days
    });
  }
}

// Define the CDK app and stack
const app = new cdk.App();
new MyStack(app, 'MyStack');
app.synth();
```

Bei der Synthese werden Nutzungsdaten gesammelt, komprimiert und in der ` AWS::CDK::Metadata` Ressource gespeichert.

Im Folgenden finden Sie ein Beispiel für allgemeine Nutzungsdaten, die mit einer CDK-Version gesammelt wurden, die älter als 2.178.0 ist:

```
{
    "fqn": "aws-cdk-lib.aws-s3.Bucket",
    "version": "v2.170.0"
}
```

Im Folgenden finden Sie ein Beispiel für gesammelte Nutzungsdaten, einschließlich der zusätzlichen Nutzungsdaten, die in CDK-Version 2.178.0 eingeführt wurden:

```
{
    "fqn": "aws-cdk-lib.aws_s3.Bucket",
    "version": "2.170.0",
    "metadata": [
        {
            "type": "aws:cdk:analytics:construct",
            "data": {
                "bucketName": "*",
                "versioned": true,
                "removalPolicy": "cdk.RemovalPolicy.DESTROY",
                "lifecycleRules": [
                    {
                        "expirationDate": "*",
                        "objectSizeLessThan": "*",
                        "objectSizeGreaterThan": "*"
                    }
                ]
            }
        },
        {
            "type": "aws:cdk:analytics:method",
            "data": {
                "name": "addLifecycleRule",
                "prop": {
                    "id": "*",
                    "enabled": true,
                    "expiration": "*",
                }
            }
        }
    ]
}
```