| page_type | ภาษา | สินค้า | คำอธิบาย | urlfragment | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ตัวอย่าง |
|
| การใช้การเปลี่ยนแปลงการติดตาม API เพื่อซิงค์ข้อมูลระหว่างแอพและคลาวด์ | 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 มอบให้กับคุณสมบัติทั้งหมดและสร้างรหัสที่เรียบง่ายอย่างสวยงาม
รายละเอียดทางเทคนิคเพิ่มเติมมีอยู่ที่นี่: ซิงค์แอพมือถือกับ Azure โดยใช้การเปลี่ยนแปลงการติดตาม API
ฉันยังได้เตรียมวิดีโอเพื่อแสดงใน 10 นาทีว่าชีวิตของคุณง่ายขึ้นเท่าไหร่โดยใช้การเปลี่ยนแปลง API
] (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 บนเครื่องของคุณ โคลน repo นี้ในไดเรกทอรีบนคอมพิวเตอร์ของเราจากนั้นกำหนดค่าสตริงการเชื่อมต่อใน appsettings.json
หากคุณไม่ต้องการบันทึกสตริงการเชื่อมต่อในไฟล์ appsettings.json ด้วยเหตุผลด้านความปลอดภัยคุณสามารถตั้งค่าได้โดยใช้ตัวแปรสภาพแวดล้อม:
Linux:
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 ในพื้นที่เพียงแค่เรียกใช้
dotnet run.NET จะเริ่มต้นเซิร์ฟเวอร์ HTTP และเมื่อทุกอย่างพร้อมใช้งานคุณจะเห็นอะไรบางอย่างเช่น
Now listening on: https://localhost:5001
การใช้ไคลเอนต์ REST (เช่น Visual Studio, Insomnia, Curl หรือ PowerShell's Invoke-Restmethod)) ตอนนี้คุณสามารถโทรหา API ของคุณได้เช่น:
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 Code ได้รับการสนับสนุนอย่างเต็มที่ หากคุณมี .env มันจะถูกใช้เพื่อรับสตริงการเชื่อมต่อ: นี่หมายความว่าอย่างน้อยไฟล์ .env จะต้องเป็นไปตามดังต่อไปนี้:
ConnectionStrings__DefaultConnection="<the-connection-string>"
ไฟล์ .env ยังใช้ในการอ่านค่าที่จำเป็นในการปรับใช้โซลูชันกับ Azure ตามที่อธิบายไว้ในส่วนถัดไป
ตอนนี้โซลูชัน REST API ของคุณพร้อมแล้วก็ถึงเวลาปรับใช้กับ Azure เพื่อให้ทุกคนสามารถใช้ประโยชน์จากมันได้ บทความโดยละเอียดเกี่ยวกับวิธีที่คุณสามารถที่นี่:
สิ่งเดียวที่คุณทำนอกเหนือไปจากสิ่งที่อธิบายไว้ในบทความด้านบนคือการเพิ่มสตริงการเชื่อมต่อในการกำหนดค่าแอป Azure Web App ใช้ 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 ตามที่ตั้งไว้ตามที่กล่าวไว้ในส่วน "รันตัวอย่างในเครื่อง"
ตัวอย่างของสคริปต์เต็มรูปแบบที่ปรับใช้ REST API พร้อมใช้งานที่นี่: azure-deploy.sh สคริปต์ต้องการและไฟล์ .env ที่จะเรียกใช้ หากไม่มีมันจะสร้างสิ่งที่ว่างเปล่าให้คุณ ตรวจสอบให้แน่ใจว่าคุณเติมเต็มค่าที่ถูกต้องสำหรับสภาพแวดล้อมของคุณและคุณจะไปได้ดี
ไฟล์ .env ดูเหมือนดังต่อไปนี้:
ResourceGroup="<resource-group-name>"
AppName="<app-name>"
Location="WestUS2"
ConnectionStrings__DefaultConnection="<the-connection-string>"
หากคุณยังใหม่กับ. NET และต้องการเรียนรู้เพิ่มเติมมีบทช่วยสอนมากมายบนแพลตฟอร์ม Microsoft Learn คุณสามารถเริ่มต้นได้จากที่นี่ตัวอย่างเช่น:
หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Visual Studio Code นี่เป็นแหล่งข้อมูลอื่น:
ใช้. NET Core ใน Visual Studio Code
โครงการนี้ยินดีต้อนรับการมีส่วนร่วมและข้อเสนอแนะ การมีส่วนร่วมส่วนใหญ่กำหนดให้คุณต้องยอมรับข้อตกลงใบอนุญาตผู้มีส่วนร่วม (CLA) ประกาศว่าคุณมีสิทธิ์และทำจริงให้สิทธิ์ในการใช้การบริจาคของคุณ สำหรับรายละเอียดเยี่ยมชม https://cla.opensource.microsoft.com
เมื่อคุณส่งคำขอดึง CLA บอทจะพิจารณาโดยอัตโนมัติว่าคุณจำเป็นต้องให้ CLA และตกแต่ง PR อย่างเหมาะสม (เช่นการตรวจสอบสถานะแสดงความคิดเห็น) เพียงทำตามคำแนะนำที่จัดทำโดยบอท คุณจะต้องทำสิ่งนี้เพียงครั้งเดียวใน repos ทั้งหมดโดยใช้ CLA ของเรา
โครงการนี้ได้นำรหัสการดำเนินงานของ Microsoft โอเพ่นซอร์สมาใช้ สำหรับข้อมูลเพิ่มเติมโปรดดูจรรยาบรรณคำถามที่พบบ่อยหรือติดต่อ [email protected] พร้อมคำถามหรือความคิดเห็นเพิ่มเติมใด ๆ