Servizio query (Data Distiller) ed esporta set di dati

Questo articolo illustra come la combinazione di Experience Platform Query Service (Data Distiller) ed esportazione di set di dati può essere utilizzata per implementare i seguenti casi d'uso per l'esportazione di dati:

  • Convalida dei dati
  • Data Lake, Data Warehouse di strumenti BI
  • Preparazione per l’apprendimento intelligente e automatico artificiale.

Adobe Analytics può implementare questi casi d'uso utilizzando la funzionalità Feed dati. I feed di dati offrono un modo potente per estrarre dati non elaborati da Adobe Analytics. Questo articolo descrive come ottenere da Experience Platform un tipo simile di dati non elaborati, in modo da poter implementare i casi d’uso sopra menzionati. Se applicabile, le funzionalità descritte in questo articolo vengono confrontate con i feed di dati di Adobe Analytics per chiarire le differenze nei dati e nei processi.

Introduzione

L’esportazione dei dati tramite Query Service (Data Distiller) e l’esportazione di set di dati consiste in:

  • definizione di una query pianificata che genera i dati per il feed dati come set di dati di output set di dati di output , utilizzando Query Service.
  • definizione di un'esportazione pianificata del set di dati che esporta il set di dati di output in una destinazione di archiviazione cloud, utilizzando esportazione del set di dati.

Feed dati

Prerequisiti

Prima di utilizzare la funzionalità descritta in questo caso d’uso, assicurati di soddisfare tutti i seguenti requisiti:

  • Un’implementazione funzionante che raccoglie dati nel data lake di Experience Platform.
  • Accedere al componente aggiuntivo Data Distiller per assicurarsi di avere i diritti per eseguire query batch. Per ulteriori informazioni, vedere Pacchetto servizio query.
  • Accesso alla funzionalità Esporta set di dati, disponibile quando hai acquistato il pacchetto Real-Time CDP Prime o Ultimate, Adobe Journey Optimizer o Customer Journey Analytics. Per ulteriori informazioni, consulta Esportare i set di dati nelle destinazioni dell'archiviazione cloud.
  • Una o più destinazioni configurate (ad esempio: Amazon S3, Google Cloud Storage) in cui esportare i dati non elaborati del feed di dati.

Servizio query

Experience Platform Query Service consente di eseguire query e unire qualsiasi set di dati nel data lake di Experience Platform come se si trattasse di una tabella di database. Puoi quindi acquisire i risultati come nuovo set di dati da utilizzare ulteriormente nel reporting o per l’esportazione.

È possibile utilizzare l'interfaccia utente di Query Service 🔗1}, un client connesso tramite il protocollo PostgresQL o API RESTful per creare e pianificare query che raccolgono i dati per il feed di dati.

Crea query

È possibile utilizzare tutte le funzionalità di SQL ANSI standard per le istruzioni SELECT e altri comandi limitati per creare ed eseguire query che generano i dati per il feed di dati. Per ulteriori informazioni, vedere Sintassi SQL. Oltre a questa sintassi SQL, Adobe supporta:

Colonne feed dati

I campi XDM che puoi utilizzare nella query dipendono dalla definizione dello schema su cui si basano i set di dati. Assicurati di comprendere lo schema sottostante il set di dati. Per ulteriori informazioni, consulta la Guida dell'interfaccia utente dei set di dati.

Per aiutarti a definire la mappatura tra le colonne Feed dati e i campi XDM, consulta Mappatura campi di Analytics. Per ulteriori informazioni su come gestire le risorse XDM, inclusi schemi, classi, gruppi di campi e tipi di dati, consulta anche la panoramica dell'interfaccia utente degli schemi.

Ad esempio, se desideri utilizzare nome pagina come parte del feed dati:

  • Nell'interfaccia utente di Adobe Analytics Data Feed, selezionare pagename come colonna da aggiungere alla definizione del feed dati.
  • In Query Service, includi web.webPageDetails.name dal set di dati sample_event_dataset_for_website_global_v1_1 (in base allo Schema evento di esempio per il sito Web (Schema evento esperienza globale v1.1)) nella query. Per ulteriori informazioni, vedere il gruppo di campi dello schema Dettagli Web.

Identità

Ad Experience Platform, sono disponibili varie identità. Quando crei le query, assicurati di eseguire correttamente le query sulle identità.

