Naar de hoofdinhoud

Een bron uploaden

Geschreven door Jetmir Abdija
Deze week bijgewerkt

Dit artikel is vertaald met behulp van AI en kan kleine onnauwkeurigheden bevatten. Raadpleeg de Engelse versie voor volledige nauwkeurigheid.

BlueDolphin-bronnen vertegenwoordigen stukjes informatie die afkomstig zijn van externe bedrijfsmiddelen. Je kunt ze zien als aparte containers of tabellen met gegevens die verder gebruikt kunnen worden om objecten en relaties aan te maken en te verrijken.

Overzicht van het uploaden van een bron:

  1. Gegevens verzamelen en voorbereiden om te uploaden.

  2. Het bestand plaatsen op de Blob Storage met de File Sharing API.

  3. De import starten met de Sources API.

MG - Uploading a source.png

Volg de stappen in dit artikel om een nieuwe bron te uploaden in je BlueDolphin-omgeving via de API.

Vereisten

Om BlueDolphin API's te gebruiken voor het maken van integraties, heb je het volgende nodig:

  • Een BlueDolphin-omgeving

  • Een API-sleutel ingesteld om in dit voorbeeld te gebruiken in je BlueDolphin-omgeving

Stap 1: Bereid het bestand voor om te uploaden

Om een nieuwe bron in BlueDolphin aan te maken, moet je verbinding maken met je externe gegevensbronnen om alle benodigde data te verzamelen en deze omzetten naar het vereiste Dataset XML-formaat.

  1. Maak verbinding met je bron en laad de gegevens.

  2. Zet de gegevens om naar het Dataset XML-formaat.

Het is belangrijk om ook het schema in het bestand op te nemen, niet alleen de Dataset-inhoud.

Voorbeeldbestand

De inhoud van het bestand Applicationsyyyymmdd.xml:

<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="ApplicationsDataTable" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="ApplicationsDataTable">
<xs:complexType>
<xs:sequence>
<xs:element name="Application_ID" type="xs:string" minOccurs="0" />
<xs:element name="Name" type="xs:string" minOccurs="0" />
<xs:element name="Version" type="xs:string" minOccurs="0" />
<xs:element name="Vendor" type="xs:string" minOccurs="0" />
<xs:element name="Category" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<ApplicationsDataTable>
<Application_ID>5npOMiLzKK</Application_ID>
<Name>Google Chrome</Name>
<Version>97.0.4692</Version>
<Vendor>Google Inc.</Vendor>
<Category>Browsers</Category>
</ApplicationsDataTable>
<ApplicationsDataTable>
<Application_ID>ugumq9vKF2</Application_ID>
<Name>Mozilla Firefox</Name>
<Version>96.0.1</Version>
<Vendor>Mozilla</Vendor>
<Category>Browsers</Category>
</ApplicationsDataTable>
<ApplicationsDataTable>
<Application_ID>yXmx2D5F17</Application_ID>
<Name>Notepad++</Name>
<Version>8.2</Version>
<Vendor>Notepad++ Team</Vendor>
<Category>Code editor</Category>
</ApplicationsDataTable>
<ApplicationsDataTable>
<Application_ID>rfAh8ttZ5H</Application_ID>
<Name>VLC media player</Name>
<Version>3.0.16</Version>
<Vendor>VideoLAN</Vendor>
<Category>Media player</Category>
</ApplicationsDataTable>
<ApplicationsDataTable>
<Application_ID>xvqVA5OoWj</Application_ID>
<Name>Visual Studio Code</Name>
<Version>1.63.2</Version>
<Vendor>Microsoft</Vendor>
<Category>Code editor</Category>
</ApplicationsDataTable>
</NewDataSet>

Stap 2: Upload het bestand met de File Sharing API

BlueDolphin gebruikt Azure Blob Storage voor het uitwisselen van grote hoeveelheden informatie. Elke tenant heeft een eigen opslagruimte, dus de gegevens voor de bron moeten worden geüpload naar de blob storage.

Om te kunnen uploaden, heb je een schrijf-shared access signature token (SAS) nodig voor de opslagcontainer. Je kunt deze aanvragen met de File Sharing API. Zodra je de URI hebt, kun je het bestand in de container plaatsen.

1. Haal een schrijf-toegangsstring op

$ curl -X GET "https://{base}/api/v1/sharedaccessstring/write" \
-H "apiKey: f08a2bb9-3ab4-451a-9099-2ef531375147" \
-H "tenant: contoso"

Vervang:

  • {base} door "services.eu.bluedolphin.app" of "services.us.bluedolphin.app", voor respectievelijk EU- en US-tenants.

