Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penyusun API Data (DAB) diterbitkan sebagai gambar kontainer ke Microsoft Container Registry. Setiap host Docker dapat menarik gambar kontainer dan menjalankan DAB dengan konfigurasi minimal. Panduan ini menggunakan gambar kontainer dan file konfigurasi lokal untuk menghosting dan menjalankan DAB dengan cepat tanpa perlu menginstal alat tambahan apa pun.
Prasyarat
Membuat data sampel
Untuk panduan singkat ini, tabel sederhana dengan beberapa baris data cukup untuk menunjukkan cara menggunakan DAB dalam kontainer Docker. Untuk menyederhanakan hal-hal lebih lanjut, kami menggunakan SQL Server untuk Linux dalam gambar kontainer Docker.
Tarik gambar kontainer
mcr.microsoft.com/mssql/server:2022-latest.docker pull mcr.microsoft.com/mssql/server:2022-latestJalankan gambar kontainer yang menerbitkan
1433port dan atursakata sandi akun ke kata sandi unik yang Anda gunakan di seluruh panduan ini.docker run \ --name mssql \ --publish 1433:1433 \ --detach \ --env "ACCEPT_EULA=Y" \ --env "MSSQL_SA_PASSWORD=<your-password>" \ mcr.microsoft.com/mssql/server:2022-latestPenting
Ini adalah kata sandi fiktif sederhana untuk panduan ini. Di dunia nyata, Anda akan menggunakan mekanisme autentikasi yang berbeda dan idealnya akun yang berbeda.
Sambungkan ke server SQL menggunakan klien atau alat pilihan Anda. String koneksi adalah
Server=localhost,1433;User Id=sa;Password=<your-password>;TrustServerCertificate=true;.Buat database baru bernama
Libraryjika belum ada.IF NOT EXISTS(SELECT name FROM sys.databases WHERE name = 'Library') BEGIN CREATE DATABASE Library; END GO USE LibraryBuat tabel bernama
Booksdengan kolomid,title,year, danpages.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 ) GOSisipkan empat contoh baris buku ke dalam tabel
Books.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) GOUji data Anda dengan kueri sederhana
SELECT *.SELECT * FROM dbo.Books
Membuat file konfigurasi
Buat file konfigurasi yang memetakan ke tabel yang dibuat di langkah-langkah sebelumnya. File konfigurasi ini menjelaskan kepada DAB cara memetakan titik akhir REST dan GraphQL ke data Anda yang sebenarnya.
Buat file bernama
dab-config.json.Petunjuk / Saran
Ini adalah nama file default untuk file konfigurasi. Dengan menggunakan nama file default, Anda menghindari harus menentukan file konfigurasi saat menjalankan kontainer.
Tambahkan konten JSON ini ke file Anda. Konfigurasi ini membuat satu entitas bernama
bookyang dipetakan ke tabel yang adadbo.Books.{ "$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" } ] } } }
Menarik dan menjalankan gambar kontainer Docker
Jalankan DAB menggunakan gambar kontainer Docker yang dihosting di Microsoft Container Registry. Saat menjalankan gambar kontainer, pasang direktori sehingga DAB dapat membaca file konfigurasi.
mcr.microsoft.com/azure-databases/data-api-builderTarik gambar kontainer Docker.docker pull mcr.microsoft.com/azure-databases/data-api-builderJalankan kontainer dengan mempublikasikan port
5000dan memasang bind filedab-config.json.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-builderGunakan browser web untuk menavigasi ke
http://localhost:5000/api/book. Output harus berupa array JSON item buku dari titik akhir REST API.{ "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 } ] }Nota
Panduan ini menggunakan koneksi HTTP. Saat menjalankan kontainer penyusun API Data di Docker, Anda akan melihat bahwa hanya titik akhir HTTP yang dipetakan. Jika Anda ingin kontainer Docker mendukung HTTPS untuk pengembangan lokal, Anda perlu menyediakan sertifikat SSL/TLS Anda sendiri dan file kunci privat yang diperlukan untuk enkripsi SSL/TLS dan mengekspos port HTTPS. Proksi terbalik juga dapat digunakan untuk memberlakukan bahwa klien terhubung ke server Anda melalui HTTPS untuk memastikan bahwa saluran komunikasi dienkripsi sebelum meneruskan permintaan ke kontainer Anda.