Spesso le identità si trovano in un gruppo di campi separato. In un'implementazione ECID (ecid) può essere definito come parte di un gruppo di campi con un oggetto core, che a sua volta fa parte di un oggetto identification (ad esempio: _sampleorg.identification.core.ecid). Gli ECID potrebbero essere organizzati in modo diverso negli schemi.

In alternativa, è possibile utilizzare identityMap per eseguire query sulle identità. identityMap è di tipo Map e utilizza una struttura di dati nidificata.

Consulta Definire i campi di identità nell'interfaccia utente per ulteriori informazioni su come definire i campi di identità in Experience Platform.

Per informazioni su come le identità Adobe Analytics vengono mappate alle identità Experience Platform quando si utilizza il connettore di origine Analytics, consulta Identificatori primari nei dati di Analytics. Questa mappatura può essere utile per configurare le identità, anche quando non si utilizza il connettore di origine di Analytics.

Dati e identificazione a livello di hit

In base all’implementazione, i dati a livello di hit tradizionalmente raccolti in Adobe Analytics ora vengono memorizzati come dati evento con marca temporale in Experience Platform. La tabella seguente è stata estratta da Mappatura campi di Analytics e mostra alcuni esempi su come mappare le colonne Feed dati di Adobe Analytics specifiche per il livello di hit con i campi XDM corrispondenti nelle query. La tabella mostra anche esempi di identificazione di hit, visite e visitatori tramite i campi XDM.

Colonna feed dati
Campo XDM
Tipo
Descrizione
hitid_high + hitid_low
_id
string
Un identificatore univoco per identificare un hit.
hitid_low
_id
string
Utilizzato con hitid_high per identificare un hit in modo univoco.
hitid_high
_id
string
Utilizzato con hitid_high per identificare un hit in modo univoco.
hit_time_gmt
receivedTimestamp
string
La marca temporale dell’hit, in base all’ora UNIX®.
cust_hit_time_gmt
timestamp
string
Questa marca temporale viene utilizzata solo nei set di dati abilitati per la marca temporale. Questa marca temporale viene inviata con l’hit, in base all’ora UNIX®.
visid_high + visid_low
identityMap
oggetto
Un identificatore univoco per una visita.
visid_high + visid_low
endUserIDs._experience.aaid.id
string
Un identificatore univoco per una visita.
visid_high
endUserIDs._experience.aaid.primary
booleano
Utilizzato con visid_low per identificare una visita in modo univoco.
visid_high
endUserIDs._experience.aaid.namespace.code
string
Utilizzato con visid_low per identificare una visita in modo univoco.
visid_low
identityMap
oggetto
Utilizzato con visid_high per identificare una visita in modo univoco.
cust_visid
identityMap
oggetto
L’ID visitatore del cliente.
cust_visid
endUserIDs._experience.aacustomid.id
oggetto
L’ID visitatore del cliente.
cust_visid
endUserIDs._experience.aacustomid.primary
booleano
Il codice spazio dei nomi ID visitatore del cliente.
cust_visid
endUserIDs._experience.aacustomid.namespace.code
string
Utilizzato con visid_low per identificare in modo univoco l'ID visitatore del cliente.
geo\_*
placeContext.geo.*
stringa, numero
Dati di geolocalizzazione, come paese, regione, città e altri
event_list
commerce.purchases, commerce.productViews, commerce.productListOpens, commerce.checkouts, commerce.productListAdds, commerce.productListRemovals, commerce.productListViews, _experience.analytics.event101to200.*, …, _experience.analytics.event901_1000.*
string
Eventi di e-commerce standard e personalizzati attivati sull’hit.
page_event
web.webInteraction.type
string
Tipo di hit inviato nella richiesta di immagine (hit standard, collegamento di download, collegamento di uscita o collegamento personalizzato su cui è stato fatto clic).
page_event
web.webInteraction.linkClicks.value
number
Tipo di hit inviato nella richiesta di immagine (hit standard, collegamento di download, collegamento di uscita o collegamento personalizzato su cui è stato fatto clic).
page_event_var_1
web.webInteraction.URL
string
Variabile utilizzata solo nelle richieste di immagini per il tracciamento dei collegamenti. Questa variabile contiene l’URL del collegamento di download, del collegamento di uscita o del collegamento personalizzato su cui è stato fatto clic.
page_event_var_2
web.webInteraction.name
string
Variabile utilizzata solo nelle richieste di immagini per il tracciamento dei collegamenti. Elenca il nome personalizzato del collegamento, se specificato.
paid_search
search.isPaid
booleano
Flag impostato se l’hit corrisponde al rilevamento di ricerche a pagamento.
ref_type
web.webReferrertype
string
Un ID numerico che rappresenta il tipo di riferimento per l’hit.

