Aracılığıyla paylaş


Sürüm 0.11 ve önceki sürümlerdeki yenilikler

Data API builder sürüm 0.11 ve önceki sürümlerdeki tüm güncelleştirmeler ve geliştirmeler hakkında sürüm notları ve bilgiler.

Sürüm 0.11'deki yenilikler

Data API builder sürüm 0.10'daki güncelleştirmeler ve geliştirmeler hakkında sürüm notları ve bilgiler.

SQL Veri Ambarı için GraphQL desteği

SQL Veri Ambarı artık GraphQL uç noktalarını destekliyor.

NoSQL için gelişmiş Azure Cosmos DB filtrelemesi

NoSQL için Azure Cosmos DB artık işleciyle iç içe filtreler, kimlik değişkenleri ve dize dizisi aramaları desteğine contains sahiptir.

Komut satırı arabirimiyle uygulama veri toplamayı etkinleştirme

Artık Application Insights ile veri toplamayı etkinleştirmek için DAB komut satırı arabirimini (CLI) kullanabilirsiniz.

Sürüm 0.10'daki yenilikler

Data API builder sürüm 0.10'daki güncelleştirmeler ve geliştirmeler hakkında sürüm notları ve bilgiler.

Genel Kullanılabilirliğe yaklaştıkça odağımız kararlılığımızı artırıyor. Kod kalitesi ve altyapı kararlılığındaki tüm çabalar bu makalede ayrıntılı olarak açıklanmasa da, bu listede önemli güncelleştirmeler vurgulanır.

GitHub sürüm notları

Tüm değişikliklerin ve iyileştirmelerin kapsamlı bir listesi için bu sürüm sayfalarını gözden geçirin:

Bellek içi önbellek

Sürüm 0.10, REST ve GraphQL uç noktaları için bellek içi önbelleğe alma özelliğini kullanıma sağlar. İç önbelleğe alma için tasarlanan bu özellik, gelecekte dağıtılan önbelleğe alma için temelleri oluşturur. Bellek içi önbelleğe alma, yinelenen sorgulardan veritabanı yükünü azaltır.

Önbelleğe Alma Senaryoları

  • Veritabanı yükünü azaltma: Önbellek pahalı sorguların sonuçlarını depolayarak yinelenen veritabanı çağrılarına olan ihtiyacı ortadan kaldırır.
  • API ölçeklenebilirliğini geliştirme: Önbelleğe alma, veritabanı isteklerini artırmadan daha sık YAPıLAN API çağrılarını destekler ve API'nizin özelliklerini önemli ölçüde ölçeklendirir.

Yapılandırma Değişiklikleri

Önbelleğe alma ayarları bölümünde ve her varlık için kullanılabilir runtime ve ayrıntılı denetim sunar.

Çalışma zamanı ayarları:

{
  "runtime": {
    "cache": {
      "enabled": true,
      "ttl-seconds": 6
    }
  }
}
  • Önbelleğe alma varsayılan olarak devre dışıdır.
  • Varsayılan yaşam süresi (TTL) 5 saniyedir.

Varlık ayarları:

{
  "Book": {
    "source": {
      "object": "books",
      "type": "table"
    },
    "graphql": {
      "enabled": true,
      "type": {
        "singular": "book",
        "plural": "books"
      }
    },
    "rest": {
      "enabled": true
    },
    "permissions": [
      {
        "role": "anonymous",
        "actions": [
          {
            "action": "*"
          }
        ]
      }
    ],
    "cache": {
      "enabled": true,
      "ttl-seconds": 6
    }
  }
}

CLI'da Yapılandırma Doğrulaması

CLI artık yapılandırma dosyalarının hatalar veya tutarsızlıklar açısından denetlenerek geliştirme iş akışının geliştirilmesini destekliyor dab validate .

Doğrulama Adımları

  1. Şema doğrulaması
  2. Yapılandırma özellikleri doğrulaması
  3. Yapılandırma izni doğrulaması
  4. Veritabanı bağlantı doğrulaması
  5. Varlıklar Meta Veri doğrulaması

Önizleme Özellikleri

  • İlk DWSQL desteği. #1864
  • Birden çok veri kaynağı için destek. #1709

Sürüm 0.9'daki yenilikler

