Condividi tramite


Aggiungere più origini dati

Il generatore di API dati supporta gli endpoint ibridi tramite l'uso di file di origine dati, consentendo di definire più origini dati e le relative entità in file di configurazione separati.

Questa operazione è utile quando:

  • È necessario esporre le entità da più di un database
  • Si vogliono organizzare le configurazioni in modo modulare
  • È necessario gestire in modo indipendente i diversi back-end di dati

Structure

Per definire più origini dati, creare più file di configurazione e farvi riferimento nella data-source-files matrice della configurazione di primo livello.

Top-level file

{
  "data-source-files": [
    "dab-config-sql.json",
    "dab-config-cosmos.json"
  ],
  "runtime": {
    "rest": {
      "enabled": true
    }
  }
}

File figlio: dab-config-sql.json

{
  "data-source": {
    "database-type": "mssql",
    "connection-string": "@env('SQL_CONNECTION_STRING')"
  },
  "entities": {
    "Book": {
      "source": {
        "object": "dbo.Books"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ "read" ] }
      ]
    }
  }
}

File figlio: dab-config-cosmos.json

{
  "data-source": {
    "database-type": "cosmosdb_nosql",
    "connection-string": "@env('COSMOS_CONNECTION_STRING')",
    "database-name": "library"
  },
  "entities": {
    "LoanRecord": {
      "source": {
        "object": "LoanRecords"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ "read" ] }
      ]
    }
  }
}

Behavior

  • Vengono rispettate solo le impostazioni del file di runtime primo livello
  • Ogni file figlio deve contenere sia una sezione che una data-sourceentities
  • I nomi delle entità devono essere univoci a livello globale in tutti i file
  • Le entità definite in file separati non possono farvi riferimento tramite relazioni
  • I file possono essere annidati nelle sottocartelle in base alle esigenze

Benefits

  • Separazione pulita della configurazione per back-end
  • Abilita LE API multi-database scalabili
  • Semplifica la manutenzione per sistemi complessi

Limitations

  • Nessuna relazione tra i file di configurazione
  • Non sono consentiti riferimenti a file circolari
  • Solo il comportamento di runtime dei controlli file di primo livello