Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Veri API oluşturucusu (DAB), Microsoft Container Registry'de kapsayıcı görüntüsü olarak yayımlanır. Herhangi bir Docker konağı kapsayıcı görüntüsünü aşağı çekebilir ve DAB'yi en az yapılandırmayla çalıştırabilir. Bu kılavuzda kapsayıcı görüntüsü ve yerel yapılandırma dosyası, ek araçlar yüklemeye gerek kalmadan DAB'yi hızlı bir şekilde barındırmak ve çalıştırmak için kullanılır.
Önkoşullar
Örnek veri oluşturma
Bu kısa kılavuzda, docker kapsayıcısında DAB'nin nasıl kullanılacağını göstermek için birkaç satır veri içeren basit bir tablo yeterlidir. İşleri daha da basitleştirmek için Docker kapsayıcı görüntüsünde Linux için SQL Server'ı kullanırız.
mcr.microsoft.com/mssql/server:2022-latestKapsayıcı görüntüsünü çekin.docker pull mcr.microsoft.com/mssql/server:2022-latestBağlantı noktasını yayımlayan
1433kapsayıcı görüntüsünü çalıştırın ve hesap parolasını bu kılavuz boyunca kullandığınız benzersiz bir parolaya ayarlayınsa.docker run \ --name mssql \ --publish 1433:1433 \ --detach \ --env "ACCEPT_EULA=Y" \ --env "MSSQL_SA_PASSWORD=<your-password>" \ mcr.microsoft.com/mssql/server:2022-latestÖnemli
Bu, bu kılavuz için basit bir kurgusal paroladır. Gerçek dünyada farklı bir kimlik doğrulama mekanizması ve ideal olarak farklı bir hesap kullanırsınız.
Tercih ettiğiniz istemciyi veya aracı kullanarak SQL sunucusuna bağlanın. Bağlantı dizesi şeklindedir
Server=localhost,1433;User Id=sa;Password=<your-password>;TrustServerCertificate=true;.Eğer henüz yoksa,
Libraryadlı yeni bir veritabanı oluşturun.IF NOT EXISTS(SELECT name FROM sys.databases WHERE name = 'Library') BEGIN CREATE DATABASE Library; END GO USE LibraryBooksadlıid,title,yearvepagessütunlarıyla bir tablo oluşturun.DROP TABLE IF EXISTS dbo.Books; CREATE TABLE dbo.Books ( id int NOT NULL PRIMARY KEY, title nvarchar(1000) NOT NULL, [year] int null, [pages] int null ) GOTabloya
Booksdört örnek kitap satırı ekleyin.INSERT INTO dbo.Books VALUES (1000, 'Practical Azure SQL Database for Modern Developers', 2020, 326), (1001, 'SQL Server 2019 Revealed: Including Big Data Clusters and Machine Learning', 2019, 444), (1002, 'Azure SQL Revealed: A Guide to the Cloud for SQL Server Professionals', 2020, 528), (1003, 'SQL Server 2022 Revealed: A Hybrid Data Platform Powered by Security, Performance, and Availability', 2022, 506) GOVerilerinizi basit
SELECT *bir sorguyla test edin.SELECT * FROM dbo.Books
Yapılandırma dosyası oluşturma
Önceki adımlarda oluşturulan tabloyla eşleyen bir yapılandırma dosyası oluşturun. Bu yapılandırma dosyasında DAB'ye REST ve GraphQL uç noktalarının gerçek verilerinizle nasıl eşlenmesi açıklanır.
dab-config.jsonadlı bir dosya oluşturun.Tavsiye
Bu, yapılandırma dosyaları için varsayılan dosya adıdır. Varsayılan dosya adını kullanarak, kapsayıcıyı çalıştırırken yapılandırma dosyasını belirtmek zorunda kalmamak gerekir.
Bu JSON içeriğini dosyanıza ekleyin. Bu yapılandırma, mevcut
booktabloya eşlenmiş adlıdbo.Bookstek bir varlık oluşturur.{ "$schema": "https://github.com/Azure/data-api-builder/releases/latest/download/dab.draft.schema.json", "data-source": { "database-type": "mssql", "connection-string": "Server=host.docker.internal\\mssql,1433;Initial Catalog=Library;User Id=sa;Password=<your-password>;TrustServerCertificate=true;" }, "runtime": { "rest": { "enabled": true }, "graphql": { "enabled": true } }, "entities": { "book": { "source": "dbo.Books", "permissions": [ { "actions": [ "read" ], "role": "anonymous" } ] } } }
Docker kapsayıcı görüntüsünü çekme ve çalıştırma
Microsoft Container Registry'de barındırılan Docker kapsayıcı görüntüsünü kullanarak DAB'yi çalıştırın. Kapsayıcı görüntüsünü çalıştırırken DAB'nin yapılandırma dosyasını okuyabilmesi için bir dizin bağlayın.
Docker kapsayıcı görüntüsünü çekin
mcr.microsoft.com/azure-databases/data-api-builder.docker pull mcr.microsoft.com/azure-databases/data-api-builderBağlantı noktasını yayımlayıp dosyayı bağlayarak
5000kapsayıcısını çalıştırın vedab-config.jsondosyasını bağlayarak monte edin.docker run \ --name dab \ --publish 5000:5000 \ --detach \ --mount type=bind,source=$(pwd)/dab-config.json,target=/App/dab-config.json,readonly \ mcr.microsoft.com/azure-databases/data-api-builderBir web tarayıcısı kullanarak
http://localhost:5000/api/bookadresine gidin. Çıktı, REST API uç noktasından bir JSON kitap öğeleri dizisi olmalıdır.{ "value": [ { "id": 1000, "title": "Practical Azure SQL Database for Modern Developers", "year": 2020, "pages": 326 }, { "id": 1001, "title": "SQL Server 2019 Revealed: Including Big Data Clusters and Machine Learning", "year": 2019, "pages": 444 }, { "id": 1002, "title": "Azure SQL Revealed: A Guide to the Cloud for SQL Server Professionals", "year": 2020, "pages": 528 }, { "id": 1003, "title": "SQL Server 2022 Revealed: A Hybrid Data Platform Powered by Security, Performance, and Availability", "year": 2022, "pages": 506 } ] }Uyarı
Bu kılavuzda BIR HTTP bağlantısı kullanılır. Docker'da bir Veri API'si oluşturucu kapsayıcısı çalıştırırken yalnızca HTTP uç noktasının eşlendiğini görürsünüz. Docker kapsayıcınızın yerel geliştirme için HTTPS'yi desteklemesini istiyorsanız, SSL/TLS şifrelemesi için gereken kendi SSL/TLS sertifikanızı ve özel anahtar dosyalarınızı sağlamanız ve HTTPS bağlantı noktasını kullanıma sunmanız gerekir. Ters ara sunucu, isteği kapsayıcınıza iletmeden önce iletişim kanalının şifrelendiğinden emin olmak için istemcilerin sunucunuza HTTPS üzerinden bağlanmasını zorunlu kılmak için de kullanılabilir.