Naar de hoofdinhoud

Een bron uploaden

Geschreven door Jetmir Abdija

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 je verder kunt gebruiken 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 Bronnen 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 integraties, heb je het volgende nodig:

  • Een BlueDolphin-omgeving

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

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 ook belangrijk om het schema in het bestand op te nemen, niet alleen de inhoud van de Dataset.

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 via de File Sharing API. Zodra je de URI hebt, kun je het bestand in de container plaatsen.

1. Haal een schrijftoegang-string 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 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 Bronnen 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 je hebt gebruikt bij het uploaden van het bestand, bijvoorbeeld "Applicationsyyyymmdd.xml".

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

  • <indexed-fields> door de naam van de kolom die de unieke identifier/primairy key weergeeft. Bij samengestelde sleutels kan dit een komma-gescheiden 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 antwoord 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 zojuist geüploade bron verschijnt in BlueDolphin Admin > Bronnen.

Source import result.png

Je vindt de bron ook terug in de lijst met alle bronnen die je kunt ophalen met de Bronnen API.

Was dit een antwoord op uw vraag?