Pubblica colonne

I feed di dati di Adobe Analytics utilizzano il concetto di colonne con prefisso post_, che sono colonne contenenti dati dopo l’elaborazione. Per ulteriori informazioni, consulta Domande frequenti sui feed di dati.

I dati raccolti nei set di dati tramite l'Edge Network di Experience Platform (SDK Web, SDK Mobile, API server) non hanno alcun concetto di campi post_. Di conseguenza, post_ colonne di feed dati con prefisso e non-post_ colonne di feed dati con prefisso vengono mappate sugli stessi campi XDM. Ad esempio, entrambe le colonne di feed dati page_url e post_page_url sono mappate sullo stesso campo XDM web.webPageDetails.URL.

Vedi Confrontare l'elaborazione dei dati in Adobe Analytics e Customer Journey Analytics per una panoramica della differenza nell'elaborazione dei dati.

Il tipo di dati della colonna con prefisso post_, se raccolto nel data lake Experience Platform, richiede tuttavia trasformazioni avanzate prima di poter essere utilizzato correttamente in un caso di utilizzo di feed di dati. L'esecuzione di queste trasformazioni avanzate nelle query comporta l'utilizzo di funzioni definite da Adobe per la sessionizzazione, l'attribuzione e la deduplicazione. Vedi Esempi su come utilizzare queste funzioni.

Ricerche

Per cercare dati da altri set di dati, utilizzare la funzionalità SQL standard (WHERE clausola, INNER JOIN, OUTER JOIN e altri).

Calcoli

Per eseguire calcoli sui campi (colonne), utilizzare le funzioni SQL standard (ad esempio COUNT(*)) o la parte funzioni e operatori matematici e statistici di Spark SQL. Inoltre, funzioni finestra forniscono supporto per aggiornare le aggregazioni e restituire singoli elementi per ogni riga in un sottoinsieme ordinato. Vedi Esempi su come utilizzare queste funzioni.

Struttura dati nidificata

Gli schemi su cui si basano i set di dati spesso contengono tipi di dati complessi, tra cui strutture di dati nidificate. identityMap è un esempio di struttura di dati nidificata. Vedere di seguito un esempio di dati identityMap.

{
   "identityMap":{
      "FPID":[
         {
            "id":"55613368189701342632255821452918751312",
            "authenticatedState":"ambiguous"
         }
      ],
      "CRM":[
         {
            "id":"2394509340-30453470347",
            "authenticatedState":"authenticated"
         }
      ]
   }
}

È possibile utilizzare explode() o altre funzioni di array da Spark SQL per accedere ai dati all'interno di una struttura di dati nidificata, ad esempio:

select explode(identityMap) from demosys_cja_ee_v1_website_global_v1_1 limit 15;

In alternativa, puoi fare riferimento a singoli elementi utilizzando la notazione del punto. Ad esempio:

select identityMap.ecid from demosys_cja_ee_v1_website_global_v1_1 limit 15;

Per ulteriori informazioni, vedere Utilizzo delle strutture di dati nidificate in Query Service.

Esempi

Per le query:

  • che utilizzano dati provenienti da set di dati nel data lake Experience Platform,
  • sfruttano le funzionalità aggiuntive di Adobe Defined Functions e/o Spark SQL, e
  • che fornirebbe risultati simili a quelli di un feed di dati Adobe Analytics equivalente,

vedi:

Di seguito è riportato un esempio per applicare correttamente l’attribuzione tra le sessioni e che illustra come

  • utilizzare gli ultimi 90 giorni come lookback,
  • applicare funzioni di finestra come sessionizzazione e/o attribuzione e
  • limitare l'output in base a ingest_time.

+++
Dettagli