De teruggegeven data is een SAS-URI en de URI heeft deze structuur: https://{blob_base}/{container}?{credentials}.

Dit verwijst naar de opslagcontainer van de tenant en geeft je de mogelijkheid om elk bestand te uploaden. De link verloopt binnen vier uur.

{
"error_code": 0,
"error_message": null,
"error_message_explain": null,
"data": "https://bddatastorageprd.blob.core.windows.net/97e78613-795e-4fc3-9cb1-d8ce344ea6ab?sv=2018-03-28&sr=c&sig=HsfuH%2B8Iqz2iN1tklQW7H5TVwEQuFr9mpZL9nn60d4M%3D&se=2022-01-17T13%3A30%3A05Z&sp=w"
}

2. Pas de URI aan/voeg de naam van het bestand toe na het container-gedeelte

https://{blob_base}/{container}/{filename}?{credentials}

De uiteindelijke URI:

https://bddatastorageprd.blob.core.windows.net/97e78613-795e-4fc3-9cb1-d8ce344ea6ab/Applicationsyyyymmdd.xml?sv=2018-03-28&sr=c&sig=HsfuH%2B8Iqz2iN1tklQW7H5TVwEQuFr9mpZL9nn60d4M%3D&se=2022-01-17T13%3A30%3A05Z&sp=w

Om problemen te voorkomen, wordt aangeraden om een unieke bestandsnaam te gebruiken voor een nieuw blob-bestand, omdat deze tijdens het verwerken mogelijk wordt vervangen.

3. Upload het bestand met de nieuwe URI

$ curl -X PUT "https://bddatastorageprd.blob.core.windows.net/97e78613-795e-4fc3-9cb1-d8ce344ea6ab/Applicationsyyyymmdd.xml?sv=2018-03-28&sr=c&sig=HsfuH%2B8Iqz2iN1tklQW7H5TVwEQuFr9mpZL9nn60d4M%3D&se=2022-01-17T13%3A30%3A05Z&sp=w" \
-H "x-ms-blob-type: BlockBlob" \
-H "Content-Type: application/xml; charset=UTF-8" \
--data-binary "@Applicationsyyyymmdd.xml"


Bij het uploaden van de BlockBlob moet je de charset specificeren in je verzoek (standaard ISO-8859-1).

Dit verzoek gebruikt de Azure Storage API, meer informatie over de Put Blob-operatie.

Stap 3: Start de import

Nadat het bestand op de opslag is geplaatst, kun je een verzoek sturen naar de BlueDolphin Sources API om de verwerking te starten.

1. Bereid de parameters voor

{
"blobFileName": "<file-name>",
"collectionName": "<collection-name>",
"indexedFields": "<indexed-fields>"
}

Vervang:

  • <file-name> door de naam die is gebruikt bij het uploaden van het bestand, bijvoorbeeld "Applicationsyyyymmdd.xml".

  • <collection-name> door de naam die deze externe bron identificeert in BlueDolphin, bijvoorbeeld "Source_Applications".

  • <indexed-fields> door de naam van de kolom die de unieke identifier/primary key vertegenwoordigt. In het geval van samengestelde sleutels kan dit een kommagescheiden lijst van kolommen zijn. Zorg ervoor dat de data onder ‘indexedFields’ uniek is, want de API controleert dit niet.

2. Stuur een verzoek om de import te starten

$ curl -X POST "https://{base}/api/v1/datasources" \
-H "apiKey: f08a2bb9-3ab4-451a-9099-2ef531375147" \
-H "tenant: contoso"
-H "Content-Type: application/json"
--data-raw '{
"blobFileName": "sourceFile.xml",
"collectionName": "Source_Applications",
"indexedFields": "Application_ID"
}'

Vervang:

  • {base} door "services.eu.bluedolphin.app" of "services.us.bluedolphin.app", voor respectievelijk EU- en US-tenants.

Je ontvangt een reactie zoals hieronder, wat aangeeft dat het verzoek is ontvangen en de import op de achtergrond wordt uitgevoerd:

{
"error_code": 0,
"error_message": null,
"error_message_explain": null,
"data": true
}

Nadat de import is verwerkt, wordt het bestand verwijderd uit de Blob Storage.

Controleer het resultaat

De nieuw geüploade bron verschijnt in BlueDolphin Admin > Bronnen.

Source import result.png

Je kunt de bron ook terugvinden in de lijst met alle bronnen die je kunt ophalen met de Sources API.

Volgende stappen

Wil je meer weten over data importeren/exporteren? Zie Downloaden van een rapport.

Was dit een antwoord op uw vraag?