Data API Builder 0.9'daki en ilgili değişiklikler ve iyileştirmeler hakkında ayrıntılı bilgi aşağıda verilmiştir.

GitHub sürüm notları

Tüm değişikliklerin ve iyileştirmelerin kapsamlı bir listesi için bu sürüm sayfalarını gözden geçirin:

DAB'yi kendi kendine barındırırken Application Insights'ı etkinleştirme

Günlükler artık daha iyi bir izleme ve hata ayıklama deneyimi için, özellikle De Data API builder Azure'da dağıtıldığında Application Insights'a aktarılabilir. Application Insights ile tümleştirmeyi etkinleştirmek ve yapılandırmak için yapılandırma dosyasına yeni telemetry bir bölüm eklenebilir:

"telemetry": {
    "application-insights": {
    "enabled": true,    // To enable/disable application insights telemetry
    "connection-string": "{APP_INSIGHTS_CONNECTION_STRING}" // Application Insights connection string to send telemetry
    }
}

Application Insights belgelerini kullanma sayfasındaki tüm ayrıntıları okuyun.

REST isteği gövdesindeki fazlalık alanları yoksayma desteği

Yeni request-body-strict seçenekle, ARTıK REST yükünde ek alanın olması hata mı (varsayılan davranış, geriye dönük uyumlu) oluşturur veya ek alanların sessizce yoksayılıp yoksayıldığına karar verebilirim.

"runtime": {
    "rest": {
      "enabled": true,
      "path": "/api",
      "request-body-strict": true
    },
    ...
}

seçeneği falseolarak ayarlanarakrequest-body-strict, ilgili veritabanı nesnesine eşlemesi olmayan alanlar hata oluşturmadan yoksayılır.

Bağlantılar için mssql Uygulama Adı ekleme

Veri API oluşturucusu artık bağlantı dizesine yalnızca veritabanı türleri için mssql özellik olarak Application Name değeri dab-<version> ekler ve bu da veritabanı sunucusundaki bağlantıların tanımlanmasını kolaylaştırır. Bağlantı dizesinde zaten varsa Application Name , Buna Data API builder sürümü eklenir.

'de veri türünü destekleme timemssql

time veri türü artık veritabanlarında mssql desteklenmektedir.

Tetkiklerle birlikte tablodaki mutasyonlar mssql

Mutasyonlar artık veritabanları için mssql tetikleyiciler içeren tablolarda tam olarak desteklenmektedir.

Tablodaki salt okunur alanların kullanıcıya göre güncelleştirilmesini/eklenmesini engelleme

Veritabanının salt okunur alanlarını otomatik olarak algılayın ve bu alanların kullanıcıya göre güncelleştirilmesini/eklenmesini engelleyin.

Sürüm 0.8'deki yenilikler

Data API builder 0.8'deki en ilgili değişiklikler ve iyileştirmeler hakkında ayrıntılı bilgiler aşağıda verilmiştir.

GitHub sürüm notları

Tüm değişikliklerin ve iyileştirmelerin kapsamlı bir listesi için bu sürüm sayfalarını gözden geçirin:

.env dosyası için destek eklendi

Ortam değişkenleri gizli dizileri düz metin pozlamasından korur ve farklı ayarlarda değer değişimine izin verir. Ancak, bu değişkenlerin kullanıcı veya bilgisayar kapsamında ayarlanması gerekir; bu durum, değişken adları çoğaltılırsa çapraz proje değişkeninin "kanamasına" neden olabilir. Ortam dosyaları daha iyi bir alternatiftir. Daha fazla bilgi için bkz. Veri API'si oluşturucusunda ortam dosyaları - blog.

Sürüm 0.7.6'daki yenilikler

Bu makalede 0.7.6 sürümünün sürüm notları açıklanmaktadır.

GitHub çekme istekleri

OpenAPI v3-0-1 açıklama belgesi oluşturma için İlk Destek

Veri API'si oluşturucusu, hizmet hakkında yararlı bilgiler içeren açıklama belgeleri oluşturmak ve kullanıma açmak için OpenAPI standardını destekler. Bu belgeler çalışma zamanı yapılandırma dosyasından ve her veritabanı nesnesinin meta verilerinden oluşturulur. Bu nesneler, aynı yapılandırma dosyasında tanımlanan REST özellikli bir varlıkla ilişkilendirilir. Daha sonra bir kullanıcı arabirimi aracılığıyla kullanıma sunulur ve serileştirilmiş dosya olarak kullanılabilir hale getirilir.

