

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.

# AWS Lambda Aktionsreferenz bereitstellen
<a name="action-reference-LambdaDeploy"></a>

Sie verwenden eine AWS Lambda Bereitstellungsaktion, um die Bereitstellung Ihres Anwendungscodes für Ihre serverlose Bereitstellung zu verwalten. Sie können eine Funktion bereitstellen und Bereitstellungsstrategien für die Bereitstellung des Datenverkehrs wie folgt verwenden:
+ Kanarische und lineare Bereitstellungen zur Verkehrsverlagerung
+ Bereitstellungen auf einmal

**Anmerkung**  
Diese Aktion wird nur für Pipelines vom Typ V2 unterstützt.

**Topics**
+ [Aktionstyp](#action-reference-LambdaDeploy-type)
+ [Konfigurationsparameter](#action-reference-LambdaDeploy-parameters)
+ [Input artifacts (Eingabeartefakte)](#action-reference-LambdaDeploy-input)
+ [Ausgabeartefakte](#action-reference-LambdaDeploy-output)
+ [Ausgabevariablen](#action-reference-LambdaDeploy-output-variables)
+ [Berechtigungen für die Lambda-Bereitstellungsaktion (Richtlinie) für die Aktion „Lambda-Bereitstellung“](#action-reference-LambdaDeploy-permissions-action)
+ [Aktionsdeklaration](#action-reference-LambdaDeploy-example)
+ [Weitere Informationen finden Sie auch unter](#action-reference-LambdaDeploy-links)

## Aktionstyp
<a name="action-reference-LambdaDeploy-type"></a>
+ Kategorie: `Deploy`
+ Eigentümer: `AWS`
+ Anbieter: `Lambda`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-LambdaDeploy-parameters"></a>

**FunctionName**  
Erforderlich: Ja  
Der Name der Funktion, die Sie in Lambda erstellt haben, z. B. `MyLambdaFunction`  
Sie müssen bereits eine Version erstellt haben.

**FunctionAlias**  
Erforderlich: Nein  
Der Alias der Funktion, die Sie in Lambda erstellt haben und für die die Funktion bereitgestellt werden soll, z. B. `live` Der Alias muss existieren und eine Version dahinter haben, wenn die Aktionsausführung beginnt. (Es wird die Rollback-Zielversion sein.)  
Wenn nicht angegeben, stellt die Aktion das Quellartefakt bereit `$LATEST` und erstellt eine neue Version. In diesem Anwendungsfall sind die Optionen für die Bereitstellungsstrategie und die Zielversion nicht verfügbar. 

**PublishedTargetVersion**  
Erforderlich: Nein  
Die gewünschte Lambda-Funktionsversion, für die bereitgestellt werden soll. FunctionAlias Es können Variablen auf Pipeline- oder Aktionsebene sein, z. B. `#{variables.lambdaTargetVersion}` Die Version muss veröffentlicht werden, wenn die Aktionsausführung beginnt.  
Erforderlich, wenn kein Eingabeartefakt bereitgestellt wird.

**DeployStrategy**  
Erforderlich: Nein (Standardeinstellung ist`AllAtOnce`)  
  
Legt die Rate fest, mit der die Lambda-Bereitstellungsaktion den Datenverkehr von der Originalversion der Lambda-Funktion auf die neue Version umleitet. ** FunctionAlias ** Die verfügbaren Bereitstellungsstrategien sind kanarisch oder linear. Zulässige Formate:  
+ `AllAtOnce` - 

  Leitet den gesamten Datenverkehr auf einmal auf die aktualisierten Lambda-Funktionen um.

  Wenn nichts angegeben ist, ist der Standardwert `AllAtOnce`.
+ `Canary10Percent5Minutes`- Verschiebt 10 Prozent des Datenverkehrs in der ersten Stufe. Die restlichen 90 Prozent werden fünf Minuten später bereitgestellt.

  Die Werte sowohl für den Prozentsatz als auch für die Minuten können geändert werden.
+ `Linear10PercentEvery1Minute`- Verschiebt jede Minute 10 Prozent des Verkehrs, bis der gesamte Verkehr verlagert ist.

  Die Werte sowohl für den Prozentsatz als auch für die Minuten können geändert werden.
Die folgenden Überlegungen gelten für dieses Feld:  
+ Die maximale Wartezeit beträgt insgesamt 2 Tage.
+ Nur verfügbar, ** FunctionAlias ** wenn angegeben.


**Alarme**  
Erforderlich: Nein  
Eine durch Kommas getrennte Liste von Alarmnamen, die für die Lambda-Bereitstellung konfiguriert wurden. Es können höchstens 10 Alarme hinzugefügt werden. Die Aktion schlägt fehl, wenn überwachte Alarme in den Status ALARM übergehen.

Die folgende Abbildung zeigt ein Beispiel für die Seite „Bearbeiten“ für die Aktion.

![Die Aktionsseite „Bearbeiten“ für eine neue Pipeline mit der Lambda-Deployment-Aktion](https://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/images/lambdadeploy-edit-screen.png)


## Input artifacts (Eingabeartefakte)
<a name="action-reference-LambdaDeploy-input"></a>
+ **Anzahl der Artefakte: ** `1`
+ **Beschreibung: ** Die bereitgestellten Dateien, falls vorhanden, zur Unterstützung der Skriptaktionen während der Bereitstellung.

## Ausgabeartefakte
<a name="action-reference-LambdaDeploy-output"></a>
+ **Anzahl der Artefakte: ** `0` 
+ **Beschreibung: ** Ausgabeartefakte gelten nicht für diesen Aktionstyp.

## Ausgabevariablen
<a name="action-reference-LambdaDeploy-output-variables"></a>

Wenn dies konfiguriert ist, werden durch diese Aktion Variablen erzeugt, die von der Aktionskonfiguration einer nachgeschalteten Aktion in der Pipeline referenziert werden können. Diese Aktion erzeugt Variablen, die als Ausgabevariablen angezeigt werden können, auch wenn die Aktion keinen Namespace hat. Sie konfigurieren eine Aktion mit einem Namespace, um diese Variablen für die Konfiguration nachgeschalteter Aktionen zur Verfügung zu stellen. 

Weitere Informationen finden Sie unter [Variablenreferenz](reference-variables.md).

**FunctionVersion**  
Die neue Lambda-Funktionsversion, die bereitgestellt wurde.

## Berechtigungen für die Lambda-Bereitstellungsaktion (Richtlinie) für die Aktion „Lambda-Bereitstellung“
<a name="action-reference-LambdaDeploy-permissions-action"></a>

Wenn die Aktion CodePipeline ausgeführt wird, benötigt die CodePipeline Servicerolle die folgenden Berechtigungen, die entsprechend auf den Zugriff mit den geringsten Rechten beschränkt sind.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "StatementForLambda",
            "Effect": "Allow",
            "Action": [
                "lambda:GetAlias",
                "lambda:GetFunctionConfiguration",
                "lambda:GetProvisionedConcurrencyConfig",
                "lambda:PublishVersion",
                "lambda:UpdateAlias",
                "lambda:UpdateFunctionCode"
            ],
            "Resource": [
                "arn:aws:lambda:us-east-1:{{111122223333}}:function:{{FunctionName}}",
                "arn:aws:lambda:us-east-1:{{111122223333}}:function:{{FunctionName}}:*"
            ]
        },
        {
            "Sid": "StatementForCloudWatch",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:DescribeAlarms"
            ],
            "Resource": [
                "arn:aws:cloudwatch:us-east-1:{{111122223333}}:alarm:{{AlarmNames}}"
            ]
        },
        {
            "Sid": "StatementForLogs1",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:{{111122223333}}:log-group:/us-east-1/codepipeline/{{pipelineName}}",
                "arn:aws:logs:us-east-1:{{111122223333}}:log-group:/us-east-1/codepipeline/{{pipelineName}}:*"
            ]
        },
        {
            "Sid": "StatementForLogs2",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:{{111122223333}}:log-group:/us-east-1/codepipeline/{{pipelineName}}:log-stream:*"
            ]
        }
    ]
}
```

------

## Aktionsdeklaration
<a name="action-reference-LambdaDeploy-example"></a>

------
#### [ YAML ]

```
name: Deploy
actionTypeId:
  category: Deploy
  owner: AWS
  provider: Lambda
  version: '1'
runOrder: 1
configuration:
  DeployStrategy: Canary10Percent5Minutes
  FunctionAlias: aliasV1
  FunctionName: MyLambdaFunction
outputArtifacts: []
inputArtifacts:
- name: SourceArtifact
region: us-east-1
namespace: DeployVariables
```

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

```
{
    "name": "Deploy",
    "actionTypeId": {
        "category": "Deploy",
        "owner": "AWS",
        "provider": "Lambda",
        "version": "1"
    },
    "runOrder": 1,
    "configuration": {
        "DeployStrategy": "Canary10Percent5Minutes",
        "FunctionAlias": "aliasV1",
        "FunctionName": "MyLambdaFunction"
    },
    "outputArtifacts": [],
    "inputArtifacts": [
        {
            "name": "SourceArtifact"
        }
    ],
    "region": "us-east-1",
    "namespace": "DeployVariables"
},
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-LambdaDeploy-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+  [Tutorial: Bereitstellung von Lambda-Funktionen mit CodePipeline](tutorials-lambda-deploy.md)— Dieses Tutorial führt Sie durch die Erstellung einer Lambda-Beispielfunktion, in der Sie einen Alias und eine Version erstellen, die komprimierte Lambda-Funktion zu Ihrem Quellspeicherort hinzufügen und die Lambda-Aktion in Ihrer Pipeline ausführen.