

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.

# Filtern von Batch-Empfehlungen und Benutzersegmenten (benutzerdefinierte Ressourcen)
<a name="filter-batch"></a>

Das Filtern von Batch-Empfehlungen und Benutzersegmenten funktioniert fast genauso wie das Filtern von Empfehlungen in Echtzeit. Es folgt dem gleichen Arbeitsablauf, der unter [Empfehlungen für Batch-Artikel abrufen](getting-batch-recommendations.md) oder beschrieben ist[Benutzersegmente im Batch-Modus abrufen](getting-user-segments.md). Gehen Sie wie folgt vor, um Batch-Empfehlungen oder Benutzersegmente zu filtern: 

1.  Erstellen Sie einen Filter, genau wie Sie es für Empfehlungen in Echtzeit tun würden. Weitere Informationen finden Sie unter [Empfehlungen in Echtzeit filtern](filter-real-time.md). 

1. Bereiten Sie Ihre Eingabedaten vor und laden Sie sie wie unter [Vorbereiten der Eingabedaten für Batch-Empfehlungen](batch-data-upload.md) oder beschrieben auf Amazon S3 hoch[Vorbereiten der Eingabedaten für Benutzersegmente](prepare-input-data-user-segment.md). Wenn Ihr Filter Platzhalterparameter verwendet, müssen Sie ein zusätzliches `filterValues` Objekt hinzufügen. Weitere Informationen finden Sie unter [Bereitstellung von Filterwerten in Ihrem Eingabe-JSON](#providing-filter-values). Wenn Ihr Filter keine Platzhalterparameter verwendet, können Ihre Eingabedaten den Beispielen unter folgen [JSON-Beispiele für die Eingabe und Ausgabe von Batch-Inferenzjobs](batch-data-upload.md#batch-inference-job-json-examples) [JSON-Beispiele für die Eingabe und Ausgabe von Batchsegmentjobs](prepare-input-data-user-segment.md#batch-segment-job-json-examples) 

1.  Erstellen Sie einen separaten Speicherort für Ihre Ausgabedaten, entweder einen Ordner oder einen anderen Amazon S3 S3-Bucket. 

1.  Erstellen Sie einen [Batch-Inferenzjob](creating-batch-inference-job.md) oder einen [Batch-Segment-Job](creating-batch-seg-job.md). Wenn Sie den Job erstellen, geben Sie den Amazon-Ressourcennamen (ARN) Ihres Filters an.

1.  Wenn der Batch-Inferenz- oder Batch-Segment-Job abgeschlossen ist, rufen Sie die Empfehlungen oder Benutzersegmente von Ihrem Ausgabespeicherort in Amazon S3 ab. 

**Topics**
+ [Bereitstellung von Filterwerten in Ihrem Eingabe-JSON](#providing-filter-values)
+ [Batch-Workflows filtern (Konsole)](#filter-batch-recommendations-console)
+ [Batch-Workflows filtern (AWS SDKs)](#filter-batch-recommendations-sdk)

## Bereitstellung von Filterwerten in Ihrem Eingabe-JSON
<a name="providing-filter-values"></a>

Für Filter mit Platzhalterparametern`$GENRE`, z. B. müssen Sie die Werte für die Parameter in einem `filterValues` Objekt in Ihrem Eingabe-JSON angeben. Bei einem `filterValues` Objekt ist jeder Schlüssel ein Parametername. Jeder Wert ist das Kriterium, das Sie als Parameter übergeben. Umgeben Sie jeden Wert mit maskierten Anführungszeichen:`"filterValues":{"GENRES":"\"drama\""}`. Trennen Sie bei mehreren Werten jeden Wert durch ein Komma: `"filterValues":{"GENRES":"\"horror\",\"comedy\",\"drama\""}` 

**JSON-Beispiel für die Eingabe eines Batch-Inferenz-Jobs**

Im Folgenden finden Sie ein Beispiel für die ersten Zeilen einer JSON-Eingabedatei für einen *Batch-Inferenzjob.* Das Beispiel beinhaltet das `filterValues` Objekt. Der `GENRES` Schlüssel entspricht einem `$GENRES` Platzhalter im Filterausdruck. Der Job in diesem Beispiel verwendet das Rezept für Benutzerpersonalisierung. Geben Sie für RELATED\$1ITEMS-Rezepte eine ItemId anstelle der UserID an. Geben Sie für PERSONALIZED\$1RANKING-Rezepte die UserID und eine ItemList an. 

```
{"userId": "5","filterValues":{"GENRES":"\"horror\",\"comedy\",\"drama\""}}
{"userId": "3","filterValues":{"GENRES":"\"horror\",\"comedy\""}}
{"userId": "34","filterValues":{"GENRES":"\"drama\""}}
```

Weitere Beispiele für die Eingabe von Daten für Batch-Inferenz-Jobs nach Rezept finden Sie unter. [JSON-Beispiele für die Eingabe und Ausgabe von Batch-Inferenzjobs](batch-data-upload.md#batch-inference-job-json-examples) Sie können diese Beispiele als Ausgangspunkt verwenden und das `filterValues` Objekt aus dem obigen Beispiel hinzufügen.

**JSON-Beispiel für die Eingabe eines Batchsegmentjobs**

Im Folgenden finden Sie ein Beispiel für die ersten Zeilen einer JSON-Eingabedatei mit Filterwerten für einen *Batch-Segment-Job*. Der `GENRES` Schlüssel entspricht einem `$GENRES` Platzhalter im Filterausdruck.

```
{"itemAttributes": "ITEMS.genres = \"Comedy\" AND ITEMS.genres = \"Action\"","filterValues":{"COUNTRY":"\"Japan\""}}
{"itemAttributes": "ITEMS.genres = \"Horror\"","filterValues":{"COUNTRY":"\"United States\"\""}}
{"itemAttributes": "ITEMS.genres = \"Action\" AND ITEMS.genres = \"Adventure\"","filterValues":{"COUNTRY":"\"England\""}}
```

Weitere Beispiele für Eingabedaten von Batch-Inferenz-Jobs nach Rezept finden Sie unter. [JSON-Beispiele für die Eingabe und Ausgabe von Batchsegmentjobs](prepare-input-data-user-segment.md#batch-segment-job-json-examples) Sie können diese Beispiele als Ausgangspunkt verwenden und das `filterValues` Objekt aus dem obigen Beispiel hinzufügen.

## Batch-Workflows filtern (Konsole)
<a name="filter-batch-recommendations-console"></a>

Um Batch-Workflows mit der Amazon Personalize-Konsole zu filtern, erstellen Sie einen Filter und anschließend einen Batch-Inferenz-Job oder Batch-Segment-Job und wählen den Filter aus. Vollständige Anweisungen Schritt für Schritt finden Sie unter [Einen Batch-Inferenzjob erstellen (Konsole)](creating-batch-inference-job.md#batch-console) und. [Einen Batch-Segment-Job erstellen (Konsole)](creating-batch-seg-job.md#batch-segment-console) 

## Batch-Workflows filtern (AWS SDKs)
<a name="filter-batch-recommendations-sdk"></a>

Um Batch-Empfehlungen mit dem zu filtern AWS SDKs, erstellen Sie einen Filter und fügen Sie den `FilterArn` Parameter in die [CreateBatchInferenceJob](API_CreateBatchInferenceJob.md) [CreateBatchSegmentJob](API_CreateBatchSegmentJob.md) Oder-Anfrage ein.

 Der folgende Code zeigt, wie Sie mithilfe von einen Batch-Inferenzjob mit einem Filter erstellen. AWS SDK für Python (Boto3) Wir empfehlen, einen anderen Speicherort für Ihre Ausgabedaten zu verwenden (entweder einen Ordner oder einen anderen Amazon S3 S3-Bucket). Eine vollständige Erläuterung aller Felder finden Sie unter[Einen Batch-Inferenzjob erstellen ()AWS SDKs](creating-batch-inference-job.md#batch-sdk). 

```
import boto3
     
personalize = boto3.client("personalize")
 
personalize_rec.create_batch_inference_job (
    solutionVersionArn = "Solution version ARN",
    jobName = "Batch job name",
    roleArn = "IAM role ARN",
    filterArn = "Filter ARN",
    jobInput = 
        {"s3DataSource": {"path": "S3 input path"}},
    jobOutput =
        {"S3DataDestination": {"path": "S3 output path"}}
)
```