

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.

# Testen der Lambda-Funktionen zur Vorverarbeitung und zur Nachbearbeitung
<a name="sms-custom-templates-step3-lambda-test"></a>

Sie können Ihre Lambda-Funktionen zur Vorverarbeitung und zur Nachbearbeitung in der Lambda-Konsole testen. Wenn Sie ein neuer Benutzer von Lambda sind, können Sie mithilfe des Tutorials [Erstellen einer Lambda-Funktion](https://docs.aws.amazon.com/lambda/latest/dg/getting-started-create-function.html#gettingstarted-zip-function) im AWS Lambda -Entwicklerhandbuch lernen, wie Sie Ihre Lambda-Funktionen in der Konsole testen oder *aufrufen*. In den Abschnitten auf dieser Seite erfahren Sie, wie Sie die über eine AWS Serverless Application Repository (SAR) bereitgestellten Ground Truth-Vorlagen vor und nach der Anmerkung testen können. 

**Topics**
+ [Voraussetzungen](#sms-custom-templates-step3-lambda-test-pre)
+ [Testen der Lambda-Funktion zur Vorverarbeitung](#sms-custom-templates-step3-lambda-test-pre-annotation)
+ [Testen der Lambda-Funktion zur Nachbearbeitung](#sms-custom-templates-step3-lambda-test-post-annotation)

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

Um die auf dieser Seite beschriebenen Tests verwenden zu können, müssen Sie wie folgt vorgehen.
+ Sie benötigen Zugriff auf die Lambda-Konsole und Berechtigungen, Lambda-Funktionen zu erstellen und aufzurufen. Informationen zum Einrichten dieser Berechtigungen finden Sie unter [Erteilen Sie die Berechtigung zum Erstellen und Auswählen einer Funktion AWS Lambda](sms-custom-templates-step3-lambda-permissions.md#sms-custom-templates-step3-postlambda-create-perms).
+ Wenn Sie das Ground-Truth-SAR-Rezept nicht bereitgestellt haben, verwenden Sie dazu das Verfahren in [Erstellen von Lambda-Funktionen mithilfe von Ground-Truth-Vorlagen](sms-custom-templates-step3-lambda-create.md).
+ Um die Lambda-Funktion zur Nachbearbeitung zu testen, benötigen Sie in Amazon S3 eine Datendatei mit Beispiel-Annotationsdaten. Für einen einfachen Test können Sie den folgenden Code kopieren und in eine Datei einfügen, ihn unter `sample-annotations.json` speichern und [diese Datei auf Amazon S3 hochladen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html). Notieren Sie sich den S3-URI dieser Datei – Sie benötigen diese Informationen, um den Lambda-Test nach der Annotation zu konfigurieren.

  ```
  [{"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}]}}"}}]}]
  ```
+ Sie müssen die Anweisungen unter verwenden[Erteilen von Lambda-Berechtigungen zur Nachbearbeitung für den Zugriff auf Anmerkungen](sms-custom-templates-step3-lambda-permissions.md#sms-custom-templates-step3-postlambda-perms), um der Ausführungsrolle Ihrer Lambda-Funktion nach der Annotation die Berechtigung zu erteilen, die SageMaker KI-Ausführungsrolle anzunehmen, die Sie zum Erstellen des Labeling-Jobs verwenden. Die Lambda-Funktion nach der Annotation verwendet die SageMaker AI-Ausführungsrolle, um auf die Annotationsdatendatei in `sample-annotations.json` S3 zuzugreifen.



## Testen der Lambda-Funktion zur Vorverarbeitung
<a name="sms-custom-templates-step3-lambda-test-pre-annotation"></a>

Verwenden Sie das folgende Verfahren, um die Lambda-Funktion vor der Annotation zu testen, die bei der Bereitstellung des Ground Truth AWS Serverless Application Repository (SAR) -Rezepts erstellt wurde. 

**Testen der Lambda-Funktion zur Vorverarbeitung des Ground-Truth-SAR-Rezepts**

1. Öffnen Sie die Seite [https://console.aws.amazon.com/lambda/home#/functions](https://console.aws.amazon.com/lambda/home#/functions) in der Lambda-Konsole.

1. Wählen Sie die Funktion zur Vorverarbeitung, die aus dem Ground-Truth-SAR-Rezept bereitgestellt wurde. Der Name dieser Funktion ist `serverlessrepo-aws-sagema-GtRecipePreHumanTaskFunc-<id>` ähnlich.

1. Wählen Sie im Abschnitt **Codequelle** den Pfeil neben **Test** aus.

1. Wählen Sie **Testereignis konfigurieren**.

1. Lassen Sie die Option **Neues Testereignis erstellen** ausgewählt.

1. Wählen Sie unter **Eventvorlage** die Option **SageMakerGround Truth** aus PreHumanTask. 

1. Geben Sie Ihrem Test einen **Ereignisnamen.**

1. Wählen Sie **Erstellen** aus.

1. Klicken Sie erneut auf den Pfeil neben **Test**. Sie sollten nun sehen, dass der von Ihnen erstellte Test ausgewählt ist, was durch einen Punkt neben dem Namen des Ereignisses gekennzeichnet ist. Wenn er nicht ausgewählt ist, wählen Sie ihn aus. 

1. Wählen Sie **Test** aus, um den Test auszuführen. 

Nachdem Sie den Test ausgeführt haben, können Sie die **Ausführungsergebnisse** sehen. Unter **Funktionsprotokolle** sollten Sie eine Antwort ähnlich der folgenden sehen:

```
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 dieser Antwort können wir sehen, dass die Ausgabe der Lambda-Funktion der erforderlichen Antwortsyntax zur Vorverarbeitung entspricht:

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

## Testen der Lambda-Funktion zur Nachbearbeitung
<a name="sms-custom-templates-step3-lambda-test-post-annotation"></a>

Verwenden Sie das folgende Verfahren, um die Lambda-Funktion nach der Annotation zu testen, die bei der Bereitstellung des Ground Truth AWS Serverless Application Repository (SAR) -Rezepts erstellt wurde. 

**Testen der Lambda-Funktion zur Nachbearbeitung des Ground-Truth-SAR-Rezepts**

1. Öffnen Sie die Seite [https://console.aws.amazon.com/lambda/home#/functions](https://console.aws.amazon.com/lambda/home#/functions) in der Lambda-Konsole.

1. Wählen Sie die Funktion zur Nachbearbeitung, die aus dem Ground-Truth-SAR-Rezept bereitgestellt wurde. Der Name dieser Funktion ist `serverlessrepo-aws-sagema-GtRecipeAnnotationConsol-<id>` ähnlich.

1. Wählen Sie im Abschnitt **Codequelle** den Pfeil neben **Test** aus.

1. Wählen Sie **Testereignis konfigurieren**.

1. Lassen Sie die Option **Neues Testereignis erstellen** ausgewählt.

1. Wählen Sie unter **Eventvorlage** die Option **SageMakerGround Truth** aus AnnotationConsolidation.

1. Geben Sie Ihrem Test einen **Ereignisnamen.**

1. Ändern Sie den bereitgestellten Vorlagencode folgendermaßen:
   + Ersetzen Sie den Amazon-Ressourcennamen (ARN) durch den ARN der SageMaker KI-Ausführungsrolle, `roleArn` mit der Sie den Labeling-Job erstellt haben.
   + Ersetzen Sie den S3-URI in `s3Uri` durch den URI der Datei `sample-annotations.json`, die Sie Amazon S3 hinzugefügt haben.

   Nachdem Sie diese Änderungen vorgenommen haben, sollte Ihr Test wie folgt aussehen:

   ```
   {
     "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. Wählen Sie **Erstellen** aus.

1. Klicken Sie erneut auf den Pfeil neben **Test**. Sie sollten nun sehen, dass der von Ihnen erstellte Test ausgewählt ist, was durch einen Punkt neben dem Namen des Ereignisses gekennzeichnet ist. Wenn er nicht ausgewählt ist, wählen Sie ihn aus. 

1. Wählen Sie den **Test** aus, um den Test auszuführen. 

Nachdem Sie den Test ausgeführt haben, sollten Sie einen Abschnitt `-- Consolidated Output --` in den **Funktionsprotokollen** sehen, der eine Liste aller enthaltenen `sample-annotations.json`-Anmerkungen enthält.