OpenAPI ve Veri API'si oluşturucusunun özellikleri hakkında daha fazla bilgi için bkz. OpenAPI.

Yapılandırma dosyalarının birleştirilmesine izin verme

İki yapılandırma dosyasını otomatik olarak birleştirme özelliğini ekler.

Ortama özgü ayarların yönetimini basitleştirmek için temel ve ortama özgü yapılandırma dosyalarının birden çok çiftini korumak mümkündür. Örneğin, Geliştirme ve Üretim için ayrı yapılandırmalar tutmak mümkündür. Bu adım, farklı ortamlar arasındaki tüm ortak ayarları içeren bir temel yapılandırma dosyası içerir. Ardından değişkenini DAB_ENVIRONMENT ayarlayarak, Veri API oluşturucusu tarafından kullanılmak üzere birleştirilecek yapılandırma dosyalarını denetlemek mümkündür.

Daha fazla bilgi için bkz. CLI başvurusu.

Bir işlemde GraphQL ve REST Mutasyonlarını Yürütme

Veri API oluşturucusu, belirli türde GraphQL ve REST isteklerini yürütmek için veritabanı işlemleri oluşturur.

Gerçekleştirmek için birden fazla veritabanı sorgusu yapmayı içeren birçok istek vardır. Örneğin, bir güncelleştirmenin sonuçlarını döndürmek için önce güncelleştirme için bir sorgu yapılmalıdır, ardından yeni değerlerin döndürülmeden önce okunması gerekir. Bir isteğin yürütülmesi için birden çok veritabanı sorgusu gerektiğinde, Veri API oluşturucusu artık bu veritabanı sorgularını tek bir işlem içinde yürütür.

Bu özellik hakkında daha fazla bilgiyi REST bağlamında, REST belgelerinde ve GraphQL belgelerindeki GraphQL'de bulabilirsiniz.

Sürüm 0.6.14'teki yenilikler

Bu makalede, Azure Veritabanları için Veri API oluşturucusu için Mart 2023 sürümüne yönelik düzeltme eki açıklanmaktadır.

Hata Düzeltmeleri

  • Cosmos için sorgu filtresi erişimi reddedildi sorununu giderin.
  • Cosmos DB şu anda alan düzeyinde yetkilendirmeyi desteklememektedir. Kullanıcıların çalışma zamanı yapılandırmasındaki field izinleri yanlışlıkla geçirmesi durumundan kaçınmak için bir doğrulama denetimi ekledik.

Sürüm 0.6.13'teki yenilikler

Bu sürüm için sürüm notlarının tam listesi GitHub'da bulunur: https://github.com/Azure/data-api-builder/releases/tag/v0.6.13.

GraphQL şemasını dışarı aktarmak için yeni CLI komutu

GraphQL şemasını dışarı aktarmak için yeni bir seçenek eklenir. Bu işlem DAB sunucusunu başlatır ve sağlanan konuma yazmadan önce şemayı almak için sorgular.

dab export --graphql -c dab-config.development.json -o ./schemas

Bu komut, ./schemas dizininde GraphQL şema dosyasını oluşturur. Yapılandırma dosyasının yolu isteğe bağlı bir parametredir ve 'dab-config' dışında varsayılan olarak 'dab-config.json' olarak ayarlanır.<>DAB_ENVIRONMENT.json' vardır ve burada DAB_ENVIRONMENT bir ortam değişkenidir.

MsSql için eylem oluşturma için veritabanı ilkesi desteği

Veritabanı ilkeleri artık MsSql için tüm CRUD (Oluşturma, Okuma, Güncelleştirme, Silme) işlemleri için desteklenmektedir. Örnek:

"entities":{
  "Revenue":{
    "source": "revenues",
    "permissions":[
      "role": "authenticated",
          "actions": [
            {
              "action": "Create",
              "policy": {
                "database": "@item.revenue gt 0"
              }
            },
            "read",
            "update",
            "delete"
          ]
    ]
  }
}