Per fare questo, devi…

  • Utilizzare una tabella di stato di elaborazione, checkpoint_log, per tenere traccia dell'ora corrente rispetto all'ultima acquisizione. Per ulteriori informazioni, consulta questa guida.
  • disabilita l'eliminazione delle colonne di sistema, in modo da poter utilizzare _acp_system_metadata.ingestTime.
  • Utilizza un valore più interno di SELECT per acquisire i campi che desideri utilizzare e limitare gli eventi al periodo di lookback per i calcoli di sessionizzazione e/o attribuzione. Ad esempio, 90 giorni.
  • Utilizzare un livello successivo SELECT per applicare la sessionizzazione e/o le funzioni della finestra di attribuzione e altri calcoli.
  • Utilizza INSERT INTO nella tabella di output per limitare il lookback solo agli eventi arrivati dall'ultima elaborazione. Per eseguire questa operazione, filtrare su _acp_system_metadata.ingestTime rispetto all'ultima volta memorizzata nella tabella dello stato di elaborazione.

Esempio di funzioni della finestra di sessionizzazione

$$ BEGIN
   -- Disable dropping system columns
   set drop_system_columns=false;

   -- Initialize variables
   SET @last_updated_timestamp = SELECT CURRENT_TIMESTAMP;

   -- Get the last processed batch ingestion time
   SET @from_batch_ingestion_time = SELECT coalesce(last_batch_ingestion_time, 'HEAD')
      FROM checkpoint_log a
      JOIN (
            SELECT MAX(process_timestamp) AS process_timestamp
            FROM checkpoint_log
            WHERE process_name = 'data_feed'
            AND process_status = 'SUCCESSFUL'
      ) b
      ON a.process_timestamp = b.process_timestamp;

   -- Get the last batch ingestion time
   SET @to_batch_ingestion_time = SELECT MAX(_acp_system_metadata.ingestTime)
      FROM events_dataset;

   -- Sessionize the data and insert into data_feed.
   INSERT INTO data_feed
   SELECT *
   FROM (
      SELECT
            userIdentity,
            timestamp,
            SESS_TIMEOUT(timestamp, 60 * 30) OVER (
               PARTITION BY userIdentity
               ORDER BY timestamp
               ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
            ) AS session_data,
            page_name,
            ingest_time
      FROM (
            SELECT
               userIdentity,
               timestamp,
               web.webPageDetails.name AS page_name,
               _acp_system_metadata.ingestTime AS ingest_time
            FROM events_dataset
            WHERE timestamp >= current_date - 90
      ) AS a
      ORDER BY userIdentity, timestamp ASC
   ) AS b
   WHERE b.ingest_time >= @from_batch_ingestion_time;

   -- Update the checkpoint_log table
   INSERT INTO checkpoint_log
   SELECT
      'data_feed' process_name,
      'SUCCESSFUL' process_status,
      cast(@to_batch_ingestion_time AS string) last_batch_ingestion_time,
      cast(@last_updated_timestamp AS TIMESTAMP) process_timestamp
END
$$;

Esempio di funzioni della finestra di attribuzione

$$ BEGIN
 SET drop_system_columns=false;

-- Initialize variables
 SET @last_updated_timestamp = SELECT CURRENT_TIMESTAMP;

