| page_type | bahasa | produk | keterangan | urlfragment | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
mencicipi |
|
| Menggunakan perubahan API pelacakan untuk menyinkronkan data antara aplikasi dan cloud | Azure-sql-db-dotnet-rest-API |
Jika Anda mengembangkan aplikasi yang harus dapat bekerja terputus dari cloud, Anda pasti perlu, pada titik tertentu, untuk mengimplementasikan kemampuan untuk mengunduh data terbaru dari cloud untuk menyegarkan data lokal ke aplikasi. Melakukan ini secara efisien bisa menjadi rumit, karena Anda perlu memahami perubahan apa yang terjadi di cloud sejak terakhir kali aplikasi disinkronkan dengan itu, sehingga Anda hanya dapat mengirim perbedaan.
Dengan Azure SQL Anda dapat memanfaatkan pelacakan perubahan untuk mendeteksi baris mana yang telah diubah dari terakhir kali aplikasi menyinkronkan dan menghasilkan muatan yang hanya berisi perubahan tersebut. Sesuatu seperti itu:
{
"Metadata" : {
"Sync" : {
"Version" : 6 ,
"Type" : " Diff "
}
},
"Data" : [
{
"$operation" : " U " ,
"Id" : 10 ,
"RecordedOn" : " 2019-10-27T17:54:48-08:00 " ,
"Type" : " Run " ,
"Steps" : 3450 ,
"Distance" : 4981
},
{
"$operation" : " I " ,
"Id" : 11 ,
"RecordedOn" : " 2019-10-26T18:24:32-08:00 " ,
"Type" : " Run " ,
"Steps" : 4866 ,
"Distance" : 4562
}
]
}Nah, lebih tepatnya, tidak hanya Anda dapat mendeteksi perubahan, tetapi Anda juga dapat menghasilkan JSON langsung dari Azure SQL, sehingga Anda dapat memanfaatkan integrasi luar biasa yang disediakan Azure SQL di semua fiturnya dan membuat kode sederhana yang indah.
Detail teknis lainnya tersedia di sini: Sinkronkan aplikasi seluler dengan Azure menggunakan API pelacakan perubahan
Saya juga menyiapkan video untuk ditampilkan dalam 10 menit betapa lebih sederhana dapat menjadi hidup Anda menggunakan perubahan API pelacakan.
] (https://www.youtube.com/watch?v=c1bmnruu6wc)
Pastikan Anda memiliki database Azure SQL DB untuk digunakan. Jika Anda tidak memiliki akun Azure Anda, Anda dapat membuat satu secara gratis, yang juga akan menyertakan tingkat SQL DB Azure gratis:
https://azure.microsoft.com/en-us/free/free-account-faq/
Untuk membuat database baru, ikuti instruksi di sini:
Buat database Azure SQL
Atau, jika Anda sudah nyaman dengan Azure CLI, Anda dapat mengeksekusi (menggunakan bash, melalui WSL, lingkungan Linux atau shell cloud Azure)
az group create -n < my-resource-group > -l WestUS2
az sql server create -g < my-resource-group > -n < my-server-name > -u < my-user > -p < my-password >
az sql db create -g < my-resource-group > --server < my-server-name > -n CTSample --service-objective HS_Gen5_2Setelah database dibuat, Anda dapat menghubungkannya menggunakan Azure Data Studio. Jika Anda memerlukan bantuan dalam mengatur koneksi pertama Anda ke Azure SQL dengan Azure Data Studio, video cepat ini akan membantu Anda:
Cara terhubung ke database Azure SQL dari Azure Data Studio
Setelah database dibuat, Anda perlu mengaktifkan pelacakan perubahan dan menambahkan prosedur tersimpan yang akan dipanggil dari .net. Kode SQL tersedia di sini:
./SQL/01-change-tracking-setup.sql./SQL/02-stored-procedure.sqlHarap jalankan skrip pada database yang dibuat secara berurutan.
Jika Anda memerlukan bantuan dalam menjalankan skrip SQL, Anda dapat menemukan QuickStart di sini: QuickStart: Gunakan Azure Data Studio untuk menghubungkan dan menanyakan database Azure SQL
Pastikan Anda memiliki .NET Core 3.0 SDK yang diinstal pada mesin Anda. Klone repo ini di direktori di komputer kami dan kemudian konfigurasikan string koneksi di appsettings.json .
Jika Anda tidak ingin menyimpan string koneksi di file appsettings.json untuk alasan keamanan, Anda bisa mengaturnya menggunakan variabel lingkungan:
Linux:
export ConnectionStrings__DefaultConnection= " <your-connection-string> "Windows:
$ Env: ConnectionStrings__DefaultConnection = " <your-connection-string> "String koneksi Anda adalah sesuatu seperti:
SERVER=<your-server-name>.database.windows.net;DATABASE=<your-database-name>;UID=DotNetWebApp;PWD=a987REALLY#$%TRONGpa44w0rd!
Cukup ganti <your-server-name> dan <your-database-name> dengan nilai yang benar untuk lingkungan Anda.
Untuk menjalankan dan menguji API REST secara lokal, jalankan saja
dotnet run.Net akan memulai server http dan saat semuanya berjalan dan berjalan, Anda akan melihat sesuatu seperti
Now listening on: https://localhost:5001
Menggunakan klien istirahat (seperti Visual Studio, Insomnia, Curl atau PowerShell's Invoke-RestMethod)), Anda sekarang dapat menghubungi API Anda, misalnya:
curl -s -k -H " fromVersion: 0 " --url https://localhost:5001/trainingsession/syncDan Anda akan mendapatkan sesuatu seperti berikut:
{
"Metadata" : {
"Sync" : {
"Version" : 6 ,
"Type" : " Full " ,
"ReasonCode" : 0
}
},
"Data" : [
{
"Id" : 9 ,
"RecordedOn" : " 2019-10-28T17:27:23-08:00 " ,
"Type" : " Run " ,
"Steps" : 3784 ,
"Distance" : 5123
},
{
"Id" : 10 ,
"RecordedOn" : " 2019-10-27T17:54:48-08:00 " ,
"Type" : " Run " ,
"Steps" : 0 ,
"Distance" : 4981
}
]
} Debugging dari Visual Studio Code didukung sepenuhnya. Jika Anda memiliki .env , itu akan digunakan untuk mendapatkan string koneksi: ini berarti, bahwa setidaknya file .env harus seperti berikut:
ConnectionStrings__DefaultConnection="<the-connection-string>"
File .env juga digunakan untuk membaca nilai yang diperlukan untuk menggunakan solusi ke Azure, seperti yang dijelaskan pada bagian berikutnya.
Sekarang solusi API istirahat Anda sudah siap, saatnya untuk menggunakannya di Azure sehingga siapa pun dapat memanfaatkannya. Artikel terperinci tentang bagaimana Anda bisa di sini:
Satu -satunya hal yang telah Anda lakukan selain apa yang dijelaskan dalam artikel di atas adalah menambahkan string koneksi ke konfigurasi aplikasi web Azure. Menggunakan AZ CLI, misalnya:
AppName= " azure-sql-db-dotnet-rest-api "
ResourceGroup= " my-resource-group "
az webapp config connection-string set
-g $ResourceGroup
-n $AppName
--settings DefaultConnection= $ConnectionStrings__DefaultConnection
--connection-string-type=SQLAzure Pastikan Anda dengan benar mengatur $AppName dan $ResourceGroup untuk mencocokkan lingkungan Anda dan juga bahwa variabel $ConnectionStrings__DefaultConnection sebagaimana juga ditetapkan, sebagaimana disebutkan dalam bagian "Jalankan sampel secara lokal".
Contoh skrip lengkap yang menggunakan API REST tersedia di sini: azure-deploy.sh . Skrip kebutuhan dan file .env untuk dijalankan. Jika tidak ada, itu akan membuat yang kosong untuk Anda. Pastikan Anda mengisinya dengan nilai yang benar untuk lingkungan Anda, dan Anda akan baik untuk pergi.
File .env terlihat seperti berikut:
ResourceGroup="<resource-group-name>"
AppName="<app-name>"
Location="WestUS2"
ConnectionStrings__DefaultConnection="<the-connection-string>"
Jika Anda baru mengenal .net dan ingin mempelajari lebih lanjut, ada banyak tutorial yang tersedia di platform Microsoft Learn. Anda dapat mulai dari sini, misalnya:
Jika Anda juga ingin mempelajari lebih lanjut tentang kode studio visual, inilah sumber lain:
Menggunakan .NET Core dalam kode studio visual
Proyek ini menyambut kontribusi dan saran. Sebagian besar kontribusi mengharuskan Anda untuk menyetujui perjanjian lisensi kontributor (CLA) yang menyatakan bahwa Anda memiliki hak untuk, dan benar -benar melakukannya, beri kami hak untuk menggunakan kontribusi Anda. Untuk detailnya, kunjungi https://cla.opensource.microsoft.com.
Saat Anda mengirimkan permintaan tarik, bot CLA akan secara otomatis menentukan apakah Anda perlu memberikan CLA dan menghiasi PR secara tepat (misalnya, pemeriksaan status, komentar). Cukup ikuti instruksi yang disediakan oleh bot. Anda hanya perlu melakukan ini sekali di semua repo menggunakan CLA kami.
Proyek ini telah mengadopsi kode perilaku open source Microsoft. Untuk informasi lebih lanjut, lihat FAQ Kode Perilaku atau hubungi [email protected] dengan pertanyaan atau komentar tambahan.