

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.

# Aktualisieren Sie eine Lambda-Funktionskonfiguration mit CodeBuild Lambda Python
<a name="sample-lambda-boto3-python"></a>

Das folgende Python-Beispiel verwendet [Boto3](https://aws.amazon.com/sdk-for-python/) und CodeBuild Lambda Python, um die Konfiguration einer Lambda-Funktion zu aktualisieren. Dieses Beispiel kann erweitert werden, um andere Ressourcen programmgesteuert zu verwalten. AWS Weitere Informationen finden Sie in der [Boto3-Dokumentation](https://aws.amazon.com/sdk-for-python/).

## Voraussetzungen
<a name="sample-lambda-boto3-python.prerequisites"></a>

Erstellen oder suchen Sie eine Lambda-Funktion in Ihrem Konto.

In diesem Beispiel wird davon ausgegangen, dass Sie in Ihrem Konto bereits eine Lambda-Funktion erstellt haben und diese Funktion CodeBuild zur Aktualisierung der Umgebungsvariablen der Lambda-Funktion verwenden werden. Weitere Informationen zum Einrichten einer Lambda-Funktion finden CodeBuild Sie im [Stellen Sie eine Lambda-Funktion AWS SAM mithilfe von CodeBuild Lambda Java bereit](sample-lambda-sam-gradle.md) Beispiel oder unter [AWS Lambda](https://aws.amazon.com/lambda/).

## Richten Sie Ihr Quell-Repository ein
<a name="sample-lambda-boto3-python.set-up-repo"></a>

Erstellen Sie ein Quell-Repository, um Ihr Boto3-Python-Skript zu speichern.

**Um das Quell-Repository einzurichten**

1. Kopieren Sie das folgende Python-Skript in eine neue Datei namens`update_lambda_environment_variables.py`.

   ```
   import boto3
   from os import environ
   
   
   def update_lambda_env_variable(lambda_client):
       lambda_function_name = environ['LAMBDA_FUNC_NAME']
       lambda_env_variable = environ['LAMBDA_ENV_VARIABLE']
       lambda_env_variable_value = environ['LAMBDA_ENV_VARIABLE_VALUE']
       print("Updating lambda function " + lambda_function_name + " environment variable "
             + lambda_env_variable + " to " + lambda_env_variable_value)
       lambda_client.update_function_configuration(
           FunctionName=lambda_function_name,
           Environment={
               'Variables': {
                   lambda_env_variable: lambda_env_variable_value
               }
           },
       )
   
   
   if __name__ == "__main__":
       region = environ['AWS_REGION']
       client = boto3.client('lambda', region)
       update_lambda_env_variable(client)
   ```

1. Laden Sie die Python-Datei in ein unterstütztes Quell-Repository hoch. Eine Liste der unterstützten Quelltypen finden Sie unter [ProjectSource](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html).

## Erstellen Sie ein CodeBuild Lambda-Python-Projekt
<a name="sample-lambda-boto3-python.create-project"></a>

Erstellen Sie ein CodeBuild Lambda-Python-Projekt.

**So erstellen Sie Ihr CodeBuild Lambda-Java-Projekt**

1. Öffnen Sie die AWS CodeBuild Konsole unter [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1.  Wenn eine CodeBuild Informationsseite angezeigt wird, wählen Sie Build-Projekt **erstellen**. Erweitern Sie andernfalls im Navigationsbereich **Build**, wählen Sie **Build projects** und dann **Create build project** aus. 

1. Geben Sie unter **Project name (Projektname)** einen Namen für dieses Build-Projekt ein. Die Namen von Build-Projekten müssen für jedes AWS Konto eindeutig sein. Sie können auch eine optionale Beschreibung des Build-Projekts hinzufügen, damit andere Benutzer verstehen, wofür dieses Projekt verwendet wird.

1. Wählen Sie unter **Quelle** das Quell-Repository aus, in dem sich Ihr AWS SAM Projekt befindet.

1. In **Environment** (Umgebung):
   + Wählen Sie für **Compute** die Option **Lambda** aus.
   + Wählen Sie für **Runtime (s)** **Python** aus.
   + Wählen Sie für **Image aws/codebuild/amazonlinux** **-x86\$164-lambda-standard:python3.12** aus.
   + **Lassen **Sie** für Servicerolle die Option Neue Servicerolle ausgewählt.** Notieren Sie sich den **Rollennamen**. Dies ist erforderlich, wenn Sie die IAM-Berechtigungen des Projekts später in diesem Beispiel aktualisieren.

1. Wählen Sie **Create build project (Build-Projekt erstellen)** aus.

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole. 

1. Wählen Sie im Navigationsbereich **Rollen** und dann die Ihrem Projekt zugeordnete Servicerolle aus. Sie finden Ihre Projektrolle in, CodeBuild indem Sie Ihr Build-Projekt auswählen, **Bearbeiten**, **Umgebung** und dann **Servicerolle** auswählen.

1. Wählen Sie die Registerkarte **Trust Relationships** (Vertrauensstellungen) und dann **Edit trust policy** (Vertrauensrichtlinie bearbeiten) aus.

1. Fügen Sie Ihrer IAM-Rolle die folgende Inline-Richtlinie hinzu. Dies wird später für die Bereitstellung Ihrer AWS SAM Infrastruktur verwendet. Informationen finden Sie im Abschnitt [Hinzufügen und Entfernen von IAM-Identitätsberechtigungen](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_manage-attach-detach.html) im *-IAM-Benutzerhandbuch*.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "UpdateLambdaPermissions",
               "Effect": "Allow",
               "Action": [
                   "lambda:UpdateFunctionConfiguration"
               ],
               "Resource": [
                   "*"
               ]
           }
       ]
   }
   ```

------

## Richten Sie das Projekt buildspec ein
<a name="sample-lambda-boto3-python.set-up-buildspec"></a>

Um die Lambda-Funktion zu aktualisieren, liest das Skript Umgebungsvariablen aus der Buildspec, um den Namen, den Namen der Umgebungsvariablen und den Wert der Umgebungsvariablen der Lambda-Funktion zu ermitteln.

**Um Ihr Projekt (buildspec) einzurichten**

1. **Wählen Sie in der CodeBuild Konsole Ihr Build-Projekt aus und wählen Sie dann **Bearbeiten** und Buildspec aus.**

1. **Wählen Sie in **Buildspec** die Option **Build-Befehle einfügen** und dann Zum Editor wechseln aus.**

1. Löschen Sie die vorgefüllten Build-Befehle und fügen Sie die folgende Buildspec ein.

   ```
   version: 0.2
   env:
     variables:
       LAMBDA_FUNC_NAME: "<lambda-function-name>"
       LAMBDA_ENV_VARIABLE: "FEATURE_ENABLED"
       LAMBDA_ENV_VARIABLE_VALUE: "true"
   phases:
     install:
       commands:
          - pip3 install boto3
     build:
       commands:
          - python3 update_lambda_environment_variables.py
   ```

1. Wählen Sie **Update buildspec (Buildspec aktualisieren)**.

## Aktualisieren Sie Ihre Lambda-Konfiguration
<a name="sample-lambda-boto3-python.update"></a>

Verwenden Sie CodeBuild Lambda Python, um die Konfiguration Ihrer Lambda-Funktion automatisch zu aktualisieren.

**Um die Konfiguration Ihrer Lambda-Funktion zu aktualisieren**

1. Wählen Sie **Start build (Build starten)**.

1. Sobald der Build abgeschlossen ist, navigieren Sie zu Ihrer Lambda-Funktion.

1. Wählen Sie **Konfiguration** und dann **Umgebungsvariablen** aus. Sie sollten eine neue Umgebungsvariable mit Schlüssel `FEATURE_ENABLED` und Wert sehen`true`.

## Säubern Sie Ihre Infrastruktur
<a name="sample-lambda-boto3-python.clean-up"></a>

Um weitere Gebühren für Ressourcen zu vermeiden, die Sie in diesem Tutorial verwendet haben, löschen Sie die für Ihr CodeBuild Projekt erstellten Ressourcen.

**Um Ihre Infrastruktur zu bereinigen**

1. Navigieren Sie zur CloudWatch Konsole und löschen Sie die mit Ihrem CodeBuild Projekt verknüpften CloudWatch Protokollgruppen.

1. Navigieren Sie zur CodeBuild Konsole und löschen Sie Ihr CodeBuild Projekt, indem **Sie Build-Projekt löschen** wählen.

1. Wenn Sie für dieses Beispiel eine Lambda-Funktion erstellt haben, wählen Sie **Aktionen** und **Funktion löschen, um Ihre Lambda-Funktion** zu bereinigen.

## Erweiterungen
<a name="sample-lambda-boto3-python.extensions"></a>

Wenn Sie dieses Beispiel erweitern möchten, um andere AWS Ressourcen mit AWS CodeBuild Lambda Python zu verwalten:
+ Aktualisieren Sie das Python-Skript, um die neuen Ressourcen mit Boto3 zu ändern.
+ Aktualisieren Sie die mit Ihrem CodeBuild Projekt verknüpfte IAM-Rolle, sodass sie über Berechtigungen für die neuen Ressourcen verfügt.
+ Fügen Sie Ihrer Buildspec alle neuen Umgebungsvariablen hinzu, die mit den neuen Ressourcen verknüpft sind.