

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à.

# Testare le funzioni Lambda di pre-annotazione e post-annotazione
<a name="sms-custom-templates-step3-lambda-test"></a>

Puoi testare le funzioni Lambda di pre-annotazione e post-annotazione nella console Lambda. Se sei un nuovo utente di Lambda, puoi scoprire come testare o *richiamare* le funzioni Lambda nella console consultando il tutorial [Crea una funzione Lambda](https://docs.aws.amazon.com/lambda/latest/dg/getting-started-create-function.html#gettingstarted-zip-function) con la console nella Guida per sviluppatori AWS Lambda . Puoi utilizzare le sezioni di questa pagina per imparare a testare i modelli di pre-annotazione e post-annotazione di Ground Truth forniti tramite un AWS Serverless Application Repository (SAR). 

**Topics**
+ [Prerequisiti](#sms-custom-templates-step3-lambda-test-pre)
+ [Testa la funzione Lambda di pre-annotazione](#sms-custom-templates-step3-lambda-test-pre-annotation)
+ [Test della funzione Lambda di post-annotazione](#sms-custom-templates-step3-lambda-test-post-annotation)

## Prerequisiti
<a name="sms-custom-templates-step3-lambda-test-pre"></a>

È necessario effettuare le seguenti operazioni per effettuare i test descritti in questa pagina.
+ È necessario accedere alla console Lambda e sono necessaire le autorizzazioni per creare e richiamare le funzioni Lambda. Per scoprire come configurare queste autorizzazioni, consulta [Concedi l'autorizzazione a creare e selezionare una funzione AWS Lambda](sms-custom-templates-step3-lambda-permissions.md#sms-custom-templates-step3-postlambda-create-perms).
+ Se non hai implementato la ricetta SAR di Ground Truth, segui la procedura descritta in [Creare funzioni Lambda utilizzando i modelli Ground Truth](sms-custom-templates-step3-lambda-create.md) per farlo.
+ Per testare la funzione Lambda post-annotazione, è necessario disporre di un file di dati in Amazon S3 con dati di annotazione di esempio. Per un semplice test, puoi copiare e incollare il seguente codice in un file, salvarlo come `sample-annotations.json` e [caricare il file su Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html). Prendi nota dell'URI S3 di questo file: hai bisogno di queste informazioni per configurare il test Lambda post-annotazione.

  ```
  [{"datasetObjectId":"0","dataObject":{"content":"To train a machine learning model, you need a large, high-quality, labeled dataset. Ground Truth helps you build high-quality training datasets for your machine learning models."},"annotations":[{"workerId":"private.us-west-2.0123456789","annotationData":{"content":"{\"crowd-entity-annotation\":{\"entities\":[{\"endOffset\":8,\"label\":\"verb\",\"startOffset\":3},{\"endOffset\":27,\"label\":\"adjective\",\"startOffset\":11},{\"endOffset\":33,\"label\":\"object\",\"startOffset\":28},{\"endOffset\":51,\"label\":\"adjective\",\"startOffset\":46},{\"endOffset\":65,\"label\":\"adjective\",\"startOffset\":53},{\"endOffset\":74,\"label\":\"adjective\",\"startOffset\":67},{\"endOffset\":82,\"label\":\"adjective\",\"startOffset\":75},{\"endOffset\":102,\"label\":\"verb\",\"startOffset\":97},{\"endOffset\":112,\"label\":\"verb\",\"startOffset\":107},{\"endOffset\":125,\"label\":\"adjective\",\"startOffset\":113},{\"endOffset\":134,\"label\":\"adjective\",\"startOffset\":126},{\"endOffset\":143,\"label\":\"object\",\"startOffset\":135},{\"endOffset\":169,\"label\":\"adjective\",\"startOffset\":153},{\"endOffset\":176,\"label\":\"object\",\"startOffset\":170}]}}"}}]},{"datasetObjectId":"1","dataObject":{"content":"Sift 3 cups of flour into the bowl."},"annotations":[{"workerId":"private.us-west-2.0123456789","annotationData":{"content":"{\"crowd-entity-annotation\":{\"entities\":[{\"endOffset\":4,\"label\":\"verb\",\"startOffset\":0},{\"endOffset\":6,\"label\":\"number\",\"startOffset\":5},{\"endOffset\":20,\"label\":\"object\",\"startOffset\":15},{\"endOffset\":34,\"label\":\"object\",\"startOffset\":30}]}}"}}]},{"datasetObjectId":"2","dataObject":{"content":"Jen purchased 10 shares of the stock on Janurary 1st, 2020."},"annotations":[{"workerId":"private.us-west-2.0123456789","annotationData":{"content":"{\"crowd-entity-annotation\":{\"entities\":[{\"endOffset\":3,\"label\":\"person\",\"startOffset\":0},{\"endOffset\":13,\"label\":\"verb\",\"startOffset\":4},{\"endOffset\":16,\"label\":\"number\",\"startOffset\":14},{\"endOffset\":58,\"label\":\"date\",\"startOffset\":40}]}}"}}]},{"datasetObjectId":"3","dataObject":{"content":"The narrative was interesting, however the character development was weak."},"annotations":[{"workerId":"private.us-west-2.0123456789","annotationData":{"content":"{\"crowd-entity-annotation\":{\"entities\":[{\"endOffset\":29,\"label\":\"adjective\",\"startOffset\":18},{\"endOffset\":73,\"label\":\"adjective\",\"startOffset\":69}]}}"}}]}]
  ```
+ È necessario utilizzare le istruzioni riportate in [Concedi le autorizzazioni Lambda post-annotazione per accedere all'annotazione](sms-custom-templates-step3-lambda-permissions.md#sms-custom-templates-step3-postlambda-perms) per autorizzare il ruolo di esecuzione della funzione Lambda post-annotazione ad assumere il ruolo di esecuzione SageMaker AI utilizzato per creare il lavoro di etichettatura. La funzione Lambda post-annotazione utilizza il ruolo di esecuzione SageMaker AI per accedere al file di dati di annotazione, in S3. `sample-annotations.json`



## Testa la funzione Lambda di pre-annotazione
<a name="sms-custom-templates-step3-lambda-test-pre-annotation"></a>

Usa la seguente procedura per testare la funzione Lambda di pre-annotazione creata quando hai distribuito la ricetta Ground AWS Serverless Application Repository Truth (SAR). 

**Test della funzione Lambda di pre-annotazione della ricetta SAR di Ground Truth**

1. Apri la [pagina **Funzioni**](https://console.aws.amazon.com/lambda/home#/functions) nella console Lambda.

1. Seleziona la funzione di pre-annotazione che è stata implementata dalla ricetta SAR di Ground Truth. Il nome di questa funzione è simile a `serverlessrepo-aws-sagema-GtRecipePreHumanTaskFunc-<id>`.

1. Nella sezione **Codice sorgente**, seleziona la freccia accanto a **Test**.

1. Seleziona **Configura evento di test**.

1. Mantieni selezionata l'opzione **Crea nuovo evento di test**.

1. In **Modello di evento**, seleziona **SageMakerGround Truth PreHumanTask**. 

1. Assegna al test un **Nome evento**.

1. Seleziona **Crea**.

1. Seleziona nuovamente la freccia accanto a **Test**. Dovresti notare che il test che hai creato è selezionato e ciò è indicato con un punto accanto al nome dell'evento. Se non è selezionato, selezionalo. 

1. Seleziona **Test** per eseguire il test. 

Dopo aver eseguito il test, puoi vedere i **Risultati di esecuzione**. Nei **Log delle funzioni**, dovresti visualizzare una risposta simile alla seguente:

```
START RequestId: cd117d38-8365-4e1a-bffb-0dcd631a878f Version: $LATEST
Received event: {
  "version": "2018-10-16",
  "labelingJobArn": "arn:aws:sagemaker:us-east-2:123456789012:labeling-job/example-job",
  "dataObject": {
    "source-ref": "s3://sagemakerexample/object_to_annotate.jpg"
  }
}
{'taskInput': {'taskObject': 's3://sagemakerexample/object_to_annotate.jpg'}, 'isHumanAnnotationRequired': 'true'}
END RequestId: cd117d38-8365-4e1a-bffb-0dcd631a878f
REPORT RequestId: cd117d38-8365-4e1a-bffb-0dcd631a878f	Duration: 0.42 ms	Billed Duration: 1 ms	Memory Size: 128 MB	Max Memory Used: 43 MB
```

In questa risposta, possiamo vedere che l'output della funzione Lambda corrisponde alla sintassi di risposta pre-annotazione richiesta:

```
{'taskInput': {'taskObject': 's3://sagemakerexample/object_to_annotate.jpg'}, 'isHumanAnnotationRequired': 'true'}
```

## Test della funzione Lambda di post-annotazione
<a name="sms-custom-templates-step3-lambda-test-post-annotation"></a>

Usa la seguente procedura per testare la funzione Lambda post-annotazione creata quando hai distribuito la ricetta Ground AWS Serverless Application Repository Truth (SAR). 

**Testa della Lambda di post-annotazione della ricetta SAR di Ground Truth**

1. Apri la [pagina **Funzioni**](https://console.aws.amazon.com/lambda/home#/functions) nella console Lambda.

1. Seleziona la funzione di post-annotazione che è stata implementata dalla ricetta SAR di Ground Truth. Il nome di questa funzione è simile a `serverlessrepo-aws-sagema-GtRecipeAnnotationConsol-<id>`.

1. Nella sezione **Codice sorgente**, seleziona la freccia accanto a **Test**.

1. Seleziona **Configura evento di test**.

1. Mantieni selezionata l'opzione **Crea nuovo evento di test**.

1. In **Modello di evento**, seleziona **SageMakerGround Truth AnnotationConsolidation**.

1. Assegna al test un **Nome evento**.

1. Modifica il codice del modello fornito come segue:
   + Sostituisci Amazon Resource Name (ARN) `roleArn` con l'ARN del ruolo di esecuzione SageMaker AI che hai usato per creare il processo di etichettatura.
   + Sostituisci l'URI S3 in `s3Uri` con l'URI del file `sample-annotations.json` che hai aggiunto ad Amazon S3.

   Dopo aver apportato queste modifiche, il test dovrebbe essere simile al seguente:

   ```
   {
     "version": "2018-10-16",
     "labelingJobArn": "arn:aws:sagemaker:us-east-2:123456789012:labeling-job/example-job",
     "labelAttributeName": "example-attribute",
     "roleArn": "arn:aws:iam::222222222222:role/sm-execution-role",
     "payload": {
       "s3Uri": "s3://your-bucket/sample-annotations.json"
     }
   }
   ```

1. Seleziona **Crea**.

1. Seleziona nuovamente la freccia accanto a **Test**. Dovresti notare che il test che hai creato è selezionato e ciò è indicato con un punto accanto al nome dell'evento. Se non è selezionato, selezionalo. 

1. Seleziona **Test** per eseguire il test. 

Dopo aver eseguito il test, dovresti visualizzare una sezione `-- Consolidated Output --` nei **Log delle funzioni**, che contiene un elenco di tutte le annotazioni incluse in `sample-annotations.json`.