

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

# Filtraggio dei consigli sui batch e dei segmenti di utenti (risorse personalizzate)
<a name="filter-batch"></a>

Il filtraggio dei consigli in batch e dei segmenti di utenti funziona quasi come filtrare i consigli in tempo reale. Segue lo stesso flusso di lavoro descritto in o. [Ottenere consigli sugli articoli in batch](getting-batch-recommendations.md) [Ottenere segmenti di utenti in batch](getting-user-segments.md) Per filtrare i consigli in batch o i segmenti di utenti, procedi come segue: 

1.  Crea un filtro proprio come faresti per i consigli in tempo reale. Per ulteriori informazioni, consulta [Filtraggio dei consigli in tempo reale](filter-real-time.md). 

1. Prepara i dati di input e caricali su Amazon S3 come descritto in [Preparazione dei dati di input per i consigli sui batch](batch-data-upload.md) o. [Preparazione dei dati di input per i segmenti di utenti](prepare-input-data-user-segment.md) Se il filtro utilizza parametri segnaposto, è necessario aggiungere un oggetto aggiuntivo. `filterValues` Per ulteriori informazioni, consulta [Fornire valori di filtro nel codice JSON di input](#providing-filter-values). Se il filtro non utilizza parametri segnaposto, i dati di input possono seguire gli esempi in [Esempi JSON di input e output di job di inferenza in batch](batch-data-upload.md#batch-inference-job-json-examples) [Esempi JSON di input e output di processi di segmentazione in batch](prepare-input-data-user-segment.md#batch-segment-job-json-examples) 

1.  Crea una posizione separata per i dati di output, una cartella o un altro bucket Amazon S3. 

1.  Crea un [processo di inferenza in batch o un processo di segmentazione](creating-batch-inference-job.md) [in batch](creating-batch-seg-job.md). Quando crei il lavoro, specifica l'Amazon Resource Name (ARN) del filtro.

1.  Quando il processo di inferenza in batch o di segmento in batch è completo, recupera i consigli o i segmenti di utenti dalla tua posizione di output in Amazon S3. 

**Topics**
+ [Fornire valori di filtro nel codice JSON di input](#providing-filter-values)
+ [Filtraggio dei flussi di lavoro in batch (console)](#filter-batch-recommendations-console)
+ [Filtraggio dei flussi di lavoro in batch ()AWS SDKs](#filter-batch-recommendations-sdk)

## Fornire valori di filtro nel codice JSON di input
<a name="providing-filter-values"></a>

Per i filtri con parametri segnaposto, ad esempio`$GENRE`, è necessario fornire i valori per i parametri di un `filterValues` oggetto nel codice JSON di input. Per un `filterValues` oggetto, ogni chiave è un nome di parametro. Ogni valore è il criterio che state passando come parametro. Racchiude ogni valore tra virgolette sfuggite:. `"filterValues":{"GENRES":"\"drama\""}` Per valori multipli, separa ogni valore con una virgola: `"filterValues":{"GENRES":"\"horror\",\"comedy\",\"drama\""}` 

**Esempio JSON di input del processo di inferenza in batch**

Di seguito è riportato un esempio delle prime righe di un file di input JSON per un *processo di inferenza in batch*. L'esempio include l'oggetto. `filterValues` La `GENRES` chiave corrisponde a un `$GENRES` segnaposto nell'espressione del filtro. Il job in questo esempio utilizza la ricetta User-Personalization. Per le ricette RELATED\$1ITEMS, fornisci un ItemID anziché UserID. Per le ricette PERSONALIZED\$1RANKING, fornisci l'ID utente e un ItemList. 

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

Per ulteriori esempi di dati di input del processo di inferenza in batch per ricetta, vedere. [Esempi JSON di input e output di job di inferenza in batch](batch-data-upload.md#batch-inference-job-json-examples) È possibile utilizzare questi esempi come punto di partenza e aggiungere l'`filterValues`oggetto dell'esempio precedente.

**Esempio JSON di input di job segmentati in batch**

Di seguito è riportato un esempio delle prime righe di un file di input JSON con valori di filtro per un *processo di segmentazione in batch*. La `GENRES` chiave corrisponde a un `$GENRES` segnaposto nell'espressione del filtro.

```
{"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\""}}
```

Per ulteriori esempi di dati di input del processo di inferenza in batch per ricetta, vedere. [Esempi JSON di input e output di processi di segmentazione in batch](prepare-input-data-user-segment.md#batch-segment-job-json-examples) È possibile utilizzare questi esempi come punto di partenza e aggiungere l'`filterValues`oggetto dell'esempio precedente.

## Filtraggio dei flussi di lavoro in batch (console)
<a name="filter-batch-recommendations-console"></a>

Per filtrare i flussi di lavoro in batch con la console Amazon Personalize, devi creare un filtro, quindi creare un processo di inferenza in batch o un processo di segmento in batch e scegliere il filtro. Per istruzioni dettagliate complete, consulta e. [Creazione di un processo di inferenza in batch (console)](creating-batch-inference-job.md#batch-console) [Creazione di un processo di segmentazione in batch (console)](creating-batch-seg-job.md#batch-segment-console) 

## Filtraggio dei flussi di lavoro in batch ()AWS SDKs
<a name="filter-batch-recommendations-sdk"></a>

Per filtrare i consigli sui batch con AWS SDKs, crea un filtro e includi il `FilterArn` parametro nella richiesta [CreateBatchInferenceJob](API_CreateBatchInferenceJob.md) or[CreateBatchSegmentJob](API_CreateBatchSegmentJob.md).

 Il codice seguente mostra come creare un processo di inferenza in batch con un filtro utilizzando il AWS SDK per Python (Boto3). Ti consigliamo di utilizzare una posizione diversa per i dati di output (una cartella o un altro bucket Amazon S3). Per una spiegazione completa di tutti i campi, consulta. [Creazione di un processo di inferenza in batch ()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"}}
)
```