Concept: REST-API voor gegevensexport
Overzicht
De API voor gegevensexport in de Prism REST- service biedt de vaardigheid om op grote schaal gegevens uit door tabellen ondersteunde Prism-gegevensbronnen te exporteren.
Belangrijkste functies:
- Maak een gegevensexporttaak om gegevens te exporteren uit een door tabellen ondersteunde Prism- gegevensbron ''.
- Annuleer een specifieke gegevensexporttaak. De status van de gegevensexporttaak moet 'Gepland' of 'Wordt uitgevoerd' zijn.
- Gebruikers in onbeperkte beveiligingsgroepen kunnen alle gegevensexporttaken weergeven en annuleren.
- Gebruikers in een beveiligingsgroep kunnen alleen de gegevensexporttaken weergeven en annuleren die ze hebben gemaakt.
- Controleer de status van de gegevensexporttaak.
- Gepland: de uitvoering van de gegevensexporttaak is gepland in Workday .
- Wordt verwerkt: de taak voor gegevensexport wordt momenteel uitgevoerd in Workday .
- Geslaagd: Workday heeft de taak voor het exporteren van gegevens voltooid en een of meer uitvoerbestanden met de geëxporteerde gegevens gemaakt.
- Geannuleerd: de uitvoering van de gegevensexporttaak is stopgezet in Workday op aanvraag van een gebruiker.
- Mislukt: Workday is een fout opgetreden bij het uitvoeren van de gegevensexporttaak.
- Download de uitvoerbestanden met de geëxporteerde gegevens.
- U kunt alleen de uitvoerbestanden downloaden die zijn toegestaan voor het beveiligingsprofiel van de huidige gebruiker.
- U kunt bestanden achter elkaar of parallel downloaden . U kunt de tijd die vereist is om alle uitvoerbestanden downloaden, verkorten door ze parallel te downloaden.
- De downloadprestaties zijn afhankelijk van:
- Het aantal bestanden.
- Het aantal parallelle downloads.
- De netwerkbandbreedte tussen de API client en de Workday server. Voorbeeld: als de client zich in een andere geografische regio bevindt dan de server, duurt het langer voordat de bestanden zijn downloaden .
Gebruiksscenario's
Toepassingsvoorbeeld | Omschrijving |
|---|---|
Informatieverschaffing en wettelijke rapportage. | Met een schema dat kan bereik van dagelijks tot jaarlijks, moet u grote hoeveelheden gedetailleerde financiële gegevens voor specifieke perioden uit Workday extraheren. Na het exporteren kunt u de gegevens verzenden naar een enterprise data Lake of een rapportagetool voor regelgeving. Met de tool kunt u eenvoudiger financiële informatie opmaken en verzenden om te voldoen aan strikte voorschriften. |
Geavanceerde analyses, gegevenswetenschap en overige rapportages. | U moet grote hoeveelheden gedetailleerde operationele en financiële gegevens voor specifieke perioden uit Workday extraheren. Na het exporteren kunt u de gegevens verzenden naar een enterprise-meer of een datawetenschapsworkbench, waar u voorspellende modellen kunt maken voor onder meer de volgende onderwerpen:
|
Gereguleerde blokkeringen en archiefdocumenten. | U moet voldoen aan regelgevings- en nalevingsnormen door financiële gegevens over 5 tot 7 jaar te archiveren. U moet deze gegevens op aanvraag onmiddellijk beschikbaar stellen aan regelgevende instanties en auditors , in overeenstemming met de toepasselijke regelgeving en branche. |
Auditaanvragen. | Voor een grondige audit moet u alle transacties, activiteiten en metagegevens voor bepaalde saldi aanvraag gedurende een opgegeven tijdsperiode (). Deze gegevens zijn vereist op maand-, kwartaal- en jaarbasis, evenals voor eerdere jaren. U moet een groot aantal gegevens naar uw database exporteren. |
URL-basispad
Basispad tenant
Voorbeeld om een gegevensexporttaak te maken:https://{hostname}/api/prismAnalytics/{version}/{tenantname}/dataExport
https://yourTenantHostName.com/api/prismAnalytics/v3/<TENANT_NAME>/dataExport
Basispad Workday Extend- API gateway
Gebruik voor Workday Extend-apps de regionale basis-URL van de API gateway voor uw bedrijf. Zie Referentie: Workday Extend API Gateways and Authorization Base URLs op de ontwikkelaarssite.
De basis-URL van de API gateway bevat niet de tenantnaam ''.
Aandachtspunten bij de beveiliging
Deze domeinen in het functionele gebied Prism:
- Prism Data Export: Execute: bepaalt wie gegevensexporttaken kan maken.
- Prism Data Export: Manage: bepaalt wie gegevensexporttaken kan weergeven en annuleren.
Taak voor gegevensexport maken
The
POST /dataExport
eindpunt vergemakkelijkt het maken van een gegevensexporttaak.Aandachtspunten bij de beveiliging:
- Het domeinPrism Data Export: Executein het functionele gebied Prism Analytics .
- Een van deze beveiligingsvereisten voor de tabel waaruit u exporteert:
- Het domeinPrism: Tables Managein het functionele gebied Prism Analytics .
- Het domeinPrism: Tables Owner Managein het functionele gebied Prism Analytics .
- machtigingvoor tabelweergavevoor de tabel.
- machtigingTabeleditorvoor de tabel.
- machtigingTabeleigenaarvoor de tabel.
Gebruik deze methode om een gegevensexporttaak te maken voor een opgegeven Prism- gegevensbron.
Wanneer u een gegevensexporttaak maakt, genereert Workday een of meer bestanden met gegevens uit de Prism gegevensbron die u naar uw lokale computer kunt downloaden .
Geef in de hoofdtekst van de aanvraag een waarde op voor de volgende parameters:
Hoofdtekstparameter | Type | Omschrijving |
|---|---|---|
invoer: | Object | Een WQL-query opnemen die elk veld opgeeft dat moet worden geëxporteerd uit een Prism gegevensbron.
Gebruik deze notatie:
Bij het schrijven van de WQL-query:
Zie Referentie: WQL-querygebruik en richtlijnen voor gegevensexport voor meer informatie over het opgeven van een geldige query in de invoerparameter. |
uitvoer: | Object | Gebruik deze notatie:
|
Voorbeeldaanvraag:
POST /dataExport
Hoofdtekst voorbeeldaanvraag:
{ "input": { "query": "SELECT agentCity, GET_DISPLAY_ID(billingCompany) AS billing_company, GET_DISPLAY_ID(billingCostCenter) AS billing_CostCenter FROM cds_insuranceClaimData WHERE claimAmount > 1000", "type": "SQL" }, "output": { "type": "CSV_GZIP", "headers": true } }
Voorbeeldantwoord:
{ "createdMoment": "2017-03-17T00:00:00.000Z", "status": "Scheduled", "input": { "query": "SELECT agentCity, GET_DISPLAY_ID(billingCompany) AS billing_company, GET_DISPLAY_ID(billingCostCenter) AS billing_CostCenter FROM cds_insuranceClaimData WHERE claimAmount > 1000", "type": "SQL" }, "id": "b1bd0e1ac5d410001193bf9340050000" }
Status taak voor gegevensexport ophalen
The
GET /dataExport
eindpunt vergemakkelijkt het ophalen van alle gegevensexporttaken.The
GET /dataExport/{id}
Hiermee kunt u één exporttaak eenvoudiger ophalen.Aandachtspunten bij de beveiliging:
Prism Data Export: Manage
domein in het functionele gebied Prism Analytics .Dit eindpunt retourneert de gegevensexporttaken waarvoor de huidige gebruiker machtiging heeft. Gebruik de volgende optionele queryparameters om een verzameling op te halen:
Queryparameter | Omschrijving | Standaard | Max |
|---|---|---|---|
type | De waarde voor type bepaalt welke antwoord moeten worden opgenomen.
| overzicht | |
limiet | De limiet van het aantal objectgegevens dat in één antwoord is opgenomen. | 20 | 1000 |
verschuiving | De tegenboeking ten opzichte van het eerste object in een verzameling dat in het antwoord moet worden opgenomen: . | 0 |
Voorbeeldaanvraag:
GET /dataExport
Voorbeeldantwoord:
Het antwoord is een verzameling gegevensexporttaken in JSON -indeling.
In dit antwoord wordt slechts één gegevensexporttaak weergegeven.
{ "total": 7, "data": [ { "createdMoment": "2023-08-03T22:47:10.929Z", "createdBy": { "id": "274555853a4446cf8809325243534f34", "descriptor": "BLiu / Betty Liu (manager 4300, CostCtrMgr 30.3, 41200, PayIntPartner; PayPartner, PayAdmin)", "fullName": "BLiu / Betty Liu (manager 4300, CostCtrMgr 30.3, 41200, PayIntPartner; PayPartner, PayAdmin)" }, "status": "Success", "input": { "query": "SELECT insuranceOfficeState, sourceFileTag, sort1, sort2, agentCity, agentCountry, agentNote, GET_DISPLAY_ID(billingCompany) AS billing_company, GET_DISPLAY_ID(billingCostCenter) AS billing_CostCenter FROM cds_insuranceClaimData", "type": "SQL" }, "output": { "noOfFiles": 4, "totalSizeInBytes": 5610214, "totalRows": 110408 }, "id": "b1bd0e1ac5d4100013ad1f50c6910000" }, ... ] }
aanvraag voor het ophalen van informatie over de gegevensexporttaak met de ID = b1bd0e1ac5d410001193bf9340050000:
GET /dataExport/b1bd0e1ac5d410001193bf9340050000
Voorbeeldantwoord:
{ "createdMoment": "2023-08-03T22:08:42.928Z", "createdBy": { "id": "274555853a4446cf8809325243534f34", "descriptor": "BLiu / Betty Liu (manager 4300, CostCtrMgr 30.3, 41200, PayIntPartner; PayPartner, PayAdmin)", "fullName": "BLiu / Betty Liu (manager 4300, CostCtrMgr 30.3, 41200, PayIntPartner; PayPartner, PayAdmin)" }, "status": "Success", "input": { "query": "SELECT agentCity, GET_DISPLAY_ID(billingCompany) AS billing_company, GET_DISPLAY_ID(billingCostCenter) AS billing_CostCenter FROM cds_insuranceClaimData WHERE claimAmount > 1000", "type": "SQL" }, "output": { "createdTime": "2023-08-03T22:08:53.725Z", "expirationTime": "2023-08-10T22:08:53.725Z", "noOfFiles": 2, "totalSizeInBytes": 359680, "totalRows": 41301, "results": [ { "name": "part-00000-70e49bea-487e-4a3e-b43e-be3935e951c1-c000.csv.gz", "length": 298913 }, { "name": "part-00001-70e49bea-487e-4a3e-b43e-be3935e951c1-c000.csv.gz", "length": 60767 } ] }, "id": "b1bd0e1ac5d410001193bf9340050000" }
Uitvoerbestanden downloaden
The
GET /dataExport/{id}/results/{fileName}
endpoint vergemakkelijkt het downloaden van uitvoerbestanden van een gegevensexporttaak.Geef het volgende op:
- De ID van de gegevensexporttaak.
- De naam van het uitvoerbestand van de gegevensexporttaak.
The
GET /dataExport/{id}
endpoint biedt de namen van de uitvoerbestanden.U kunt alleen de uitvoerbestanden downloaden die zijn toegestaan voor het beveiligingsprofiel van de huidige gebruiker. U kunt bestanden achter elkaar of parallel downloaden .
Aandachtspunten bij de beveiliging:
Prism Data Export: Manage
domein in het functionele gebied Prism Analytics . aanvraag voor het downloaden van het bestand part-00000-70e49bea-487e-4a3e-b43e-be3935e951c1-c000.csv.gz:
GET /dataExport/b1bd0e1ac5d410001193bf9340050000/results/part-00000-70e49bea-487e-4a3e-b43e-be3935e951c1-c 000.csv.gz
Taak voor gegevensexport annuleren
The
POST /dataExport/{id}/cancel
Met het eindpunt kunt u een specifieke taak voor gegevensexport annuleren die is gepland of wordt uitgevoerd.U kunt alleen gegevensexporttaken annuleren die zijn toegestaan voor het beveiligingsprofiel van de huidige gebruiker.
Aandachtspunten bij de beveiliging:
Een van deze domeinen in het functionele gebied Prism Analytics :
- Prism-gegevensexport: uitvoeren
- Prism-gegevensexport: Beheren
Een van deze beveiligingsvereisten voor de tabel waaruit u exporteert:
- Het domeinPrism: Tables Managein het functionele gebied Prism Analytics .
- Het domeinPrism: Tables Owner Managein het functionele gebied Prism Analytics .
- machtiging voor tabelweergave voor de tabel.
- machtiging Tabeleditor voor de tabel.
- machtiging Tabeleigenaar voor de tabel.
Voorbeeldaanvraag:
U moet een lege JSON tekenreeks {} opnemen in de hoofdtekst van de aanvraag voor deze methode.
aanvraag voor het annuleren van een gegevensexporttaak met de ID b1bd0e1ac5d4100018d18abc4ea00000:
POST /dataExport/b1bd0e1ac5d4100018d18abc4ea00000/cancel
Voorbeeldantwoord:
Het antwoord bevat de gegevensexporttaak met de huidige status 'Geannuleerd' in JSON -indeling.
{ "createdMoment": "2023-08-04T00:21:24.914Z", "createdBy": { "id": "274555853a4446cf8809325243534f34", "descriptor": "BLiu / Betty Liu (manager 4300, CostCtrMgr 30.3, 41200, PayIntPartner; PayPartner, PayAdmin)", "fullName": "BLiu / Betty Liu (manager 4300, CostCtrMgr 30.3, 41200, PayIntPartner; PayPartner, PayAdmin)" }, "status": "Canceled", "input": { "query": "SELECT agentCity, GET_DISPLAY_ID(billingCompany) AS billing_company, GET_DISPLAY_ID(billingCostCenter) AS billing_CostCenter FROM cds_insuranceClaimData", "type": "SQL" }, "id": "b1bd0e1ac5d4100018d18abc4ea00000" }
Beperkingen
- Exportfuncties zijn functies met een lage prioriteit en hebben een lagere prioriteit dan andere functies, zoals 'Publiceren'.
- U kunt de gegenereerde bestanden niet meer downloaden na zeven dagen, omdat de bestanden dan worden verwijderd.
- De volgende maxima worden ingesteld als vangrails om de systeemprestaties en betrouwbaarheid te optimaliseren:
- 1 miljard rijen per exporttaak.
- 1000 kolommen per query.
- Gelijktijdige downloaden :
- Als de systeemlimiet is bereikt, ontvangen u een antwoord van 503 - HIT_SERVER_LIMIT: .
- Als een tenant de specifieke limiet overschrijdt, ontvangen u een antwoord 429 - HIT_TENANT_LIMIT .
- Taken voor gelijktijdige export:
- Per gebruiker of tenant kan slechts één exporttaak tegelijk worden uitgevoerd.
- Alle aanvullende exporttaken worden automatisch in de wachtrij geplaatst totdat de huidige taak is voltooid.
Veelvoorkomende fouten
Validatiefouten:
- JSON voor invoer onjuist.
- Onjuiste SQL-indeling, ongeldig velden/tabelnaam, niet-ondersteunde functies.
- Vangrails: aantal velden > 10000.
- Er is niet voldaan aan de beveiligingsbeperkingen.
Uitvoeringsfouten
- Systeemfouten.
- Gaudrails: mislukt als de extractie meer dan 1 miljard rijen had.
API's downloaden
- Vanwege onvoorziene netwerk- of systeemproblemen is het raadzaam om tijdens het downloaden altijd nieuwe pogingen voor de HTTP- client uit te voeren. Er is een snelheidsbeperking toegepast op het aantal gelijktijdige verbindingen dat met een tenant en een server wordt gemaakt. Mogelijk ziet u af en toe HTTP-statuscodes429of503vanwege deze afgedwongen limieten. De client wordt aangeraden enige tijd te wachten en de aanvraag opnieuw uit te voeren.
Aandachtspunten bij de prestaties
Prestaties gegevensextractie:
- De uitvoeringstijd van de gegevensextractie is afhankelijk van het type gegevens en het aantal rijen en kolommen in de gegevens.
- De uitvoeringstijd neemt toe met de volume gegevens.
Downloadprestaties:
- De totale downloaden voor alle bestandsgrootten neemt lineair af met het aantal processen dat de resultaten downloaden .
- De downloadprestaties kunnen ook worden beïnvloed door de netwerkbandbreedte en de locatie van de tenant .