Skapa ett dataflöde för protokollkällor med API:t Flow Service
I den här självstudien beskrivs stegen för hur du hämtar data från en protokollkälla och överför dem till plattformen med Flow Service API.
- Om du vill skapa ett dataflöde måste du redan ha ett giltigt anslutnings-ID för basen med en protokollkälla. Om du inte har det här ID:t kan du se Källöversikt för en lista över protokollkällor som du kan skapa en basanslutning med.
Komma igång
Den här självstudiekursen kräver även att du har en fungerande förståelse för följande komponenter i Adobe Experience Platform:
-
Experience Data Model (XDM) System: Det standardiserade ramverk som Experience Platform använder för att ordna kundupplevelsedata.
- Grundläggande om schemakomposition: Lär dig mer om grundstenarna i XDM-scheman, inklusive nyckelprinciper och bästa metoder för schemakomposition.
- Utvecklarhandbok för schemaregister: Innehåller viktig information som du behöver känna till för att kunna utföra anrop till API:t för schemaregister. Detta inkluderar din
{TENANT_ID}
, konceptet med behållare och de huvuden som krävs för att göra förfrågningar (med särskild uppmärksamhet på huvudet Godkänn och dess möjliga värden).
-
Catalog Service: Katalog är ett postsystem för dataplatser och -länkar inom Experience Platform.
-
Batch ingestion: Med API:t för gruppinmatning kan du importera data till Experience Platform som gruppfiler.
-
Sandlådor: Experience Platform tillhandahåller virtuella sandlådor som partitionerar en enda plattformsinstans till separata virtuella miljöer för att utveckla och utveckla program för digitala upplevelser.
Använda plattforms-API:er
Mer information om hur du kan anropa plattforms-API:er finns i guiden Komma igång med plattforms-API:er.
Skapa en källanslutning source
Du kan skapa en källanslutning genom att göra en POST-förfrågan till API:t Flow Service. En källanslutning består av ett anslutnings-ID, en sökväg till källdatafilen och ett anslutnings-spec-ID.
Om du vill skapa en källanslutning måste du också definiera ett uppräkningsvärde för dataformatattributet.
Använd följande uppräkningsvärden för filbaserade kopplingar:
delimited
json
parquet
Ange värdet tabular
för alla tabellbaserade anslutningar.
API-format
POST /sourceConnections
Begäran
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": "Generic OData source connection",
"baseConnectionId": "a5c6b647-e784-4b58-86b6-47e784ab580b",
"description": "Generic OData source connection",
"data": {
"format": "tabular",
},
"params": {
"tableName": "Orders",
"columns": [
{
"name": "OrderID",
"type": "integer",
"xdm": {
"type": "integer",
"minimum": -2147483648,
"maximum": 2147483647
}
},
{
"name": "CustomerID",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "OrderDate",
"type": "string",
"meta:xdmType": "date-time",
"xdm": {
"type": "string",
"format": "date-time"
}
},
{
"name": "ShippedDate",
"type": "string",
"meta:xdmType": "date-time",
"xdm": {
"type": "string",
"format": "date-time"
}
}
]
},
"connectionSpec": {
"id": "8e6b41a8-d998-4545-ad7d-c6a9fff406c3",
"version": "1.0"
}
}'
baseConnectionId
params.path
connectionSpec.id
Svar
Ett lyckat svar returnerar den unika identifieraren (id
) för den nyligen skapade källanslutningen. Detta ID krävs i senare steg för att skapa en målanslutning.
{
"id": "0a768941-ddfb-499d-b689-41ddfbf99db0",
"etag": "\"8f00753e-0000-0200-0000-5e8a547d0000\""
}
Skapa ett mål-XDM-schema target-schema
För att källdata ska kunna användas i Platform måste ett målschema skapas för att strukturera källdata efter dina behov. Målschemat används sedan för att skapa en plattformsdatauppsättning där källdata finns.
Ett mål-XDM-schema kan skapas genom att utföra en POST-begäran till schemats register-API.
Detaljerade steg om hur du skapar ett mål-XDM-schema finns i självstudiekursen Skapa ett schema med API:t.
Skapa en måldatauppsättning target-dataset
En måldatamängd kan skapas genom att utföra en POST-begäran till katalogtjänstens API, som anger målschemats ID i nyttolasten.
Detaljerade steg om hur du skapar en måldatauppsättning finns i självstudiekursen Skapa en datauppsättning med API:t.
Skapa en målanslutning target-connection
En målanslutning representerar anslutningen till målet där inkapslade data kommer in. Om du vill skapa en målanslutning måste du ange det fasta anslutnings-spec-ID som är associerat med datasjön. Anslutningens spec-ID är: c604ff05-7f1a-43c0-8e18-33bf874cb11c
.
Nu har du de unika identifierarna ett målschema, en måldatamängd och ett anslutningsspec-ID till datasjön. Med API:t Flow Service kan du skapa en målanslutning genom att ange dessa identifierare tillsammans med den datauppsättning som kommer att innehålla inkommande källdata.
API-format
POST /targetConnections
Begäran
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": "Target Connection for protocols",
"description": "Target Connection for protocols",
"data": {
"format": "parquet_xdm",
"schema": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/e669d7aba5a02f294fafb7b269af25f7cd4a66ce59193545",
"version" "application/vnd.adobe.xed-full+json;version=1"
}
},
"params": {
"dataSetId": "5e8a55ca53662c18af37a83a"
},
"connectionSpec": {
"id": "c604ff05-7f1a-43c0-8e18-33bf874cb11c",
"version": "1.0"
}
}'
data.schema.id
$id
för mål-XDM-schemat.params.dataSetId
connectionSpec.id
c604ff05-7f1a-43c0-8e18-33bf874cb11c
.Svar
Ett svar returnerar den nya målanslutningens unika identifierare (id
). Detta värde krävs i ett senare steg för att skapa ett dataflöde.
{
"id": "576d5ecf-f114-4587-ad5e-cff1144587f4",
"etag": "\"13013506-0000-0200-0000-5e8a56d80000\""
}
Skapa en mappning mapping
För att källdata ska kunna hämtas till en måldatamängd måste den först mappas till målschemat som måldatamängden följer.
Om du vill skapa en mappningsuppsättning skickar du en POST till mappingSets
-slutpunkten för Data Prep API samtidigt som du anger ditt mål-XDM-schema $id
och information om de mappningsuppsättningar du vill skapa.
API-format
POST /mappingSets
Begäran
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/e669d7aba5a02f294fafb7b269af25f7cd4a66ce59193545",
"xdmVersion": "1.0",
"id": null,
"mappings": [
{
"destinationXdmPath": "_id",
"sourceAttribute": "OrderID",
"identity": false,
"identityGroup": null,
"namespaceCode": null,
"version": 0
},
{
"destinationXdmPath": "_id",
"sourceAttribute": "CustomerID",
"identity": false,
"identityGroup": null,
"namespaceCode": null,
"version": 0
},
{
"destinationXdmPath": "_id",
"sourceAttribute": "EmployeeID",
"identity": false,
"identityGroup": null,
"namespaceCode": null,
"version": 0
},
{
"destinationXdmPath": "createdByBatchID",
"sourceAttribute": "OrderDate",
"identity": false,
"identityGroup": null,
"namespaceCode": null,
"version": 0
}
]
}'
xdmSchema
$id
för mål-XDM-schemat.Svar
Ett lyckat svar returnerar information om den nyligen skapade mappningen inklusive dess unika identifierare (id
). Detta ID krävs i ett senare steg för att skapa ett dataflöde.
{
"id": "37409d3017e24a3eb4a2dc21020f7a5b",
"version": 0,
"createdDate": 1586124873209,
"modifiedDate": 1586124873209,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}"
}
Söka efter dataflödesspecifikationer specs
Ett dataflöde ansvarar för att samla in data från källor och föra in dem i plattformen. För att kunna skapa ett dataflöde måste du först få de dataflödesspecifikationer som ansvarar för att samla in data från ditt protokollprogram.
API-format
GET /flowSpecs?property=name=="CRMToAEP"
Begäran
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/flowSpecs?property=name=="CRMToAEP"' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Svar
Ett lyckat svar returnerar information om dataflödesspecifikationen som ansvarar för att hämta data från källan till plattformen. Svaret innehåller den unika flödesspecifikation id
som krävs för att skapa ett nytt dataflöde.
code language-json |
---|
|
Skapa ett dataflöde
Det sista steget mot att samla in data är att skapa ett dataflöde. Nu bör du ha förberett följande obligatoriska värden:
Ett dataflöde ansvarar för att schemalägga och samla in data från en källa. Du kan skapa ett dataflöde genom att utföra en begäran om POST samtidigt som du anger de tidigare angivna värdena i nyttolasten.
Om du vill schemalägga ett intag måste du först ange starttidsvärdet till epok time i sekunder. Sedan måste du ange frekvensvärdet till ett av de fem alternativen: once
, minute
, hour
, day
eller week
. Intervallvärdet anger perioden mellan två på varandra följande inmatningar och att skapa en engångsinmatning kräver inget intervall. Intervallvärdet måste vara lika med eller större än 15
för alla andra frekvenser.
API-format
POST /flows
Begäran
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": "Creating a dataflow for a protocols source",
"description": "Creating a dataflow for a protocols source",
"flowSpec": {
"id": "14518937-270c-4525-bdec-c2ba7cce3860",
"version": "1.0"
},
"sourceConnectionIds": [
"0a768941-ddfb-499d-b689-41ddfbf99db0"
],
"targetConnectionIds": [
"576d5ecf-f114-4587-ad5e-cff1144587f4"
],
"transformations": [
{
"name": "Copy",
"params": {
"deltaColumn": {
"name": "updatedAt",
"dateFormat": "YYYY-MM-DD",
"timezone": "UTC"
}
}
},
{
"name": "Mapping",
"params": {
"mappingId": "7409d3017e24a3eb4a2dc21020f7a5b",
"mappingVersion": 0
}
}
],
"scheduleParams": {
"startTime": "1567411548",
"frequency":"minute",
"interval":"30"
}
}'
flowSpec.id
sourceConnectionIds
targetConnectionIds
transformations.params.mappingId
transformations.params.deltaColum
deltaColumn
när du använder allmänna OData är yyyy-MM-ddTHH:mm:ssZ
.transformations.params.mappingId
scheduleParams.startTime
scheduleParams.frequency
once
, minute
, hour
, day
eller week
.scheduleParams.interval
Intervallet anger perioden mellan två på varandra följande flödeskörningar. Intervallets värde ska vara ett heltal som inte är noll. Det minsta tillåtna intervallvärdet för varje frekvens är följande:
- En gång: ingen/a
- Minut: 15
- Timme: 1
- Dag: 1
- Vecka: 1
Svar
Ett lyckat svar returnerar ID:t id
för det nya dataflödet.
{
"id": "8256cfb4-17e6-432c-a469-6aedafb16cd5",
"etag": "\"04004fe9-0000-0200-0000-5ebc4c8b0000\""
}
Övervaka dataflödet
När dataflödet har skapats kan du övervaka de data som importeras genom det för att se information om flödeskörningar, slutförandestatus och fel. Mer information om hur du övervakar dataflöden finns i självstudiekursen Övervaka dataflöden i API.
Nästa steg
Genom att följa den här självstudiekursen har du skapat en källanslutning för att samla in data från ett protokollprogram schemalagt. Inkommande data kan nu användas av plattformstjänster längre fram i kedjan som Real-Time Customer Profile och Data Science Workspace. Mer information finns i följande dokument: