| 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
}
]
}더 정확하게는 변경 사항을 감지 할 수있을뿐만 아니라 Azure SQL에서 직접 JSON을 생성하여 Azure SQL이 모든 기능에서 제공하는 놀라운 통합을 활용하고 아름답고 간단한 코드를 만들 수 있습니다.
더 많은 기술적 세부 사항이 있습니다. 변경 사항 변경 API를 사용하여 Azure와 모바일 앱을 동기화합니다.
또한 10 분 안에 변화 추적 API를 사용하여 얼마나 단순한 삶이 될 수 있는지 보여줄 비디오를 준비했습니다.
] (https://www.youtube.com/watch?v=C1BMNRUU6WC)
사용할 Azure SQL DB 데이터베이스가 있는지 확인하십시오. Azure 계정이없는 경우 무료 Azure SQL DB Tier도 포함 할 무료로 무료로 작성할 수 있습니다.
https://azure.microsoft.com/en-us/free/free-account-faq/
새 데이터베이스를 만들려면 여기에서 지침을 따르십시오.
Azure SQL 데이터베이스를 만듭니다
또는 이미 Azure CLI에 익숙하다면 Bash, WSL, Linux 환경 또는 Azure Cloud Shell을 통해 Bash 사용) 만 실행할 수 있습니다.
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 Data Studio를 사용하여 Azure SQL에 대한 첫 번째 연결을 설정하는 데 도움이 필요한 경우이 빠른 비디오가 도움이됩니다.
Azure Data Studio에서 Azure SQL 데이터베이스에 연결하는 방법
데이터베이스가 생성되면 변경 추적을 활성화하고 .NET에서 호출되는 저장된 프로 시저를 추가해야합니다. SQL 코드는 다음과 같습니다.
./SQL/01-change-tracking-setup.sql./SQL/02-stored-procedure.sql생성 된 데이터베이스에서 스크립트를 순서대로 실행하십시오.
SQL 스크립트 실행에 도움이 필요한 경우 여기에서 빠른 스타트를 찾을 수 있습니다. QuickStart : Azure Data Studio를 사용하여 Azure SQL 데이터베이스를 연결하고 쿼리하십시오.
컴퓨터에 .NET Core 3.0 SDK가 설치되어 있는지 확인하십시오. 컴퓨터의 디렉토리 에서이 리베르를 복제 한 다음 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의 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 웹 앱 구성에 연결 문자열을 추가하는 것입니다. 예를 들어 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에 대한 자세한 내용을 알고 싶다면 다음은 다음과 같습니다.
Visual Studio Code에서 .NET Core를 사용합니다
이 프로젝트는 기여와 제안을 환영합니다. 대부분의 기부금은 귀하가 귀하가 귀하의 기부금을 사용할 권리를 부여 할 권리가 있다고 선언하는 기고자 라이센스 계약 (CLA)에 동의해야합니다. 자세한 내용은 https://cla.opensource.microsoft.com을 방문하십시오.
풀 요청을 제출할 때 CLA 봇은 CLA를 제공하고 PR을 적절하게 장식 해야하는지 자동으로 결정합니다 (예 : 상태 점검, 댓글). 봇이 제공 한 지침을 따르십시오. CLA를 사용하여 모든 저장소에서 한 번만이 작업을 수행하면됩니다.
이 프로젝트는 Microsoft 오픈 소스 행동 강령을 채택했습니다. 자세한 내용은 추가 질문이나 의견이 있으면 행동 강령 FAQ 또는 [email protected]에 문의하십시오.