

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Testar as funções do Lambda de pré-anotação e pós-anotação
<a name="sms-custom-templates-step3-lambda-test"></a>

Você pode testar suas funções do Lambda de pré-anotação e pós-anotação no console Lambda. Se você for um novo usuário do Lambda, poderá saber como testar ou *invocar* suas funções do Lambda no console usando o tutorial [Criar uma função do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/getting-started-create-function.html#gettingstarted-zip-function) com o console no Guia do desenvolvedor AWS Lambda . Você pode usar as seções desta página para aprender como testar os modelos de pré-anotação e pós-anotação do Ground Truth fornecidos por meio de um (SAR). AWS Serverless Application Repository 

**Topics**
+ [Pré-requisitos](#sms-custom-templates-step3-lambda-test-pre)
+ [Sua função do Lambda de pré-anotação](#sms-custom-templates-step3-lambda-test-pre-annotation)
+ [Sua função do Lambda de pós-anotação](#sms-custom-templates-step3-lambda-test-post-annotation)

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

Você deve fazer o seguinte para usar os testes descritos nesta página:
+ Você precisa acessar o console Lambda e precisa de permissão para criar e invocar funções do Lambda. Para saber como configurar essas permissões, consulte [Conceder permissão para criar e selecionar uma AWS Lambda função](sms-custom-templates-step3-lambda-permissions.md#sms-custom-templates-step3-postlambda-create-perms).
+ Se você não implantou a fórmula SAR do Ground Truth, use o procedimento em [Criar funções do Lambda usando modelos Ground Truth](sms-custom-templates-step3-lambda-create.md) para fazer isso.
+ Para testar a função do Lambda de pós-anotação, você deve ter um arquivo de dados no Amazon S3 com dados de anotação de amostra. Para um teste simples, você pode copiar e colar o código a seguir em um arquivo, salvá-lo como `sample-annotations.json` e [fazer o upload desse arquivo no Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html). Observe o URI do S3 desse arquivo. Você precisa dessas informações para configurar o teste Lambda pós-anotação.

  ```
  [{"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}]}}"}}]}]
  ```
+ Você deve usar as instruções [Conceder permissões Lambda de pós-anotação para acessar a anotação](sms-custom-templates-step3-lambda-permissions.md#sms-custom-templates-step3-postlambda-perms) para dar permissão à função de execução da função Lambda de pós-anotação para assumir a função de execução de IA que você usa para criar SageMaker o trabalho de rotulagem. A função Lambda de pós-anotação usa a função de execução de IA para acessar SageMaker o arquivo de dados de anotação,, no S3. `sample-annotations.json`



## Sua função do Lambda de pré-anotação
<a name="sms-custom-templates-step3-lambda-test-pre-annotation"></a>

Use o procedimento a seguir para testar a função Lambda de pré-anotação criada quando você implantou a receita do AWS Serverless Application Repository Ground Truth (SAR). 

**Teste a função do Lambda de pré-anotação da fórmula Ground Truth SAR**

1. Abra a página [https://console.aws.amazon.com/lambda/home#/functions](https://console.aws.amazon.com/lambda/home#/functions) no console do Lambda.

1. Selecione a função de pré-anotação que foi implantada a partir da fórmula SAR do Ground Truth. O nome dessa função é semelhante a `serverlessrepo-aws-sagema-GtRecipePreHumanTaskFunc-{{<id>}}`.

1. Na seção **Origem do código**, selecione a seta ao lado de **Testar**.

1. Selecione **Configurar evento de teste**.

1. Mantenha a opção **Criar novo evento de teste** selecionada.

1. Em **Modelo de evento**, selecione **SageMakerGround Truth PreHumanTask**. 

1. Dê ao seu teste um **Nome do evento**.

1. Escolha **Criar**.

1. Selecione a seta ao lado de **Testar** novamente e você verá que o teste que você criou está selecionado, indicado com um ponto ao lado do nome do evento. Se não estiver selecionado, selecione-o. 

1. Selecione **Testar** para executar o teste. 

Depois de executar o teste, você pode ver os **resultados da execução**. Em **Logs de função**, você deverá ver a seguinte resposta da função:

```
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
```

Nessa resposta, podemos ver que a saída da função do Lambda corresponde à sintaxe de resposta de pré-anotação necessária:

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

## Sua função do Lambda de pós-anotação
<a name="sms-custom-templates-step3-lambda-test-post-annotation"></a>

Use o procedimento a seguir para testar a função Lambda de pós-anotação criada quando você implantou a receita do AWS Serverless Application Repository Ground Truth (SAR). 

**Teste a fórmula de SAR de Ground Truth após a anotação Lambda**

1. Abra a página [https://console.aws.amazon.com/lambda/home#/functions](https://console.aws.amazon.com/lambda/home#/functions) no console do Lambda.

1. Selecione a função de pós-anotação que foi implantada a partir da fórmula SAR do Ground Truth. O nome dessa função é semelhante `serverlessrepo-aws-sagema-GtRecipeAnnotationConsol-{{<id>}}` a.

1. Na seção **Origem do código**, selecione a seta ao lado de **Testar**.

1. Selecione **Configurar evento de teste**.

1. Mantenha a opção **Criar novo evento de teste** selecionada.

1. Em **Modelo de evento**, selecione **SageMakerGround Truth AnnotationConsolidation**.

1. Dê ao seu teste um **Nome do evento**.

1. Modifique o código do modelo de mapeamento da seguinte maneira:
   + Substitua o Amazon Resource Name (ARN) pelo ARN da função de execução de SageMaker IA que você usou para criar o trabalho de rotulagem. `roleArn`
   + Substitua o URI do S3 em `s3Uri` pelo URI do arquivo `sample-annotations.json` que você adicionou ao Amazon S3.

   Depois de fazer essas modificações, o teste deve ser semelhante ao seguinte:

   ```
   {
     "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. Escolha **Criar**.

1. Selecione a seta ao lado de **Testar** novamente e você verá que o teste que você criou está selecionado, indicado com um ponto ao lado do nome do evento. Se não estiver selecionado, selecione-o. 

1. Selecione o **Testar** para executar o teste. 

Depois de executar o teste, você deve ver uma `-- Consolidated Output --` seção nos **logs de funções**, que contém uma lista de todas as anotações incluídas em `sample-annotations.json`.