La Mixpanel la sorgente è in versione beta. Consulta la sezione panoramica di origini per ulteriori informazioni sull’utilizzo di origini con etichetta beta.
L’esercitazione seguente illustra i passaggi necessari per creare una connessione sorgente e un flusso di dati per Mixpanel dati a Adobe Experience Platform utilizzando API del servizio di flusso.
Questa guida richiede una buona comprensione dei seguenti componenti dell’Experience Platform:
Le sezioni seguenti forniscono informazioni aggiuntive che sarà necessario conoscere per connettersi correttamente a Mixpanel utilizzando Flow Service API.
Per connettersi Mixpanel in Platform, devi fornire valori per le seguenti proprietà di connessione:
Credenziali | Descrizione | Esempio |
---|---|---|
host |
La Mixpanel endpoint API per l’esportazione di dati non elaborati. Consulta la sezione Raw Data Export API nella sezione Documentazione di riferimento API per i pannelli misti per ulteriori informazioni. | https://data.mixpanel.com |
username |
Il nome utente dell'account del servizio che corrisponde al tuo Mixpanel conto. Consulta la sezione Mixpanel documentazione degli account di servizio per ulteriori informazioni. | Test8.6d4ee7.mp-service-account |
password |
La password dell'account di servizio che corrisponde alla tua Mixpanel conto. | dLlidiKHpCZtJhQDyN2RECKudMeTItX1 |
projectId |
Le Mixpanel ID progetto. Questo ID è necessario per creare una connessione sorgente. Consulta la sezione Mixpanel documentazione sulle impostazioni del progetto e Mixpanel guida alla creazione e alla gestione dei progetti per ulteriori informazioni. | 2384945 |
timezone |
Il fuso orario corrispondente al tuo Mixpanel progetto. Il fuso orario è necessario per creare una connessione sorgente. Consulta la sezione Documentazione sulle impostazioni del progetto per pannelli misti per ulteriori informazioni. | Pacific Standard Time |
Per ulteriori informazioni sull'autenticazione della Mixpanel sorgente, vedi Mixpanel panoramica di origine.
Una connessione di base conserva le informazioni tra l'origine e la piattaforma, incluse le credenziali di autenticazione dell'origine, lo stato corrente della connessione e l'ID di connessione di base univoco. L’ID di connessione di base consente di esplorare e navigare tra i file di origine e di identificare gli elementi specifici da acquisire, comprese le informazioni relative ai tipi di dati e ai formati corrispondenti.
Per creare un ID di connessione di base, invia una richiesta POST al /connections
l'endpoint durante la fornitura del Mixpanel credenziali di autenticazione come parte del corpo della richiesta.
Formato API
POST /connections
Richiesta
La richiesta seguente crea una connessione di base per Mixpanel:
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/connections' \
-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}' \
-H 'Content-Type: application/json' \
-d '{
"name": "Mixpanel base connection",
"description": "Mixpanel base connection to authenticate to Platform",
"connectionSpec": {
"id": "fd2c8ff3-1de0-4f6b-8fa8-4264784870eb",
"version": "1.0"
},
"auth": {
"specName": "Basic Authentication",
"params": {
"host": "https://data.mixpanel.com",
"username": "{USERNAME}",
"password": "{PASSWORD}"
}
}
}'
Proprietà | Descrizione |
---|---|
name |
Nome della connessione di base. Assicurati che il nome della connessione di base sia descrittivo, in quanto puoi utilizzarlo per cercare informazioni sulla connessione di base. |
description |
Un valore facoltativo che può essere incluso per fornire ulteriori informazioni sulla connessione di base. |
connectionSpec.id |
ID della specifica di connessione dell'origine. Questo ID può essere recuperato dopo la registrazione e l'approvazione della sorgente tramite Flow Service API. |
auth.specName |
Il tipo di autenticazione utilizzato per autenticare l’origine in Platform. |
auth.params. |
Contiene le credenziali necessarie per autenticare l'origine. |
auth.params.host |
Dominio univoco specifico dell'account creato durante il processo di registrazione. |
auth.params.username |
Il nome utente che corrisponde al tuo Mixpanel conto. |
auth.params.password |
La password che corrisponde alla tua Mixpanel conto. |
Risposta
Una risposta corretta restituisce la nuova connessione di base creata, incluso l'identificatore di connessione univoco (id
). Questo ID è necessario per esplorare la struttura file e il contenuto della tua sorgente nel passaggio successivo.
{
"id": "70383d02-2777-4be7-a309-9dd6eea1b46d",
"etag": "\"d64c8298-add4-4667-9a49-28195b2e2a84\""
}
Utilizzando l’ID di connessione di base generato nel passaggio precedente, puoi esplorare file e directory eseguendo richieste di GET.
Utilizza le seguenti chiamate per trovare il percorso del file che desideri inserire nell'Experience Platform:
Formato API
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=rest&object={OBJECT}&fileType={FILE_TYPE}&preview={PREVIEW}&sourceParams={SOURCE_PARAMS}
Quando si eseguono richieste di GET per esplorare la struttura e il contenuto del file di origine, è necessario includere i parametri di query elencati nella tabella seguente:
Parametro | Descrizione |
---|---|
{BASE_CONNECTION_ID} |
ID connessione di base generato nel passaggio precedente. |
objectType=rest |
Tipo di oggetto da esplorare. Attualmente, questo valore è sempre impostato su rest . |
{OBJECT} |
Questo parametro è necessario solo quando si visualizza una directory specifica. Il suo valore rappresenta il percorso della directory che desideri esplorare. Per questa origine il valore è json . |
fileType=json |
Il tipo di file da portare in Platform. Attualmente, json è l'unico tipo di file supportato. |
{PREVIEW} |
Valore booleano che definisce se il contenuto della connessione supporta l’anteprima. |
{SOURCE_PARAMS} |
Definisce i parametri del file di origine che si desidera portare in Platform. Per recuperare il tipo di formato accettato per {SOURCE_PARAMS} , devi codificare l’intero {"projectId":"2671127","timezone":"Pacific Standard Time"} stringa in base64. Nota: Nell’esempio seguente: "{"projectId":"2671127","timezone":"Pacific Standard Time"}" codificato in base64 equivale a eyJwcm9qZWN0SWQiOiIyNjcxMTI3IiwidGltZXpvbmUiOiJQYWNpZmljIFN0YW5kYXJkIFRpbWUifQ== . |
Richiesta
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connections/70383d02-2777-4be7-a309-9dd6eea1b46d/explore?objectType=rest&object=json&fileType=json&preview=true&sourceParams=eyJsaXN0SWQiOiIxMGMwOTdjYTcxIn0=' \
-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
Una risposta corretta restituisce la struttura del file interrogato.
{
"format": "hierarchical",
"schema": {
"type": "object",
"properties": {
"event": {
"type": "string"
},
"properties": {
"type": "object",
"properties": {
"$mp_api_endpoint": {
"type": "string"
},
"$insert_id": {
"type": "string"
},
"item_id": {
"type": "string"
},
"distinct_id": {
"type": "string"
},
"$mp_api_timestamp_ms": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"item_price": {
"type": "string"
},
"$import": {
"type": "boolean"
},
"item_name": {
"type": "string"
},
"time": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"mp_processing_time_ms": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
}
}
}
}
},
"data": [
{
"event": "Items purchased",
"properties": {
"time": 1652825148,
"distinct_id": "test@test.com",
"$insert_id": "935d87b1-00cd-41b7-be34-b9d98dd08b70",
"$mp_api_endpoint": "api.mixpanel.com",
"$mp_api_timestamp_ms": 1652850348643,
"item_id": "29066",
"item_name": "charger",
"item_price": "800.00",
"mp_processing_time_ms": 1652850348702
}
},
{
"event": "Items sold",
"properties": {
"time": 1652423938,
"distinct_id": "test@test.com",
"$insert_id": "935d87b1-00cd-41b7-be34-b9d98dd08b70",
"$mp_api_endpoint": "api.mixpanel.com",
"$mp_api_timestamp_ms": 1652449138115,
"item_id": "29036",
"item_name": "chair",
"item_price": "5000.00",
"mp_processing_time_ms": 1652449138173
}
},
{
"event": "Items sold",
"properties": {
"time": 1652854256,
"distinct_id": "test@test.com",
"$insert_id": "935d87b1-00cd-41b7-be34-b9d98dd08b70",
"$mp_api_endpoint": "api.mixpanel.com",
"$mp_api_timestamp_ms": 1652879456538,
"item_id": "29066",
"item_name": "mobile",
"item_price": "7000.00",
"mp_processing_time_ms": 1652879456604
}
},
{
"event": "Sign off",
"properties": {
"time": 1648140611,
"distinct_id": "test@test.com",
"$insert_id": "935d87b1-00cd-41b7-be34-b9d98dd08b75",
"$mp_api_endpoint": "api.mixpanel.com",
"$mp_api_timestamp_ms": 1648555709515,
"item_id": "29073",
"item_name": "Watch",
"item_price": "50000.00",
"mp_processing_time_ms": 1648555710375
}
},
{
"event": "Items sold",
"properties": {
"time": 1648140612,
"distinct_id": "test@test.com",
"$insert_id": "935d87b1-00cd-41b7-be34-b9d98dd08b75",
"$mp_api_endpoint": "api.mixpanel.com",
"$mp_api_timestamp_ms": 1648556481708,
"item_id": "29073",
"item_name": "Pen",
"item_price": "1000.00",
"mp_processing_time_ms": 1648556481880
}
},
{
"event": "Sign in",
"properties": {
"time": 1648140614,
"distinct_id": "test1@test.com",
"$import": true,
"$insert_id": "935d87b1-00cd-41b7-be34-b9d98dd08b75",
"$mp_api_endpoint": "api.mixpanel.com",
"$mp_api_timestamp_ms": 1648556032401,
"item_id": "29073",
"item_name": "Watch",
"item_price": "50000.00",
"mp_processing_time_ms": 1648556032462
}
},
{
"event": "Item Purchased",
"properties": {
"time": 1648165814,
"distinct_id": "test1@test.com",
"$insert_id": "935d87b1-00cd-41b7-be34-b9d98dd08b74",
"$mp_api_endpoint": "api.mixpanel.com",
"$mp_api_timestamp_ms": 1648480684785,
"item_id": "29073",
"item_name": "Watch",
"item_price": "50000.00",
"mp_processing_time_ms": 1648480685058
}
},
{
"event": "Item Purchased",
"properties": {
"time": 1648165814,
"distinct_id": "test1@test.com",
"$insert_id": "935d87b1-00cd-41b7-be34-b9d98dd08b75",
"$mp_api_endpoint": "api.mixpanel.com",
"$mp_api_timestamp_ms": 1648551687866,
"item_id": "29073",
"item_name": "Watch",
"item_price": "50000.00",
"mp_processing_time_ms": 1648551687922
}
},
{
"event": "Sign off",
"properties": {
"time": 1648530419,
"distinct_id": "test1@test.com",
"$insert_id": "935d87b1-00cd-41b7-be34-b9d98dd08b75",
"$mp_api_endpoint": "api.mixpanel.com",
"$mp_api_timestamp_ms": 1648555619274,
"item_id": "29073",
"item_name": "Watch",
"item_price": "50000.00",
"mp_processing_time_ms": 1648555619326
}
},
{
"event": "Items sold",
"properties": {
"time": 1648566534,
"distinct_id": "test1@test.com",
"$import": true,
"$insert_id": "935d87b1-00cd-41b7-be34-b9d98dd08b75",
"$mp_api_endpoint": "api.mixpanel.com",
"$mp_api_timestamp_ms": 1648635830114,
"item_id": "29073",
"item_name": "Pen",
"item_price": "1000.00",
"mp_processing_time_ms": 1648635831010
}
}
]
}
È possibile creare una connessione sorgente effettuando una richiesta di POST al Flow Service API. Una connessione di origine è costituita da un ID connessione, un percorso del file di dati di origine e un ID della specifica di connessione.
Formato API
POST /sourceConnections
Richiesta
La richiesta seguente crea una connessione di origine per Mixpanel:
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
-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}' \
-H 'Content-Type: application/json' \
-d '{
"name": "Mixpanel source connection",
"description": "Mixpanel source connection",
"baseConnectionId": "70383d02-2777-4be7-a309-9dd6eea1b46d",
"connectionSpec": {
"id": "fd2c8ff3-1de0-4f6b-8fa8-4264784870eb",
"version": "1.0"
},
"data": {
"format": "json"
},
"params": {
"projectId": "{PROJECT_ID}",
"timezone": "{TIMEZONE}"
}
}'
Proprietà | Descrizione |
---|---|
name |
Nome della connessione di origine. Assicurati che il nome della connessione sorgente sia descrittivo, in quanto puoi utilizzarlo per cercare informazioni sulla connessione sorgente. |
description |
Un valore facoltativo che può essere incluso per fornire ulteriori informazioni sulla connessione sorgente. |
baseConnectionId |
ID connessione di base di Mixpanel. Questo ID è stato generato in un passaggio precedente. |
connectionSpec.id |
ID della specifica di connessione corrispondente alla tua origine. |
data.format |
Il formato del Mixpanel dati da acquisire. Attualmente, l’unico formato di dati supportato è json . |
params.projectId |
Le Mixpanel ID progetto. |
params.timezone |
Il fuso orario del tuo Mixpanel progetto. |
Risposta
Una risposta corretta restituisce l'identificatore univoco (id
) della nuova connessione sorgente creata. Questo ID è necessario in un passaggio successivo per creare un flusso di dati.
{
"id": "246d052c-da4a-494a-937f-a0d17b1c6cf5",
"etag": "\"712a8c08-fda7-41c2-984b-187f823293d8\""
}
Affinché i dati di origine possano essere utilizzati in Platform, è necessario creare uno schema di destinazione per strutturare i dati di origine in base alle tue esigenze. Lo schema di destinazione viene quindi utilizzato per creare un set di dati di Platform in cui sono contenuti i dati di origine.
È possibile creare uno schema XDM di destinazione effettuando una richiesta POST al API del Registro di sistema dello schema.
Per i passaggi dettagliati su come creare uno schema XDM di destinazione, consulta l’esercitazione su creazione di uno schema tramite API.
È possibile creare un set di dati di destinazione eseguendo una richiesta di POST al API del servizio catalogo, fornendo l’ID dello schema di destinazione all’interno del payload.
Per i passaggi dettagliati su come creare un set di dati di destinazione, consulta l’esercitazione su creazione di un set di dati tramite API.
Una connessione di destinazione rappresenta la connessione alla destinazione in cui devono essere memorizzati i dati acquisiti. Per creare una connessione di destinazione, è necessario fornire l’ID di specifica di connessione fissa corrispondente al data lake. Questo ID è: c604ff05-7f1a-43c0-8e18-33bf874cb11c
.
Ora disponi degli identificatori univoci di uno schema di destinazione di un set di dati di destinazione e dell’ID delle specifiche di connessione al data lake. Utilizzando questi identificatori, puoi creare una connessione di destinazione utilizzando Flow Service API per specificare il set di dati che conterrà i dati di origine in entrata.
Formato API
POST /targetConnections
Richiesta
La seguente richiesta crea una connessione di destinazione per Mixpanel:
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
-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}' \
-H 'Content-Type: application/json' \
-d '{
"name": "{Mixpanel} Target Connection",
"description": "{Mixpanel} Target Connection",
"connectionSpec": {
"id": "fd2c8ff3-1de0-4f6b-8fa8-4264784870eb",
"version": "1.0"
},
"data": {
"format": "json"
},
"params": {
"dataSetId": "5ef4551c52e054191a61a99f"
}
}'
Proprietà | Descrizione |
---|---|
name |
Nome della connessione di destinazione. Assicurati che il nome della connessione di destinazione sia descrittivo, in quanto puoi utilizzarlo per cercare informazioni sulla connessione di destinazione. |
description |
Un valore facoltativo che può essere incluso per fornire ulteriori informazioni sulla connessione di destinazione. |
connectionSpec.id |
ID della specifica di connessione corrispondente al data lake. Questo ID fisso è: fd2c8ff3-1de0-4f6b-8fa8-4264784870eb . |
data.format |
Il formato del Mixpanel i dati che desideri inserire in Platform. |
params.dataSetId |
ID del set di dati di destinazione recuperato in un passaggio precedente. |
Risposta
Una risposta corretta restituisce l'identificatore univoco della nuova connessione di destinazione (id
). Questo ID è necessario nei passaggi successivi.
{
"id": "7c96c827-3ffd-460c-a573-e9558f72f263",
"etag": "\"a196f685-f5e8-4c4c-bfbd-136141bb0c6d\""
}
Affinché i dati di origine possano essere acquisiti in un set di dati di destinazione, devono prima essere mappati sullo schema di destinazione a cui aderisce il set di dati di destinazione. A tal fine, esegui una richiesta POST a Data Prep API con mappature dati definite all’interno del payload della richiesta.
Formato API
POST /conversion/mappingSets
Richiesta
curl -X POST \
'https://platform.adobe.io/data/foundation/conversion/mappingSets' \
-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}' \
-H 'Content-Type: application/json' \
-d '{
"version": 0,
"xdmSchema": "https://ns.adobe.com/{TENANT_ID}/schemas/995dabbea86d58e346ff91bd8aa741a9f36f29b1019138d4",
"xdmVersion": "1.0",
"id": null,
"mappings": [
{
"sourceType": "ATTRIBUTE",
"source": "data.distinct_id",
"destination": "_extconndev.distinct_id",
"name": "distinct_id",
"description": "Mixpanel"
},
{
"sourceType": "ATTRIBUTE",
"source": "data.event_name",
"destination": "_extconndev.event_name"
},
{
"sourceType": "ATTRIBUTE",
"source": "data.import",
"destination": "_extconndev.import"
},
{
"sourceType": "ATTRIBUTE",
"source": "data.insert_id",
"destination": "_extconndev.insert_id"
},
{
"sourceType": "ATTRIBUTE",
"source": "data.item_id",
"destination": "_extconndev.item_id"
},
{
"sourceType": "ATTRIBUTE",
"source": "data.item_name",
"destination": "_extconndev.item_name"
},
{
"sourceType": "ATTRIBUTE",
"source": "data.item_price",
"destination": "_extconndev.item_price"
},
{
"sourceType": "ATTRIBUTE",
"source": "data.mp_api_endpoint",
"destination": "_extconndev.mp_api_endpoint"
},
{
"sourceType": "ATTRIBUTE",
"source": "data.mp_api_timestamp_ms",
"destination": "_extconndev.mp_api_timestamp_ms"
},
{
"sourceType": "ATTRIBUTE",
"source": "data.mp_processing_time_ms",
"destination": "_extconndev.mp_processing_time_ms"
},
{
"sourceType": "ATTRIBUTE",
"source": "data.time",
"destination": "_extconndev.time"
}
]
}'
Proprietà | Descrizione |
---|---|
xdmSchema |
ID del schema XDM di destinazione generato in un passaggio precedente. |
mappings.destinationXdmPath |
Percorso XDM di destinazione in cui viene eseguito il mapping dell'attributo di origine. |
mappings.sourceAttribute |
L'attributo di origine che deve essere mappato su un percorso XDM di destinazione. |
mappings.identity |
Un valore booleano che indica se il set di mappatura verrà contrassegnato per Identity Service. |
Risposta
Una risposta corretta restituisce i dettagli della mappatura appena creata, incluso il relativo identificatore univoco (id
). Questo valore è necessario in un passaggio successivo per creare un flusso di dati.
{
"id": "bf5286a9c1ad4266baca76ba3adc9366",
"version": 0,
"createdDate": 1597784069368,
"modifiedDate": 1597784069368,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}"
}
Ultimo passo verso l'inserimento dei dati Mixpanel su Platform viene creato un flusso di dati. A questo punto sono stati preparati i seguenti valori richiesti:
Un flusso di dati è responsabile della pianificazione e della raccolta dei dati da un’origine. È possibile creare un flusso di dati eseguendo una richiesta di POST fornendo al contempo i valori precedentemente menzionati all’interno del payload.
Per pianificare un’acquisizione, è innanzitutto necessario impostare il valore dell’ora di inizio in modo che l’ora di inizio sia espressa in secondi. Quindi, è necessario impostare il valore della frequenza su una delle cinque opzioni: once
, minute
, hour
, day
oppure week
. Il valore dell’intervallo indica il periodo tra due acquisizioni consecutive, tuttavia la creazione di un’acquisizione una tantum non richiede l’impostazione di un intervallo. Per tutte le altre frequenze, il valore dell'intervallo deve essere impostato su uguale o maggiore di 15
.
Formato API
POST /flows
Richiesta
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/flows' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"name": "{Mixpanel} dataflow",
"description": "{Mixpanel} dataflow",
"flowSpec": {
"id": "6499120c-0b15-42dc-936e-847ea3c24d72",
"version": "1.0"
},
"sourceConnectionIds": [
"246d052c-da4a-494a-937f-a0d17b1c6cf5"
],
"targetConnectionIds": [
"7c96c827-3ffd-460c-a573-e9558f72f263"
],
"transformations": [
{
"name": "Mapping",
"params": {
"mappingId": "bf5286a9c1ad4266baca76ba3adc9366",
"mappingVersion": "0"
}
}
],
"scheduleParams": {
"startTime": "1625040887",
"frequency": "minute",
"interval": 15
}
}'
Proprietà | Descrizione |
---|---|
name |
Nome del flusso di dati. Assicurati che il nome del flusso di dati sia descrittivo in quanto puoi utilizzarlo per cercare informazioni sul flusso di dati. |
description |
Un valore facoltativo che può essere incluso per fornire ulteriori informazioni sul flusso di dati. |
flowSpec.id |
ID delle specifiche di flusso necessario per creare un flusso di dati. Questo ID fisso è: 6499120c-0b15-42dc-936e-847ea3c24d72 . |
flowSpec.version |
Versione corrispondente dell’ID della specifica di flusso. Questo valore predefinito è 1.0 . |
sourceConnectionIds |
La ID connessione di origine generato in un passaggio precedente. |
targetConnectionIds |
La ID connessione di destinazione generato in un passaggio precedente. |
transformations |
Questa proprietà contiene le varie trasformazioni necessarie per essere applicate ai dati. Questa proprietà è necessaria per portare dati non conformi a XDM su Platform. |
transformations.name |
Nome assegnato alla trasformazione. |
transformations.params.mappingId |
La ID mappatura generato in un passaggio precedente. |
transformations.params.mappingVersion |
Versione corrispondente dell'ID di mappatura. Questo valore predefinito è 0 . |
scheduleParams.startTime |
Questa proprietà contiene informazioni sulla pianificazione dell’acquisizione del flusso di dati. |
scheduleParams.frequency |
Frequenza con cui il flusso di dati raccoglie i dati. I valori accettabili includono: once , minute , hour , day oppure week . |
scheduleParams.interval |
L'intervallo indica il periodo tra due esecuzioni di flusso consecutive. Il valore dell'intervallo deve essere un numero intero diverso da zero. L'intervallo non è necessario quando la frequenza è impostata come once e deve essere maggiore o uguale a 15 per altri valori di frequenza. |
Risposta
Una risposta corretta restituisce l'ID (id
) del flusso di dati appena creato. Puoi utilizzare questo ID per monitorare, aggiornare o eliminare il flusso di dati.
{
"id": "993f908f-3342-4d9c-9f3c-5aa9a189ca1a",
"etag": "\"510bb1d4-8453-4034-b991-ab942e11dd8a\""
}
Una volta creato il flusso di dati, puoi monitorare i dati che vengono acquisiti tramite di esso per visualizzare informazioni sulle esecuzioni del flusso, lo stato di completamento e gli errori.
Formato API
GET /runs?property=flowId=={FLOW_ID}
Richiesta
La richiesta seguente recupera le specifiche per un flusso di dati esistente.
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/runs?property=flowId==993f908f-3342-4d9c-9f3c-5aa9a189ca1a' \
-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
Una risposta corretta restituisce i dettagli relativi all’esecuzione del flusso, incluse informazioni sulla data di creazione, sulle connessioni di origine e di destinazione, nonché l’identificatore univoco dell’esecuzione del flusso (id
).
{
"items": [
{
"createdAt": 1596656079576,
"updatedAt": 1596656113526,
"createdBy": "{CREATED_BY}",
"updatedBy": "{UPDATED_BY}",
"createdClient": "{CREATED_CLIENT}",
"updatedClient": "{UPDATED_CLIENT}",
"sandboxId": "1bd86660-c5da-11e9-93d4-6d5fc3a66a8e",
"sandboxName": "prod",
"id": "9830305a-985f-47d0-b030-5a985fd7d004",
"flowId": "993f908f-3342-4d9c-9f3c-5aa9a189ca1a",
"etag": "\"510bb1d4-8453-4034-b991-ab942e11dd8a\"",
"metrics": {
"durationSummary": {
"startedAtUTC": 1596656058198,
"completedAtUTC": 1596656113306
},
"sizeSummary": {
"inputBytes": 24012,
"outputBytes": 17128
},
"recordSummary": {
"inputRecordCount": 100,
"outputRecordCount": 99,
"failedRecordCount": 1
},
"fileSummary": {
"inputFileCount": 1,
"outputFileCount": 1,
"activityRefs": [
"promotionActivity"
]
},
"statusSummary": {
"status": "success",
"errors": [
{
"code": "CONNECTOR-2001-500",
"message": "Error occurred at promotion activity."
}
],
"activityRefs": [
"promotionActivity"
]
}
},
"activities": [
{
"id": "copyActivity",
"updatedAtUTC": 1596656095088,
"durationSummary": {
"startedAtUTC": 1596656058198,
"completedAtUTC": 1596656089650,
"extensions": {
"windowStart": 1596653708000,
"windowEnd": 1596655508000
}
},
"sizeSummary": {
"inputBytes": 24012,
"outputBytes": 24012
},
"recordSummary": {},
"fileSummary": {
"inputFileCount": 1,
"outputFileCount": 1
},
"statusSummary": {
"status": "success",
"extensions": {
"type": "one-time"
}
},
"sourceInfo": [
{
"id": "c0e18602-f9ea-44f9-a186-02f9ea64f9ac",
"type": "SourceConnection",
"reference": {
"type": "AdfRunId",
"ids": [
"8a8eb0cc-e283-4605-ac70-65a5adb1baef"
]
}
}
]
},
{
"id": "promotionActivity",
"updatedAtUTC": 1596656113485,
"durationSummary": {
"startedAtUTC": 1596656095333,
"completedAtUTC": 1596656113306
},
"sizeSummary": {
"inputBytes": 24012,
"outputBytes": 17128
},
"recordSummary": {
"inputRecordCount": 100,
"outputRecordCount": 99,
"failedRecordCount": 1
},
"fileSummary": {
"inputFileCount": 2,
"outputFileCount": 1,
"extensions": {
"manifest": {
"fileInfo": "https://platform.adobe.io/data/foundation/export/batches/01EF01X41KJD82Y9ZX6ET54PCZ/meta?path=input_files"
}
}
},
"statusSummary": {
"status": "success",
"errors": [
{
"code": "CONNECTOR-2001-500",
"message": "Error occurred at promotion activity."
}
],
"extensions": {
"manifest": {
"failedRecords": "https://platform.adobe.io/data/foundation/export/batches/01EF01X41KJD82Y9ZX6ET54PCZ/meta?path=row_errors",
"sampleErrors": "https://platform.adobe.io/data/foundation/export/batches/01EF01X41KJD82Y9ZX6ET54PCZ/meta?path=row_error_samples.json"
},
"errors": [
{
"code": "INGEST-1212-400",
"message": "Encountered 1 errors in the data. Successfully ingested 99 rows. Review the associated diagnostic files for additional details."
},
{
"code": "MAPPER-3700-400",
"recordCount": 1,
"message": "Mapper Transform Error"
}
]
}
},
"targetInfo": [
{
"id": "47166b83-01c7-4b65-966b-8301c70b6562",
"type": "TargetConnection",
"reference": {
"type": "Batch",
"ids": [
"01EF01X41KJD82Y9ZX6ET54PCZ"
]
}
}
]
}
]
}
],
"_links": {}
}
Proprietà | Descrizione |
---|---|
items |
Contiene un singolo payload di metadati associati all’esecuzione di flusso specifica. |
metrics |
Definisce le caratteristiche dei dati nell'esecuzione del flusso. |
activities |
Definisce la modalità di trasformazione dei dati. |
durationSummary |
Definisce l'ora di inizio e di fine dell'esecuzione del flusso. |
sizeSummary |
Definisce il volume dei dati in byte. |
recordSummary |
Definisce il conteggio dei record dei dati. |
fileSummary |
Definisce il conteggio dei file dei dati. |
statusSummary |
Definisce se l'esecuzione del flusso è un successo o un errore. |
Per aggiornare la pianificazione, il nome e la descrizione dell’esecuzione del flusso di dati, esegui una richiesta PATCH al Flow Service API fornendo al tempo stesso il tuo ID flusso, la versione e la nuova pianificazione che desideri utilizzare.
La If-Match
l’intestazione è necessaria quando si effettua una richiesta PATCH. Il valore di questa intestazione è il tag univoco del flusso di dati che si desidera aggiornare.
Formato API
PATCH /flows/{FLOW_ID}
Richiesta
La richiesta seguente aggiorna la pianificazione di esecuzione del flusso, nonché il nome e la descrizione del flusso di dati.
curl -X PATCH \
'https://platform.adobe.io/data/foundation/flowservice/flows/993f908f-3342-4d9c-9f3c-5aa9a189ca1a' \
-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}'
-H 'If-Match: "1a0037e4-0000-0200-0000-602e06f60000"' \
-d '[
{
"op": "replace",
"path": "/scheduleParams/frequency",
"value": "day"
},
{
"op": "replace",
"path": "/name",
"value": "New dataflow name"
},
{
"op": "replace",
"path": "/description",
"value": "Updated dataflow description"
}
]'
Parametro | Descrizione |
---|---|
op |
La chiamata dell’operazione utilizzata per definire l’azione necessaria per aggiornare il flusso di dati. Le operazioni includono: add , replace e remove . |
path |
Percorso del parametro da aggiornare. |
value |
Il nuovo valore con cui si desidera aggiornare il parametro. |
Risposta
Una risposta corretta restituisce il tuo ID flusso e un tag aggiornato. Puoi verificare l’aggiornamento effettuando una richiesta GET al Flow Service , fornendo al tempo stesso il tuo ID flusso.
{
"id": "993f908f-3342-4d9c-9f3c-5aa9a189ca1a",
"etag": "\"50014cc8-0000-0200-0000-6036eb720000\""
}
Con un ID flusso esistente, puoi eliminare un flusso di dati eseguendo una richiesta DELETE al Flow Service API.
Formato API
DELETE /flows/{FLOW_ID}
Parametro | Descrizione |
---|---|
{FLOW_ID} |
L'unico id del flusso di dati da eliminare. |
Richiesta
curl -X DELETE \
'https://platform.adobe.io/data/foundation/flowservice/flows/993f908f-3342-4d9c-9f3c-5aa9a189ca1a' \
-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
Una risposta corretta restituisce lo stato HTTP 204 (Nessun contenuto) e un corpo vuoto. Puoi confermare l’eliminazione tentando una richiesta di ricerca (GET) al flusso di dati. L’API restituirà un errore HTTP 404 (Non trovato) che indica che il flusso di dati è stato eliminato.
Per aggiornare il nome, la descrizione e le credenziali della tua connessione, esegui una richiesta PATCH al Flow Service API fornendo l'ID di connessione di base, la versione e le nuove informazioni che si desidera utilizzare.
La If-Match
l’intestazione è necessaria quando si effettua una richiesta PATCH. Il valore di questa intestazione è la versione univoca della connessione che si desidera aggiornare.
Formato API
PATCH /connections/{BASE_CONNECTION_ID}
Parametro | Descrizione |
---|---|
{BASE_CONNECTION_ID} |
L'unico id valore della connessione che si desidera aggiornare. |
Richiesta
La richiesta seguente fornisce un nuovo nome e una nuova descrizione, nonché un nuovo set di credenziali, con cui aggiornare la connessione.
curl -X PATCH \
'https://platform.adobe.io/data/foundation/flowservice/connections/139f6a5f-a78b-4744-9f6a-5fa78bd74431' \
-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}'
-H 'If-Match: 1400dd53-0000-0200-0000-5f3f23450000' \
-d '[
{
"op": "replace",
"path": "/auth/params",
"value": {
"username": "salesforce-connector-username",
"password": "{NEW_PASSWORD}",
"securityToken": "{NEW_SECURITY_TOKEN}"
}
},
{
"op": "replace",
"path": "/name",
"value": "Test salesforce connection"
},
{
"op": "add",
"path": "/description",
"value": "A test salesforce connection"
}
]'
Parametro | Descrizione |
---|---|
op |
Chiamata dell’operazione utilizzata per definire l’azione necessaria per aggiornare la connessione. Le operazioni includono: add , replace e remove . |
path |
Percorso del parametro da aggiornare. |
value |
Il nuovo valore con cui si desidera aggiornare il parametro. |
Risposta
Una risposta corretta restituisce l'ID di connessione di base e un tag aggiornato. Puoi verificare l’aggiornamento effettuando una richiesta GET al Flow Service , fornendo al tempo stesso l'ID di connessione.
{
"id": "139f6a5f-a78b-4744-9f6a-5fa78bd74431",
"etag": "\"3600e378-0000-0200-0000-5f40212f0000\""
}
Una volta ottenuto l’ID di connessione di base esistente, esegui una richiesta DELETE al Flow Service API.
Formato API
DELETE /connections/{CONNECTION_ID}
Parametro | Descrizione |
---|---|
{BASE_CONNECTION_ID} |
L'unico id valore della connessione di base che si desidera eliminare. |
Richiesta
curl -X DELETE \
'https://platform.adobe.io/data/foundation/flowservice/connections/dd3631cd-d0ea-4fea-b631-cdd0ea6fea21' \
-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
Una risposta corretta restituisce lo stato HTTP 204 (Nessun contenuto) e un corpo vuoto.
Puoi confermare l’eliminazione tentando una richiesta di ricerca (GET) alla connessione.