Filtrare i dati di origine

Di seguito sono descritti i passaggi da eseguire per filtrare i dati a livello di riga per l’origine.

Recuperare le specifiche di connessione

Il primo passaggio per filtrare i dati a livello di riga per l'origine consiste nel recuperare le specifiche di connessione dell'origine e determinare gli operatori e la lingua supportati dall'origine.

Per recuperare la specifica di connessione di un'origine specifica, eseguire una richiesta GET all'endpoint /connectionSpecs dell'API Flow Service e fornire il nome della proprietà dell'origine come parte dei parametri di query.

Formato API

GET /connectionSpecs/{QUERY_PARAMS}
ParametroDescrizione
{QUERY_PARAMS}Parametri di query facoltativi in base ai quali filtrare i risultati. È possibile recuperare la specifica di connessione Google BigQuery applicando la proprietà name e specificando "google-big-query" nella ricerca.
Richiesta

La richiesta seguente recupera le specifiche di connessione per Google BigQuery.

curl -X GET \
  'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs?property=name=="google-big-query"' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'
Risposta

In caso di esito positivo, la risposta restituisce il codice di stato 200 e le specifiche di connessione per Google BigQuery, incluse informazioni sul linguaggio di query e sugli operatori logici supportati.

"attributes": {
  "filterAtSource": {
    "enabled": true,
    "queryLanguage": "SQL",
    "logicalOperators": [
      "and",
      "or",
      "not"
    ],
    "comparisonOperators": [
      "=",
      "!=",
      "<",
      "<=",
      ">",
      ">=",
      "like",
      "in"
    ],
    "columnNameEscapeChar": "`",
    "valueEscapeChar": "'"
  }
ProprietàDescrizione
attributes.filterAtSource.enabledDetermina se l'origine della query supporta il filtro per i dati a livello di riga.
attributes.filterAtSource.queryLanguageDetermina il linguaggio di query supportato dall'origine della query.
attributes.filterAtSource.logicalOperatorsDetermina gli operatori logici che è possibile utilizzare per filtrare i dati a livello di riga per l'origine.
attributes.filterAtSource.comparisonOperatorsDetermina gli operatori di confronto utilizzabili per filtrare i dati a livello di riga per l'origine. Per ulteriori informazioni sugli operatori di confronto, consulta la tabella seguente.
attributes.filterAtSource.columnNameEscapeCharDetermina il carattere da utilizzare per l'escape delle colonne.
attributes.filterAtSource.valueEscapeCharDetermina il modo in cui i valori verranno racchiusi durante la scrittura di una query SQL.

Operatori di confronto

OperatoreDescrizione
==Filtra in base al fatto che la proprietà sia uguale al valore specificato.
!=Filtra in base al fatto che la proprietà non sia uguale al valore specificato.
<Filtra in base al fatto che la proprietà sia minore del valore specificato.
>Filtra in base al fatto che la proprietà sia maggiore del valore specificato.
<=Filtra in base al fatto che la proprietà sia minore o uguale al valore specificato.
>=Filtra in base al fatto che la proprietà sia maggiore o uguale al valore specificato.
likeI filtri vengono utilizzati in una clausola WHERE per cercare un modello specificato.
inFiltra in base all’intervallo specificato per la proprietà.

Specificare le condizioni di filtro per l’acquisizione

Dopo aver identificato gli operatori logici e il linguaggio di query supportati dall'origine, è possibile utilizzare Profile Query Language (PQL) per specificare le condizioni di filtro da applicare ai dati di origine.

Nell’esempio seguente, le condizioni vengono applicate solo ai dati selezionati che corrispondono ai valori forniti per i tipi di nodo elencati come parametri.

{
  "type": "PQL",
  "format": "pql/json",
  "value": {
    "nodeType": "fnApply",
    "fnName": "=",
    "params": [
      {
        "nodeType": "fieldLookup",
        "fieldName": "city"
      },
      {
        "nodeType": "literal",
        "value": "DDN"
      }
    ]
  }
}