Omgevingen & connectie-aliassen

Bepalen waar SQLio zijn data vandaan haalt: per omgeving, per databron

Wat zijn omgevingen en connectie-aliassen?

Een omgeving is een complete, afgescheiden set configuratie: bijvoorbeeld Test en Productie. Elke omgeving heeft een eigen URL-prefix, zodat de API's van test en productie nooit door elkaar lopen.

Een connectie-alias is de logische naam van een databron, bijvoorbeeld nl voor de ERP-database van de Nederlandse vestiging en be voor die van de Belgische. Datasets, API's, webhooks en pipelines verwijzen altijd naar een alias, nooit rechtstreeks naar een database. Per omgeving leg je vast welke database er achter een alias zit.

Daardoor promoveert configuratie ongewijzigd van test naar productie: dezelfde dataset op alias nl leest in Test uit de testdatabase en in Productie uit de productiedatabase.

Alias Omgeving Test Omgeving Productie
nl — Vestiging Nederland SQLioDemo_NL_Test SQLioDemo_NL_Prod
be — Vestiging België SQLioDemo_BE_Test SQLioDemo_BE_Prod

Instructievideo (2:46): aliassen, omgevingen, connecties en een testsessie inrichten.

Voorbereiding

Voordat je een omgeving koppelt, moet de database beheerder (DBA) per doeldatabase twee dingen hebben gedaan:

  1. Een SQL Server-login voor SQLio aanmaken — zie SQL login aanmaken.
  2. De doeldatabase inrichten: de rol SQLioRole, de gebruiker, de queue-tabel en de trigger-procedure — zie Target Database Setup.

De rest doe je in SQLio zelf, via Omgeving beheer in het menu. Je hebt daarvoor de rol Admin of SuperUser nodig.

Omgeving beheer zonder omgevingen en aliassen
Omgeving beheer in een nieuwe installatie: nog geen omgevingen en geen aliassen.

Stap 1: Connectie-aliassen aanmaken

Begin met de aliassen: die heb je nodig om straks de connecties per omgeving vast te leggen. Klik in de kaart Connectie-aliassen op Nieuw.

Veld Verplicht Toelichting
Alias Ja Logische naam, bijvoorbeeld nl, be of erp. Alleen letters, cijfers en underscores.
URL-subprefix Nee Extra stuk in de URL van de API's op deze alias: /api/[omgeving]/[subprefix]/endpoint. SQLio stelt de aliasnaam voor. Leeg laten mag bij hoogstens één alias: die bedient de URL zonder subprefix.
Omschrijving Nee Bijvoorbeeld "Vestiging Nederland".
Volgorde Nee Volgorde in lijsten en keuzemenu's.
Actief Nee Alleen actieve aliassen zijn te kiezen.
Nieuwe alias nl zonder subprefix
De hoofdvestiging nl: subprefix leeggemaakt.
Nieuwe alias be met subprefix be
De Belgische vestiging be krijgt subprefix be.
Tip: Heb je maar één database? Maak dan één alias zonder subprefix. De API-URL's blijven dan kort: /api/test/orders.

Stap 2: Omgevingen aanmaken

Klik in de kaart Omgevingen op Nieuw.

Veld Verplicht Toelichting
Naam Ja Bijvoorbeeld "Test" of "Productie".
Type Ja Test, Acceptatie of Productie. Het type bepaalt onder meer of een testsessie nodig is (zie stap 4).
Omschrijving Nee Korte beschrijving van het doel van de omgeving.
URL Prefix Nee Bepaalt het adres van de API's: test geeft /api/test/.... Laat leeg voor productie: /api/.... SQLio controleert direct of de prefix uniek is.
Kleur Ja Herkenningskleur van de omgeving in de schermen.
Actief Nee Zet een omgeving tijdelijk buiten gebruik.
Bewerkbaar Nee Uitgevinkt is de omgeving alleen-lezen: configuratie wijzig je dan in test en synchroniseer je hierheen. Aan- en uitzetten, uitvoeren en logs bekijken blijft mogelijk. Een omgeving van het type Test is altijd bewerkbaar.
Default Nee De omgeving waar nieuwe gebruikers standaard toegang toe krijgen.
Nieuwe omgeving Test
Test: URL-prefix test, bewerkbaar en default.
Nieuwe omgeving Productie
Productie: geen prefix en niet bewerkbaar.
Let op: Maak productie alleen-lezen (Bewerkbaar uit). Zo voorkom je dat iemand rechtstreeks in productie iets wijzigt: elke wijziging loopt via test en de synchronisatie.