-- Get the last processed batch ingestion time 1718755872325
 SET @from_batch_ingestion_time =
     SELECT coalesce(last_snapshot_id, 'HEAD')
     FROM checkpoint_log a
     JOIN (
         SELECT MAX(process_timestamp) AS process_timestamp
         FROM checkpoint_log
         WHERE process_name = 'data_feed'
         AND process_status = 'SUCCESSFUL'
     ) b
     ON a.process_timestamp = b.process_timestamp;

 -- Get the last batch ingestion time 1718758687865
 SET @to_batch_ingestion_time =
     SELECT MAX(_acp_system_metadata.ingestTime)
     FROM demo_data_trey_mcintyre_midvalues;

 -- Sessionize the data and insert into new_sessionized_data
 INSERT INTO new_sessionized_data
 SELECT *
 FROM (
     SELECT
         _id,
         timestamp,
         struct(User_Identity,
         cast(SESS_TIMEOUT(timestamp, 60 * 30) OVER (
             PARTITION BY User_Identity
             ORDER BY timestamp
             ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
         ) as string) AS SessionData,
         to_timestamp(from_unixtime(ingest_time/1000, 'yyyy-MM-dd HH:mm:ss')) AS IngestTime,
         PageName,
         first_url,
         first_channel_type
           ) as _demosystem5
     FROM (
         SELECT
             _id,
             ENDUSERIDS._EXPERIENCE.MCID.ID as User_Identity,
             timestamp,
             web.webPageDetails.name AS PageName,
            attribution_first_touch(timestamp, '', web.webReferrer.url) OVER (PARTITION BY ENDUSERIDS._EXPERIENCE.MCID.ID ORDER BY timestamp ASC ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING).value AS first_url,
            attribution_first_touch(timestamp, '',channel.typeAtSource) OVER (PARTITION BY ENDUSERIDS._EXPERIENCE.MCID.ID ORDER BY timestamp ASC ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING).value AS first_channel_type,
             _acp_system_metadata.ingestTime AS ingest_time
         FROM demo_data_trey_mcintyre_midvalues
         WHERE timestamp >= current_date - 90
     )
     ORDER BY User_Identity, timestamp ASC
 )
 WHERE _demosystem5.IngestTime >= to_timestamp(from_unixtime(@from_batch_ingestion_time/1000, 'yyyy-MM-dd HH:mm:ss'));

-- Update the checkpoint_log table
INSERT INTO checkpoint_log
SELECT
   'data_feed' as process_name,
   'SUCCESSFUL' as process_status,
   cast(@to_batch_ingestion_time AS string) as last_snapshot_id,
   cast(@last_updated_timestamp AS timestamp) as process_timestamp;

END
$$;

+++

Pianifica query

Pianifica la query per assicurarti che venga eseguita e che i risultati vengano generati nell’intervallo desiderato.

Utilizzo dell’editor delle query

È possibile pianificare una query utilizzando l'Editor query. Quando pianifichi la query, definisci un set di dati di output. Per ulteriori informazioni, vedere Pianificazioni query.

Utilizzo dell’API Query Service

In alternativa, puoi utilizzare le API RESTful per definire una query e pianificarla. Per ulteriori informazioni, consulta la Guida API di Query Service.
Accertati di definire il set di dati di output come parte della proprietà facoltativa ctasParameters durante la creazione della query (Crea una query) o durante la creazione della pianificazione di una query (Crea una query pianificata).

Esportare i set di dati

Dopo aver creato e pianificato la query e verificato i risultati, puoi esportare i set di dati non elaborati nelle destinazioni dell’archiviazione cloud. Questa esportazione si trova nella terminologia di Experience Platform Destinations, o destinazioni di esportazione del set di dati. Per una panoramica, consulta Esportare i set di dati nelle destinazioni dell'archiviazione cloud.

Sono supportate le seguenti destinazioni di archiviazione cloud:

Interfaccia utente Experience Platform

Puoi esportare e pianificare l’esportazione dei set di dati di output tramite l’interfaccia utente di Experience Platform. Questa sezione descrive i passaggi necessari.

Seleziona destinazione

Dopo aver determinato la destinazione dell'archiviazione cloud in cui esportare il set di dati di output, selezionare la destinazione. Se non hai ancora configurato una destinazione per l'archiviazione cloud preferita, devi creare una nuova connessione di destinazione.

Come parte della configurazione di una destinazione, puoi

  • definire il tipo di file (JSON o Parquet),
  • se il file risultante deve essere compresso o meno e
  • se un file manifesto deve essere incluso o meno.

Seleziona set di dati

Dopo aver selezionato la destinazione, nel passaggio successivo di Select datasets devi selezionare il set di dati di output dall'elenco dei set di dati. Se hai creato più query pianificate e desideri che i set di dati di output vengano inviati alla stessa destinazione di archiviazione cloud, puoi selezionare i set di dati di output corrispondenti. Per ulteriori informazioni, consulta Selezionare i set di dati.

Pianificare l’esportazione di set di dati

Infine, pianificare l'esportazione del set di dati come parte del passaggio Scheduling. In questo passaggio puoi definire la pianificazione e se l’esportazione del set di dati di output deve essere incrementale o meno. Per ulteriori informazioni, consulta Pianificazione esportazione set di dati.

Passaggi finali

Rivedi la selezione e, se corretto, inizia a esportare il set di dati di output nella destinazione dell'archiviazione cloud.

