Aracılığıyla paylaş


Veri API'si oluşturucu yapılandırma şeması başvurusu

Veri API'sini oluşturucunun çalışması için en az bir yapılandırma dosyası gerekir. Bu JSON tabanlı dosya, ortam ayarlarından varlık tanımlarına kadar API kurulumunuzu tanımlar. Dosyanın geri kalanı için şema doğrulamasını etkinleştiren bir $schema özellik ile başlar.

Top-level properties

Property Description
$schema Bu yapılandırma için JSON şemasının URI'sini.
data-source Veritabanı bağlantı ayarlarını içeren nesne.
data-source-files Diğer yapılandırma dosyası yollarının dizisi.
runtime Çalışma zamanı davranışlarını yapılandıran nesne.
entities REST veya GraphQL aracılığıyla kullanıma sunulan tüm varlıkları tanımlayan nesne.

Data-source properties

Property Description
data-source Veritabanı bağlantı ayarlarını içeren nesne.
data-source.database-type Arka uçta kullanılan veritabanı türü (mssql, postgresql, mysql, cosmosdb_nosql, cosmosdb_postgresql).
data-source.connection-string Seçili veritabanı türü için bağlantı dizesi.
data-source.options Veritabanına özgü seçenekler ve gelişmiş ayarlar.
data-source.health Veri kaynağı için sistem durumu denetimi yapılandırması.
data-source-files Diğer yapılandırma dosyası yollarının dizisi.

Runtime properties

Property Description
runtime Çalışma zamanı davranışlarını yapılandıran nesne.
runtime.pagination API yanıtları için sayfalandırma ayarları.
runtime.rest REST API genel yapılandırması.
runtime.graphql GraphQL API genel yapılandırması.
runtime.cache Genel yanıt önbelleğe alma yapılandırması.
runtime.telemetry Telemetri, günlüğe kaydetme ve izleme yapılandırması.
runtime.health Genel sistem durumu denetimi yapılandırması.

Entities properties

Property Description
entities REST veya GraphQL aracılığıyla kullanıma sunulan tüm varlıkları tanımlayan nesne.
entities.entity-name.source Varlık için veritabanı kaynağı ayrıntıları.
entities.entity-name.rest Varlık için REST API yapılandırması.
entities.entity-name.graphql Varlık için GraphQL API yapılandırması.
entities.entity-name.permissions Varlık için izinler ve erişim denetimi.
entities.entity-name.relationships Diğer varlıklarla ilişkiler.
entities.entity-name.cache Varlık düzeyinde önbelleğe alma yapılandırması.
entities.entity-name.health Varlık düzeyinde sistem durumu denetimi yapılandırması.

Schema

Parent Property Type Required Default
$root $schema string ✔️ Yes None

Each configuration file begins with a $schema property, specifying the JSON schema for validation.

Format

{
  "$schema": <string>
}

Example

{
  "$schema": "https://github.com/Azure/data-api-builder/releases/latest/download/dab.draft.schema.json"
}

Versioning

Şema dosyaları, doğru sürümü veya en son kullanılabilir şemayı kullanabilmenizi sağlayan belirli URL'lerde kullanılabilir.

https://github.com/Azure/data-api-builder/releases/download/<VERSION>-<suffix>/dab.draft.schema.json

VERSION-suffix istediğiniz sürümle değiştirin.

https://github.com/Azure/data-api-builder/releases/download/v0.3.7-alpha/dab.draft.schema.json

Veri kaynağı dosyaları

Parent Property Type Required Default
$root data-source-files string array ❌ Hayır None

Veri API oluşturucusu, birden çok yapılandırma dosyasını destekler ve bunlardan biri en üst düzey dosya yönetim runtime ayarları olarak belirlenir. Tüm yapılandırmalar aynı JSON şemasını paylaşır ve runtime hata olmadan herhangi bir dosyada veya her dosyada ayarlara izin verir. Daha iyi bir kuruluş için varlıkları bölün.

Tek bir yapılandırma dosyasında dizi olarak başvurulan birden çok yapılandırma dosyasının diyagramı.

Format

{
  "data-source-files": [ "<string>" ]
}

Birden çok yapılandırma kuralı

  • Her yapılandırma dosyası data-source özelliğini içermelidir.
  • Her yapılandırma dosyası entities özelliğini içermelidir.
  • Üst düzey yapılandırma içermelidir runtime.
  • Alt yapılandırmalar içerebilir runtime, ancak yoksayılır.
  • Alt yapılandırma dosyaları kendi alt dosyalarını içerebilir.
  • Yapılandırma dosyaları alt klasörler halinde düzenlenebilir.
  • Varlık adları tüm yapılandırma dosyalarında benzersiz olmalıdır.
  • Farklı yapılandırma dosyalarındaki varlıklar arasındaki ilişkiler desteklenmez.

Examples

{
  "data-source-files": [
    "dab-config-2.json",
    "my-folder/dab-config-3.json",
    "my-folder/my-other-folder/dab-config-4.json"
  ]
}