| page_type | اللغات | منتجات | وصف | urlfragment | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
عينة |
|
| استخدام تغيير واجهة برمجة تطبيقات تتبع لمزامنة البيانات بين التطبيقات والسحابة | azure-sql-db-dotnet-rest-api |
إذا كنت تقوم بتطوير تطبيق يجب أن يكون قادرًا على العمل من خلال السحابة ، فستحتاج بالتأكيد ، في مرحلة ما ، إلى تنفيذ القدرة على تنزيل أحدث البيانات من السحابة لتحديث البيانات المحلية إلى التطبيق. قد يكون القيام بذلك بكفاءة أمرًا صعبًا ، حيث ستحتاج إلى فهم ما هي التغييرات التي حدثت على السحابة منذ آخر مرة قام فيها التطبيق بمزامنة معها ، بحيث يمكنك فقط إرسال الاختلافات.
مع Azure SQL ، يمكنك الاستفادة من تتبع التغيير لاكتشاف الصفوف التي تم تغييرها من آخر مرة قام فيها التطبيق بمزامنة وإنشاء حمولة تحتوي فقط على تلك التغييرات. شيء من هذا القبيل:
{
"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
}
]
}حسنًا ، أكثر دقة ، ليس فقط يمكنك اكتشاف التغييرات ، ولكن يمكنك أيضًا إنشاء JSON مباشرة من Azure SQL ، بحيث يمكنك الاستفادة من التكامل المذهل الذي توفره Azure SQL عبر جميع ميزاته وإنشاء رمز بسيط جميل.
تتوفر المزيد من التفاصيل الفنية هنا: Sync Mobile Apps مع Azure باستخدام تغيير واجهة برمجة تطبيقات تتبع التغيير
لقد قمت أيضًا بإعداد مقطع فيديو لإظهاره في 10 دقائق ، ما مدى أبسط حياتك باستخدام واجهة برمجة تطبيقات تتبع التغيير.
] (https://www.youtube.com/watch؟v=c1bmnruu6wc)
تأكد من أن لديك قاعدة بيانات Azure SQL DB لاستخدامها. إذا لم يكن لديك حساب Azure ، فيمكنك إنشاء حساب مجانًا والذي سيتضمن أيضًا طبقة Azure SQL DB مجانية:
https://azure.microsoft.com/en-us/free/free-account-faq/
لإنشاء قاعدة بيانات جديدة ، اتبع الإرشادات هنا:
إنشاء قاعدة بيانات Azure SQL
أو ، إذا كنت مرتاحًا بالفعل مع Azure CLI ، فيمكنك فقط تنفيذ (باستخدام Bash ، عبر WSL ، بيئة Linux أو Azure Cloud Shell)
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_2بمجرد إنشاء قاعدة البيانات ، يمكنك الاتصال بها باستخدام Azure Data Studio. إذا كنت بحاجة إلى مساعدة في إعداد أول اتصالك بـ Azure SQL مع Azure Data Studio ، فسيساعدك هذا الفيديو السريع:
كيفية الاتصال بقاعدة بيانات Azure SQL من Azure Data Studio
بمجرد إنشاء قاعدة البيانات ، تحتاج إلى تمكين تغيير تتبع وإضافة إجراء مخزن سيتم استدعاؤه من .NET. رمز SQL متوفر هنا:
./SQL/01-change-tracking-setup.sql./SQL/02-stored-procedure.sqlيرجى تنفيذ البرنامج النصي على قاعدة البيانات التي تم إنشاؤها بالتسلسل.
إذا كنت بحاجة إلى أي مساعدة في تنفيذ البرنامج النصي SQL ، فيمكنك العثور على Quickstart هنا: QuickStart: استخدم Azure Data Studio لتوصيل قاعدة بيانات Azure SQL والاستعلام عنها
تأكد من تثبيت .NET Core 3.0 SDK على جهازك. استنساخ هذا الريبو في دليل على جهاز الكمبيوتر الخاص بنا ثم قم بتكوين سلسلة الاتصال في appsettings.json .
إذا كنت لا ترغب في حفظ سلسلة الاتصال في ملف appsettings.json لأسباب أمان ، يمكنك فقط تعيينها باستخدام متغير بيئة:
لينكس:
export ConnectionStrings__DefaultConnection= " <your-connection-string> "Windows:
$ Env: ConnectionStrings__DefaultConnection = " <your-connection-string> "سلسلة الاتصال الخاصة بك شيء مثل:
SERVER=<your-server-name>.database.windows.net;DATABASE=<your-database-name>;UID=DotNetWebApp;PWD=a987REALLY#$%TRONGpa44w0rd!
ما عليك سوى استبدال <your-server-name> و <your-database-name> بالقيم الصحيحة لبيئتك.
لتشغيل واختبار API REST محليًا ، ما عليك سوى تشغيل
dotnet runسوف تبدأ .NET خادم HTTP وعندما يكون كل شيء قيد التشغيل ، سترى شيئًا مثل
Now listening on: https://localhost:5001
باستخدام عميل REST (مثل Visual Studio أو الأرق أو Curl أو PowerShell's Invoke-Restmethod)) ، يمكنك الآن الاتصال بآبار واجهة برمجة التطبيقات الخاصة بك ، على سبيل المثال:
curl -s -k -H " fromVersion: 0 " --url https://localhost:5001/trainingsession/syncوستحصل على شيء مثل ما يلي:
{
"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
}
]
} تصحيح الأخطاء من رمز Visual Studio مدعوم بالكامل. إذا كان لديك .env ، فسيتم استخدامه للحصول على سلسلة الاتصال: هذا يعني ، على الأقل ملف .env يجب أن يكون مثل ما يلي:
ConnectionStrings__DefaultConnection="<the-connection-string>"
يتم استخدام ملف .env أيضًا لقراءة القيم اللازمة لنشر الحل إلى Azure ، كما هو موضح في القسم التالي.
الآن بعد أن أصبح حل API الخاص بك جاهزًا ، فقد حان الوقت لنشره على Azure حتى يتمكن أي شخص من الاستفادة منه. مقالة مفصلة حول كيف يمكنك ذلك هنا:
الشيء الوحيد الذي تقوم به بالإضافة إلى ما تم شرحه في المقالات أعلاه هو إضافة سلسلة الاتصال إلى تكوين تطبيق Azure Web. باستخدام AZ CLI ، على سبيل المثال:
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 فقط تأكد من تعيين $AppName و $ResourceGroup لمطابقة بيئتك وأيضًا أن المتغير $ConnectionStrings__DefaultConnection كما تم تعيينه أيضًا ، كما هو مذكور في القسم "Run Sample Local".
مثال على البرنامج النصي الكامل الذي ينشر API REST متاح هنا: azure-deploy.sh . يحتاج البرنامج النصي وملف .env لتشغيله. إذا لم يكن هناك شيء ، فسيقوم بإنشاء واحدة فارغة لك. تأكد من ملءها بالقيم الصحيحة لبيئتك ، وستكون على ما يرام.
يبدو ملف .env مثل ما يلي:
ResourceGroup="<resource-group-name>"
AppName="<app-name>"
Location="WestUS2"
ConnectionStrings__DefaultConnection="<the-connection-string>"
إذا كنت جديدًا على .NET وتريد معرفة المزيد ، فهناك الكثير من البرنامج التعليمي المتاح على منصة Microsoft Learn. يمكنك البدء من هنا ، على سبيل المثال:
إذا كنت تريد أيضًا معرفة المزيد عن رمز Visual Studio ، فإليك مورد آخر:
باستخدام .NET Core في رمز Visual Studio
يرحب هذا المشروع بالمساهمات والاقتراحات. تطلب منك معظم المساهمات الموافقة على اتفاقية ترخيص المساهم (CLA) مع إعلان أن لديك الحق في ذلك في الواقع ، ويفعلنا في الواقع حقوق استخدام مساهمتك. لمزيد من التفاصيل ، تفضل بزيارة https://cla.opensource.microsoft.com.
عند إرسال طلب سحب ، سيحدد CLA Bot تلقائيًا ما إذا كنت بحاجة إلى توفير CLA وتزيين العلاقات العامة بشكل مناسب (على سبيل المثال ، فحص الحالة ، التعليق). ببساطة اتبع الإرشادات التي يقدمها الروبوت. ستحتاج فقط إلى القيام بذلك مرة واحدة عبر جميع عمليات إعادة الشراء باستخدام CLA لدينا.
اعتمد هذا المشروع رمز سلوك المصدر المفتوح Microsoft. لمزيد من المعلومات ، راجع مدونة الشهادة الأسئلة الشائعة أو الاتصال بـ [email protected] مع أي أسئلة أو تعليقات إضافية.