

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# AWS Lambda richiama il riferimento all'azione
<a name="action-reference-Lambda"></a>

Consente di eseguire una funzione Lambda come azione nella pipeline. Utilizzando l'oggetto evento che è un input per questa funzione, la funzione ha accesso alla configurazione dell'operazione, alle posizioni degli artefatti di input, alle posizioni degli artefatti di output e ad altre informazioni necessarie per accedere agli artefatti. Per un esempio di evento passato a una funzione di invoke Lambda, vedere. [Evento JSON di esempio](#action-reference-Lambda-event) Come parte dell'implementazione della funzione Lambda, deve esserci una chiamata a `[PutJobSuccessResult API](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutJobSuccessResult.html)` o `[PutJobFailureResult API](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutJobFailureResult.html)`. In caso contrario, l'esecuzione di questa operazione si blocca fino a che l'operazione non scade. Se specifichi artefatti di output per l'operazione, questi devono essere caricati nel bucket S3 come parte dell'implementazione della funzione.

**Importante**  
Non registrate l'evento JSON CodePipeline inviato a Lambda perché ciò può comportare la registrazione delle credenziali utente nei log. CloudWatch Il CodePipeline ruolo utilizza un evento JSON per passare credenziali temporanee a Lambda sul campo. `artifactCredentials` Per un evento di esempio, consultare [Evento JSON di esempio](actions-invoke-lambda-function.md#actions-invoke-lambda-function-json-event-example).

## Tipo di operazione
<a name="action-reference-Lambda-type"></a>
+ Categoria: `Invoke`
+ Proprietario: `AWS`
+ Provider: `Lambda`
+ Versione: `1`

## Parametri di configurazione
<a name="action-reference-Lambda-config"></a>

**FunctionName**  
Obbligatorio: sì  
`FunctionName`è il nome della funzione creata in Lambda.

**UserParameters**  
Obbligatorio: no  
Una stringa che può essere elaborata come input dalla funzione Lambda.

## Input artifact (Artefatti di input)
<a name="action-reference-Lambda-input"></a>
+ **Numero di artefatti:** `0 to 5`
+ **Descrizione:** il set di artefatti da rendere disponibili per la funzione Lambda.

## Artefatti di output
<a name="action-reference-Lambda-output"></a>
+ **Numero di artefatti:** `0 to 5` 
+ **Descrizione:** l'insieme di artefatti prodotti come output dalla funzione Lambda.

## Variabili di output
<a name="action-reference-Lambda-variables"></a>

[Questa azione produrrà come variabili tutte le coppie chiave-valore incluse nella `outputVariables` sezione della richiesta API. PutJobSuccessResult ](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutJobSuccessResult.html)

Per ulteriori informazioni sulle variabili in CodePipeline, vedere. [Riferimento alle variabili](reference-variables.md)

## Esempio di configurazione dell'operazione
<a name="action-reference-Lambda-example"></a>

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

```
Name: Lambda
Actions:
  - Name: Lambda
    ActionTypeId:
      Category: Invoke
      Owner: AWS
      Provider: Lambda
      Version: '1'
    RunOrder: 1
    Configuration:
      FunctionName: myLambdaFunction
      UserParameters: 'http://192.0.2.4'
    OutputArtifacts: []
    InputArtifacts: []
    Region: us-west-2
```

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

```
{
    "Name": "Lambda",
    "Actions": [
        {
            "Name": "Lambda",
            "ActionTypeId": {
                "Category": "Invoke",
                "Owner": "AWS",
                "Provider": "Lambda",
                "Version": "1"
            },
            "RunOrder": 1,
            "Configuration": {
                "FunctionName": "myLambdaFunction",
                "UserParameters": "http://192.0.2.4"
            },
            "OutputArtifacts": [],
            "InputArtifacts": [],
            "Region": "us-west-2"
        }
    ]
},
```

------

## Evento JSON di esempio
<a name="action-reference-Lambda-event"></a>

L'azione Lambda invia un evento JSON che contiene l'ID del lavoro, la configurazione dell'azione della pipeline, le posizioni degli artefatti di input e output e qualsiasi informazione di crittografia per gli artefatti. Il job worker accede a questi dettagli per completare l'azione Lambda. Per ulteriori informazioni, consulta [Dettagli del processo](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_JobDetails.html). Di seguito è riportato un esempio di evento.

```
{
    "CodePipeline.job": {
        "id": "11111111-abcd-1111-abcd-111111abcdef",
        "accountId": "111111111111",
        "data": {
            "actionConfiguration": {
                "configuration": {
                    "FunctionName": "MyLambdaFunction",
                    "UserParameters": "input_parameter"
                }
            },
            "inputArtifacts": [
                {
                    "location": {
                        "s3Location": {
                            "bucketName": "bucket_name",
                            "objectKey": "filename"
                        },
                        "type": "S3"
                    },
                    "revision": null,
                    "name": "ArtifactName"
                }
            ],
            "outputArtifacts": [],
            "artifactCredentials": {
                "secretAccessKey": "secret_key",
                "sessionToken": "session_token",
                "accessKeyId": "access_key_ID"
            },
            "continuationToken": "token_ID",
            "encryptionKey": { 
              "id": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
              "type": "KMS"
            }
        }
    }
}
```

L'evento JSON fornisce i seguenti dettagli del lavoro per l'azione Lambda in: CodePipeline
+ `id`: l'ID univoco generato dal sistema del processo.
+ `accountId`: l'ID AWS dell'account associato al job.
+ `data`: altre informazioni richieste da un esecutore del processo per completare il processo. 
  + `actionConfiguration`: i parametri di operazione per l'operazione Lambda. Per le definizioni, consulta [Parametri di configurazione](#action-reference-Lambda-config).
  + `inputArtifacts`: l'artefatto fornito all'operazione.
    + `location`: la posizione dello store degli artefatti.
      + `s3Location`: le informazioni sulla posizione dell'artefatto di input per l'operazione.
        + `bucketName`: il nome dell'archivio di artefatti della pipeline per l'azione (ad esempio, un bucket Amazon S3 denominato -2-1234567890). codepipeline-us-east
        + `objectKey`: il nome dell'applicazione (ad esempio, `CodePipelineDemoApplication.zip`).
      + `type`: il tipo di artefatto nella posizione. Al momento, `S3` è l'unico tipo di artefatto valido.
    + `revision`: l'ID revisione dell'artefatto. A seconda del tipo di oggetto, può essere un ID di commit (GitHub) o un ID di revisione (Amazon Simple Storage Service). Per ulteriori informazioni, consulta [ArtifactRevision](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_ArtifactRevision.html).
    + `name`: il nome dell'artefatto da utilizzare, ad esempio `MyApp`.
  + `outputArtifacts`: l'output dell'operazione.
    + `location`: la posizione dello store degli artefatti.
      + `s3Location`: le informazioni sulla posizione dell'artefatto di output per l'operazione.
        + `bucketName`: il nome dell'archivio di artefatti della pipeline per l'azione (ad esempio, un bucket Amazon S3 denominato -2-1234567890). codepipeline-us-east
        + `objectKey`: il nome dell'applicazione (ad esempio, `CodePipelineDemoApplication.zip`).
      + `type`: il tipo di artefatto nella posizione. Al momento, `S3` è l'unico tipo di artefatto valido.
    + `revision`: l'ID revisione dell'artefatto. A seconda del tipo di oggetto, può essere un ID di commit (GitHub) o un ID di revisione (Amazon Simple Storage Service). Per ulteriori informazioni, consulta [ArtifactRevision](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_ArtifactRevision.html).
    + `name`: il nome dell'output di un artefatto, ad esempio `MyApp`.
  + `artifactCredentials`: le credenziali di AWS sessione utilizzate per accedere agli artefatti di input e output nel bucket Amazon S3. Queste credenziali sono credenziali temporanee emesse da AWS Security Token Service (AWS STS).
    + `secretAccessKey`: la chiave di accesso segreta per la sessione.
    + `sessionToken`: il token per la sessione.
    + `accessKeyId`: la chiave di accesso segreta per la sessione.
  + `continuationToken`: un token generato dall'operazione. Le operazioni future utilizzano questo token per identificare l'istanza in esecuzione dell'operazione. Al termine dell'operazione, non è necessario fornire alcun token di continuazione.
  + `encryptionKey`: La chiave di crittografia utilizzata per crittografare i dati nell'archivio degli artefatti, ad esempio una chiave. AWS KMS Se non è definito, viene utilizzata la chiave predefinita per Amazon Simple Storage Service. 
    + `id`: l'ID utilizzato per identificare la chiave. Per una chiave AWS KMS , puoi utilizzare l'ID della chiave, l'ARN della chiave o l'ARN dell'alias. 
    + `type`: il tipo di chiave di crittografia, ad esempio una chiave AWS KMS .

## Consulta anche
<a name="action-reference-Lambda-links"></a>

Le risorse correlate seguenti possono essere utili durante l'utilizzo di questa operazione.
+ [AWS CloudFormation Guida per l'utente](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/)[: per ulteriori informazioni sulle azioni e gli CloudFormation artefatti Lambda per le pipeline, vedere [Utilizzo delle funzioni di sostituzione dei parametri con CodePipeline le pipeline, [Automazione](https://docs.aws.amazon.com/lambda/latest/dg/automating-deployment.html) della distribuzione](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-parameter-override-functions.html) di applicazioni basate su Lambda e Artifacts.AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html)
+ [Invoca una AWS Lambda funzione in una pipeline in CodePipeline](actions-invoke-lambda-function.md)— Questa procedura fornisce una funzione Lambda di esempio e mostra come utilizzare la console per creare una pipeline con un'azione di richiamo Lambda.