Varlık için Revenue önceki yapılandırma, rolle Authenticated ekleme işlemi gerçekleştiren kullanıcının sıfırdan küçük veya sıfıra eşit gelire sahip bir kayıt oluşturmasına izin verilmediğini gösterir.

CLI aracılığıyla GraphQL yolunu yapılandırma ve REST ve GraphQL uç noktalarını genel olarak devre dışı bırakma olanağı

Şimdi komutu için init üç seçeneği daha destekliyoruz:

  • graphql.path : Özel GraphQL yolu sağlamak için
  • rest.disabled: REST uç noktalarını genel olarak devre dışı bırakmak için
  • graphql.disabled: GraphQL uç noktalarını genel olarak devre dışı bırakmak için

Örneğin, bir init komut çalışma zamanı bölümüne sahip bir yapılandırma dosyası oluşturur:

dab init --database-type mssql --rest.disabled --graphql.disabled --graphql.path /gql
"runtime": {
    "rest": {
      "enabled": false,
      "path": "/api"
    },
    "graphql": {
      "allow-introspection": true,
      "enabled": false,
      "path": "/gql"
    },
}

CLI'da görünümleri eklemek ve güncelleştirmek için önemli alanlar zorunlu

Artık kullanıcının CLI aracılığıyla yapılandırmaya yeni bir veritabanı görünümü (aracılığıyladab add) eklediğinizde kullanıma sunulan seçenek source.key-fields aracılığıyla anahtar alanlarını (birincil anahtar olarak kullanılacak) sağlaması zorunlu hale geldi. Ayrıca, CLI aracılığıyla yapılandırma dosyasında görünümün yapılandırmasındaki (aracılığıyla dab update) herhangi bir öğe güncelleştirildiğinde, güncelleştirme temel alınan veritabanındaki görünümün tanımıyla ilgili herhangi bir şeyi değiştirirse (örneğin, kaynak türü, anahtar alanları), güncelleştirme komutunda anahtar alanlarının da belirtilmesi zorunlu olur.

Ancak, yapılandırmada belirtik birincil anahtarlar belirtilmeden görünümleri desteklemeye devam ediyoruz, ancak bu tür görünümlerin yapılandırmasının doğrudan yapılandırma dosyasına yazılması gerekir.

Örneğin, görünüm eklemek için bir dab add komut kullanılır:

dab add books_view --source books_view --source.type "view" --source.key-fields "id" --permissions "anonymous:*" --rest true --graphql true

Bu komut, varlık için books_view şu örneğe benzer bir yapılandırma oluşturur:

"books_view": {
      "source": {
        "type": "view",
        "object": "books_view",
        "key-fields":[
          "id"
        ]
      },
      "permissions": [
        {
          "role": "anonymous",
          "actions": [
            "*"
          ]
        }
      ],
      "rest": true,
      "graphql": true
    }

DAB artık açık kaynaklı olduğundan yapıtları depolama hesabından indirmemiz gerekmez. Bunun yerine, bunları doğrudan GitHub'dan indirebiliriz. Bu nedenle bağlantılar uygun şekilde güncelleştirilir.

Sürüm 0.5.34'teki yenilikler

Bu sürüm için sürüm notlarının tam listesi GitHub'da bulunur: https://github.com/Azure/data-api-builder/releases/tag/v0.5.34.

Çalışma zamanı düzeyinde REST ve GraphQL etkin bayrağını kabul edin

Çalışma zamanı düzeyindeki tüm varlıklar için REST/GraphQL isteklerini etkinleştirmeye veya devre dışı bırakmaya izin vermek için yeni bir seçenek eklenir. Genel olarak devre dışı bırakılırsa, bağımsız varlık ayarlarından bağımsız olarak REST veya GraphQL istekleri aracılığıyla hiçbir varlığa erişilemez. Genel olarak etkinleştirilirse, varlık düzeyi ayarları tarafından açıkça devre dışı bırakılmadığı sürece tek tek varlıklara varsayılan olarak erişilebilir.

"runtime": {
    "rest": {
      "enabled": false,
      "path": "/api"
    },
    "graphql": {
      "allow-introspection": true,
      "enabled": false,
      "path": "/graphql"
    }
  }

İstek günlüklerindeki bağıntı kimliği