È necessario verificare un'esportazione dei dati completata. Durante l'esportazione dei set di dati, Experience Platform crea uno o più file .json o .parquet nel percorso di archiviazione definito nella destinazione. I nuovi file verranno archiviati nel percorso di archiviazione in base alla pianificazione di esportazione configurata. In Experience Platform viene creata una struttura di cartelle nel percorso di archiviazione specificato come parte della destinazione selezionata, in cui vengono depositati i file esportati. Viene creata una nuova cartella per ogni esportazione, seguendo il modello: folder-name-you-provided/datasetID/exportTime=YYYYMMDDHHMM. Il nome di file predefinito viene generato in modo casuale e garantisce che i nomi di file esportati siano univoci.

API del servizio Flusso

In alternativa, puoi esportare e pianificare l’esportazione dei set di dati di output utilizzando le API. I passaggi necessari sono documentati in Esporta i set di dati utilizzando l'API del servizio Flusso.

Introduzione

Per esportare i set di dati, assicurati di disporre delle autorizzazioni richieste. Verifica inoltre che la destinazione in cui desideri inviare il set di dati di output supporti l’esportazione dei set di dati. È quindi necessario raccogliere i valori per le intestazioni obbligatorie e facoltative utilizzate nelle chiamate API. È inoltre necessario identificare la specifica di connessione e gli ID delle specifiche di flusso della destinazione in cui si desidera esportare i set di dati.

Recuperare i set di dati idonei

È possibile recuperare un elenco di set di dati idonei per l'esportazione e verificare se il set di dati di output fa parte di tale elenco utilizzando l'API GET /connectionSpecs/{id}/configs.

Crea connessione sorgente

Successivamente è necessario creare una connessione di origine per il set di dati di output, utilizzando il relativo ID univoco, che si desidera esportare nella destinazione dell'archiviazione cloud. Utilizza l'API POST /sourceConnections.

Autentica nella destinazione (crea connessione di base)

È ora necessario creare una connessione di base per autenticare e archiviare in modo sicuro le credenziali nella destinazione di archiviazione cloud utilizzando l'API POST /targetConection.

Fornire parametri di esportazione

Successivamente, è necessario creare una connessione di destinazione aggiuntiva che memorizzi i parametri di esportazione per il set di dati di output utilizzando, ancora una volta, l'API POST /targetConection. Questi parametri di esportazione includono posizione, formato file, compressione e altro ancora.

Imposta flusso di dati

Infine, imposta il flusso di dati per garantire che il set di dati di output venga esportato nella destinazione di archiviazione cloud utilizzando l'API POST /flows. In questo passaggio è possibile definire la pianificazione per l'esportazione utilizzando il parametro scheduleParams.

Convalida flusso di dati

Per verificare le esecuzioni riuscite del flusso di dati, utilizza l'API GET /runs, specificando l'ID del flusso di dati come parametro di query. Questo ID del flusso di dati è un identificatore restituito quando imposti il flusso di dati.

Verifica un'esportazione dei dati completata. Durante l'esportazione dei set di dati, Experience Platform crea uno o più file .json o .parquet nel percorso di archiviazione definito nella destinazione. I nuovi file verranno archiviati nel percorso di archiviazione in base alla pianificazione di esportazione configurata. In Experience Platform viene creata una struttura di cartelle nel percorso di archiviazione specificato come parte della destinazione selezionata, in cui vengono depositati i file esportati. Viene creata una nuova cartella per ogni esportazione, seguendo il modello: folder-name-you-provided/datasetID/exportTime=YYYYMMDDHHMM. Il nome di file predefinito viene generato in modo casuale e garantisce che i nomi di file esportati siano univoci.

Conclusione

In breve, l’emulazione della funzionalità Feed dati di Adobe Analytics implica la configurazione di query pianificate tramite Query Service e l’utilizzo dei risultati di tali query nelle esportazioni di set di dati pianificate.

IMPORTANT
In questo caso d’uso sono coinvolti due scheduler. Per garantire il corretto funzionamento della funzionalità dei feed dati emulati, assicurati che le pianificazioni configurate in Query Service e le esportazioni di dati non interferiscano.
recommendation-more-help
080e5213-7aa2-40d6-9dba-18945e892f79