Stap 3: Connecties per omgeving toevoegen

Klap een omgeving open met het pijltje voor de naam en klik op Connectie toevoegen. Per alias leg je vast welke database erachter zit.

Veld Verplicht Toelichting
Alias Ja Elke alias kan per omgeving één keer gekoppeld worden.
Connectiestring Ja Verbinding met de doeldatabase. Met Bouwen stel je hem stap voor stap samen. SQLio slaat de connectiestring versleuteld op.
Omschrijving Nee Bijvoorbeeld "ERP Nederland (test)".
Actief Nee Een inactieve connectie wordt niet gebruikt en niet gecontroleerd.

Klik rechts op Controleren voordat je opslaat. SQLio controleert dan drie dingen:

  1. Connectie — kan SQLio de database bereiken?
  2. Rol en rechten — bestaat SQLioRole en is de login er lid van?
  3. Webhooks — staan de queue-tabel, de index en de trigger-procedure er, met de juiste rechten? Alleen nodig als je op deze database webhooks gebruikt.
Nieuwe connectie met databaseverificatie, alles groen
Alles groen: de database is klaar voor gebruik.

Na het opslaan zie je per connectie de installatiestatus. Voeg op dezelfde manier de connecties voor de andere aliassen en omgevingen toe.

Productie met connecties voor nl en be
Productie gekoppeld aan de productiedatabases van beide vestigingen. De kolom Bindingen toont per alias in hoeveel omgevingen hij gekoppeld is.
Tip: Gebruik je dezelfde database onder twee connecties, dan waarschuwt SQLio bij het opslaan. Klik nogmaals op Toch opslaan als dat bewust is.

Resultaat: de API-adressen

Met deze inrichting krijgt een API-endpoint orders de volgende adressen:

Alias Test Productie
nl (geen subprefix) /api/test/orders /api/orders
be (subprefix be) /api/test/be/orders /api/be/orders

Stap 4: Testsessie starten

Een omgeving die geen productie is, werkt alleen tijdens een actieve testsessie. Zo draait een testomgeving nooit ongemerkt mee. Zonder actieve sessie:

Kies in de kolom Test Sessie een duur van 1 tot 24 uur en klik op Start. Tijdens de sessie kun je hem verlengen of stoppen. Na afloop stopt de verwerking in test vanzelf.

Testsessie starten
Sessie inactief: kies de duur en klik op Start.
Testsessie actief
Sessie actief, met de resterende tijd.
Let op: Data-pipelines zijn niet aan een testsessie gebonden. Die zet je aan en uit met hun eigen schakelaar.

Problemen oplossen

Melding Oorzaak en oplossing
Connectie: Mislukt Server, database of login klopt niet, of de server is niet bereikbaar. Controleer de connectiestring en de firewall.
Rol en rechten: Onvoldoende SQLioRole ontbreekt of de login is er geen lid van. Laat de DBA de Target Database Setup uitvoeren.
queue onvolledig In de doeldatabase ontbreekt een kolom of index van de webhook-queue. Laat de DBA de doeldatabase-migraties van de huidige SQLio-versie uitvoeren.
webhooks ontbreken Op deze alias draaien actieve webhooks, maar de webhookobjecten staan niet in de database. Zie Target Database Setup.
API geeft 404 in test Er is geen actieve testsessie. Start een sessie in Omgeving beheer.