Hata ayıklamaya yardımcı olmak için, bir istek sırasında oluşturulan tüm günlüklere bağıntı kimliği ekleriz. Birçok istekte bulunulabileceğinden, belirli bir isteğin günlüklerini tanımlamanın bir yolunun olması hata ayıklama işlemine yardımcı olmak için önemlidir.

Altyapı ve CLI'da Saklı Yordamlar için Joker Karakter İşlem Desteği

Saklı yordamlar için roller artık joker * karakter eylemiyle yapılandırılabilir, ancak yalnızca eyleme execute genişletilebilir.

Sürüm 0.5.32'deki yenilikler

Bu sürüm için sürüm notlarının tam listesi GitHub'da bulunur: https://github.com/Azure/data-api-builder/releases/tag/v0.5.32-beta.

CLI aracılığıyla rest yolunu özelleştirme olanağı

REST API'lerinin yolunu özelleştirmek için komutta init yeni bir seçenek --rest.path sunulur.

dab init --database-type mssql --connection-string "Connection-String" --rest.path "rest-api" 

Bu komut REST uç noktalarını ön ekiyle rest-apiyapılandırıyor. REST uç noktalarının tam yolu şudur: https://<dab-server>/rest-api/<entity-name>

Seçenek kullanılmadığında --rest.path , REST uç noktaları varsayılan ön ek apiile yapılandırılır. Bu durumda tam yol şudur: https://<dab-server>/api/<entity-name>

MAR'da Veri API'si oluşturucu kapsayıcı görüntüsü

Azure Veritabanları için Veri API oluşturucusunun resmi docker görüntüleri artık Microsoft Artifact Registry'de kullanılabilir.

Yayımlanan görüntüleri kullanma yönergeleri için bkz. Microsoft container registry - Data API builder.

GraphQL parçaları desteği

Parçalar bir graphQL sorgusunun yeniden kullanılabilir bir parçasıdır. Aynı alanların farklı sorgularda sorgulanması gereken senaryolarda, yinelenen alanlar parça olarak adlandırılan tek bir yeniden kullanılabilir bileşende birleştirilebilir.

Parçalar hakkında daha fazla bilgi için bkz. GraphQL sorguları.

Türü olarak adlandırılan descriptionCharacter bir parça daha sonra tanımlanır:

fragment description on Character {
  name
  homePlanet
  primaryFunction
}

Tanımlanan parçadan yararlanan bir GraphQL sorgusu burada gösterildiği gibi oluşturulabilir:

{
  Player1: Player{
    id
    playerDescription{
        ...description
    }
  }
}

Önceki sorgu için sonuç aşağıdaki alanları içerir:

{
 Player1: Player{
    id
    playerDescription{
        name
        homePlanet
        primaryFunction
    }
  }   
}

BinSkim'i açma ve Policheck uyarılarını düzeltme

BinSkim, derleyici/bağlayıcı ayarlarını ve güvenlikle ilgili diğer ikili özellikleri doğrulayan Taşınabilir Yürütülebilir (PE) hafif bir tarayıcıdır. Her işlem hattı çalıştırmasıyla BinSkim taramaları gerçekleştirmek için işlem hattında static-tools bir işlem hattı görevi eklenir. PoliCheck sistemi, Genel Hazırlık ilkesinin bir parçası olarak Metin ve Kod Gözden Geçirme Gereksinimi ile uyumlu kalmaya yardımcı olan bir araç ve veri kümesidir. Policheck taramaları tarafından oluşturulan uyarılar, hassas terimlerle uyumlu olacak şekilde düzeltildi.

Sürüm 0.5.0'daki yenilikler

Bu sürüm için sürüm notlarının tam listesi GitHub'da bulunur: https://github.com/Azure/data-api-builder/releases/tag/v0.5.0-beta.

Genel JSON Şeması

JSON Şemalarını destekleyen Visual Studio Code gibi bir IDE kullanıyorsanız, genel JSON şeması "intellisense" için destek sağlar. Klasördeki basic-empty-dab-config.jsonsamples dosyanın el ile oluşturulurken dab-config.json örnek bir başlangıç noktası vardır.

Genel Microsoft.DataApiBuilder NuGet

Microsoft.DataApiBuilder artık aşağıda gösterildiği gibi dotnet aracını kullanarak yükleme kolaylığı için burada genel bir NuGet paketi olarak kullanılabilir:

dotnet tool install --global Microsoft.DataApiBuilder

Azure SQL'de saklı yordamlar için yeni execute eylem

Yapılandırma dosyasının bölümünde izin verilen tek eylem olarak yeni execute bir eylem permissions sunulur, ancak kaynak türü bir varlığını stored-proceduredestekliyorsa. Varsayılan olarak, bu tür varlıklar için yalnızca POST yönteme izin verilir ve yalnızca GraphQL mutation işlemi adlarına eklenen ön ek execute ile yapılandırılır. Yapılandırma dosyasının bölümünde izin verilen methodsrest öğesini açıkça belirtmek bu davranışı geçersiz kılar. Benzer şekilde, GraphQL operationgraphql için bölümündeki bölümü geçersiz kılınabilir query . Daha fazla bilgi için bkz. görünümler ve saklı yordamlar.

Yeni mappings bölüm

Her entityöğesinin mappings altındaki bölümde, veritabanı nesnesi alan adları ile karşılık gelen kullanıma sunulan alan adları arasındaki eşlemeler hem GraphQL hem de REST uç noktaları için tanımlanır.

Biçim:

<database_field>: <entity_field>

Örnek:

  "mappings":{
    "title": "descriptions",
    "completed": "done"
  }

title İlgili veritabanı nesnesindeki alan GraphQL türündeki veya REST isteği ve yanıt yükündeki alanla eşlenirdescription.

Azure SQL'de Oturum Bağlamı desteği

