

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 wie folgt bereitstellen und Bereitstellungsstrategien für die Bereitstellung des Datenverkehrs 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 der Servicerollenrichtlinie für die Lambda-Bereitstellungsaktion](#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 Bereitstellung vorgesehen ist, z. B. `live` Der Alias muss existieren und hinter ihm muss eine Version stehen, wenn die Ausführung der Aktion gestartet wird. (Es wird die Rollback-Zielversion sein.)  
Falls 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 Dabei kann es sich um Variablen auf Pipeline- oder Aktionsebene handeln, wie `#{variables.lambdaTargetVersion}` z. Die Version muss veröffentlicht werden, wenn die Ausführung der Aktion gestartet wird.  
Erforderlich, wenn kein Eingabeartefakt bereitgestellt wird.

**DeployStrategy**  
Erforderlich: Nein (Standard ist`AllAtOnce`)  
  
Bestimmt die Geschwindigkeit, mit der die Lambda-Bereitstellungsaktion den Datenverkehr von der ursprünglichen Version der Lambda-Funktion auf die neue Version umleitet. **FunctionAlias** Verfügbare Bereitstellungsstrategien sind kanarisch oder linear. Zulässige Formate:  
+ `AllAtOnce` - 

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

   Falls nicht angegeben, ist `AllAtOnce` die Standardeinstellung)
+ `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.
Für dieses Feld gelten die folgenden Überlegungen:  
+ Die maximale Gesamtwartezeit beträgt 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 ALARM-Status wechseln.

Die folgende Abbildung zeigt ein Beispiel für die Bearbeitungsseite für die Aktion.

![\[Die Aktionsseite „Aktion bearbeiten“ für eine neue Pipeline mit der Aktion Lambda Deploy\]](http://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, um die Skriptaktionen während der Bereitstellung zu unterstützen.

## 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 [Variablen-Referenz](reference-variables.md).

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

## Berechtigungen der Servicerollenrichtlinie für die Lambda-Bereitstellungsaktion
<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.