Ek bir Güvenlik katmanını (örneğin, Satır Düzeyi Güvenlik (RLS) etkinleştirmek için DAB artık SESSION_CONTEXT aracılığıyla temel alınan Sql Server veritabanına veri göndermeyi destekliyor. Daha fazla ayrıntı için lütfen SESSION_CONTEXT: Çalışma Zamanı-Veritabanı Yetkilendirmesi hakkındaki bu ayrıntılı belgeye bakın.

PostgreSQL'de belge içindeki iç içe nesnelere filtre uygulama desteği

PostgreSQL ile artık şemanızda tanımlanan nesne veya dizi ilişkisini kullanabilirsiniz. Bu, tıpkı Azure SQL gibi iç içe nesneler üzerinde filtreleme işlemleri gerçekleştirmenizi sağlar.

query {
  books(filter: { series: { name: { eq: "Foundation" } } }) {
    items {
      title
      year
      pages
    }
  }
}

Cosmos DB NoSQL'de skaler liste desteği

Artık Cosmos DB için Skalers sorgulama List özelliği eklenmiştir.

Bu tür tanımını göz önünde bulundurun.

type Planet @model(name:"Planet") {
    id : ID,
    name : String,
    dimension : String,
    stars: [Star]
    tags: [String!]
}

Artık aşağıdaki gibi bir Liste getiren bir sorgu çalıştırabilirsiniz:

query ($id: ID, $partitionKeyValue: String) {
    planet_by_pk (id: $id, _partitionKeyValue: $partitionKeyValue) {
        tags
    }
}

Günlük düzeyini kullanarak gelişmiş günlük kaydı desteği

  • Ve olduğunda ve sırasıyla ve olarak güncelleştirildiğinde host.modeErrorProductionDevelopmentDebug altyapı için varsayılan günlük düzeyleri.
  • Altyapı başlatma sırasında, bir varlığın her sütunu için kullanıma sunulan alan adları ve birincil anahtar gibi bilgiler günlüğe kaydedilir. Bu davranış, alan eşlemesi otomatik olarak oluşturulduğunda bile tür olur.
  • Yerel yürütme senaryosunda, altyapı başlatma sırasında oluşturulan ve yürütülen tüm sorgular düzeyinde günlüğe kaydedilir Debug .
  • Her varlık için , target.fieldsve cardinality gibi source.fieldsilişki alanları günlüğe kaydedilir. Çoka çok ilişkiler varsa, linking.objectveritabanından (veya yapılandırma dosyasından) çıkarılmış , linking.source.fieldsve linking.target.fields günlüğe kaydedilir.
  • Gelen her istek için, isteğin rolü ve kimlik doğrulama durumu günlüğe kaydedilir.
  • CLI'da sürüm, Microsoft.DataAPIBuilder ilgili komutun yürütülmesiyle ilişkili günlüklerle birlikte günlüğe kaydedilir.

Güncelleştirilmiş CLI

  • --no-https-redirect seçeneği komutuna start eklenir. Bu seçenekle, 'den httphttps isteklerin otomatik olarak yeniden yönlendirilmesi önlenebilir.

  • MsSql'de oturum bağlamı komutu kullanılarak init etkinleştirilebilir--set-session-context true. Bu örnekte örnek bir komut gösterilmiştir:

    dab init --database-type mssql --connection-string "Connection String" --set-session-context true
    
  • Sağlayıcı, hedef kitle ve veren gibi kimlik doğrulama ayrıntıları, komutundaki init , --auth.audienceve --auth.issuer. seçenekleri --auth.providerkullanılarak yapılandırılabilir. Bu örnekte örnek bir komut gösterilir:

    dab init --database-type mssql --auth.provider AzureAD --auth.audience "audience" --auth.issuer "issuer"
    
  • Varlık adı belirtilmediğinde kullanıcı dostu hata iletisi.

Sürüm 0.4.11'deki yenilikler

Bu sürüm için sürüm notlarının tam listesi GitHub'da bulunur: https://github.com/Azure/data-api-builder/releases/tag/v0.4.11-alpha.

Bölüm için data-source güncelleştirilmiş JSON şeması

data-source Yapılandırma dosyasındaki bölüm desteklenen tüm veritabanlarında tutarlı olacak şekilde güncelleştirilir, ancak yine de her veritabanının özel yapılandırmalara sahip olmasını sağlar. Veritabanına özgü tüm özellikleri gruplandırmak için yeni bir bölüm options kullanıma sunulmuştur. Örnek:

{
  "$schema": "https://dataapibuilder.azureedge.net/schemas/v0.4.11-alpha/dab.draft.schema.json",
  "data-source": {
    "database-type": "cosmosdb_nosql",
    "options": {
      "database": "PlaygroundDB",
      "graphql-schema": "schema.gql"
    },
    "connection-string": "AccountEndpoint=https://localhost:8081/;AccountKey=REPLACEME;"
  }
}

bölümünde bulunan options öğeler seçilen database-typeöğesine bağlıdır.

Azure SQL ve SQL Server'da belge içinde iç içe nesnelere filtre uygulama desteği

Azure SQL ve SQL Server ile şemanızda tanımlanan nesne veya dizi ilişkisini kullanabilirsiniz ve bu da iç içe nesneler üzerinde filtreleme işlemleri gerçekleştirmenizi sağlar.

query {
  books(filter: { series: { name: { eq: "Foundation" } } }) {
    items {
      title
      year
      pages
    }
  }
}

Geliştirilmiş saklı yordam desteği

REST ve GraphQL'de saklı yordam için tam destek. Parametrelerle saklı yordam artık %100 destekleniyor. Saklı yordamlarla Veri API oluşturucusu'nu kullanmayı öğrenmek için Saklı Yordamlar belgelerine göz atın.

Cosmos DB için yeni database-type değer yeniden adlandırıldı

Cosmos DB ile PostgreSQL API desteği ekledik. Birleştirilmiş data-source bir bölümle, özniteliği database-type veritabanı türünü belirtir. Cosmos DB birden çok API'yi desteklediğinden, şu anda desteklenen veritabanı türleri ve cosmosdb_postgresql'tircosmosdb_nosql.

  "data-source": {
    "database-type": "cosmosdb_nosql",
    "options": {
      "database": "PlaygroundDB",
      "graphql-schema": "schema.gql"
    }
  }

için CLI özelliklerini yeniden adlandırma cosmosdb_nosql

Önceki bölümlerde açıklanan yapılandırma değişikliklerinin ardından artık CLI özellikleri Cosmos DB NoSQL API'sine göre ve cosmosdb_nosql-container olarak cosmosdb_nosql-database yeniden adlandırılıyor.

dab init --database-type "cosmosdb_nosql" --graphql-schema schema.gql --cosmosdb_nosql-database PlaygroundDB  --cosmosdb_nosql-container "books" --connection-string "AccountEndpoint=https://localhost:8081/;AccountKey=REPLACEME;" --host-mode "Development"

Yönetilen Kimlik artık Postgres ile destekleniyor

Artık kullanıcı alternatif olarak yönetilen kimlikle kimlik doğrulaması yapmak için yapılandırmada erişim belirtecini belirtebilir. Alternatif olarak, artık kullanıcı bağlantı dizesinde parolayı belirtemez ve çalışma zamanı varsayılan yönetilen kimlik belirtecini getirmeye çalışır. Bu başarısız olursa, bağlantı dizesinde parolasız bağlantı denenir.

Azure MySQL için Microsoft Entra ID kullanıcı kimlik doğrulamasını destekleme

Microsoft Entra ID eklentisiyle MySQL ile kimlik doğrulaması yapmak için parola alanı olarak kullanıcı belirteci eklendi.

Sürüm 0.3.7'deki yenilikler

Bu sürüm için sürüm notlarının tam listesi GitHub'da bulunur: https://github.com/Azure/data-api-builder/releases/tag/v0.3.7-alpha.

Desteği görüntüleme

Görünümler artık hem REST hem de GraphQL'de desteklenmektedir. Örneğin, dbo.vw_books_details bir görünümünüz varsa aşağıdaki dab komut kullanılarak gösterilebilir:

dab add BookDetail --source dbo.vw_books_details --source.type View --source.key-fields "id" --permissions "anonymous:read"

Bu source.key-fields seçenek, görünümdeki hangi alanların bir öğeyi benzersiz olarak tanımlamak için kullanılacağını belirtmek için kullanılır; böylece görünümler için birincil anahtara göre gezinti de uygulanabilir. Görünümün güncelleştirilebilir olup olmadığı durumuna bağlı olarak eylemleri (örneğin, create eylem) etkinleştirmek veya devre dışı bırakmak için DAB'yi yapılandıran geliştiricinin sorumluluğudur.

Saklı yordam desteği

Saklı yordamlar artık REST istekleri için desteklenmektedir. Saklı yordamınız varsa, örneğin dbo.stp_get_all_cowritten_books_by_author aşağıdaki dab komut kullanılarak gösterilebilir:

dab add GetCowrittenBooksByAuthor --source dbo.stp_get_all_cowritten_books_by_author --source.type "stored-procedure" --permissions "anonymous:read" --rest true

PARAMETRESI REST uç noktası çağrılırken URL sorgu dizesinde geçirilebilir:

http://<dab-server>/api/GetCowrittenBooksByAuthor?author=isaac%20asimov

Not

Saklı yordamı çağırırken belirli HTTP fiillerine izin vermek veya reddetmek için eylemleri (örneğin eylem create ) etkinleştirmek veya devre dışı bırakmak için DAB'yi yapılandıran geliştiricinin sorumluluğundadır. Örneğin, örnekte kullanılan saklı yordam için, amacının bazı verileri döndürmek olduğu düşünüldüğünde, yalnızca eyleme izin read vermek mantıklı olacaktır.

Microsoft Entra Id kimlik doğrulaması

Microsoft Entra ID kimlik doğrulaması artık tam olarak çalışıyor. Daha fazla bilgi için bkz. Microsoft Entra Id ile kimlik doğrulaması.

Yerel kimlik doğrulaması için yeni simülatör kimlik doğrulama sağlayıcısı

Yerel olarak geliştirme sırasında kimliği doğrulanmış isteklerin testini basitleştirmek için yeni simulator bir kimlik doğrulama sağlayıcısı kullanılabilir. Sağlayıcı simulator , Data API oluşturucu altyapısına tüm istekleri kimliği doğrulanmış olarak kabul etme talimatı veren yapılandırılabilir bir kimlik doğrulama sağlayıcısıdır. Diğer ayrıntılar burada: Yerel Kimlik Doğrulaması

Azure Cosmos DB'de belge içindeki iç içe nesnelere filtre uygulama desteği

Azure Cosmos DB ile şemanızda tanımlanan nesne veya dizi ilişkisini kullanabilirsiniz. Bu ilişki, iç içe nesneler üzerinde filtreleme işlemleri gerçekleştirmenizi sağlar.

query {
  books(first: 1, filter : { author : { profile : { twitter : {eq : ""@founder""}}}})
    id
    name
  }
}