| page_type | 言語 | 製品 | 説明 | urlfragment | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
サンプル |
|
| APIの変更を使用して、アプリとクラウド間でデータを同期する | azure-sql-db-dotnet-rest-api |
クラウドから切断された作業を行う必要があるアプリケーションを開発している場合は、クラウドから最新のデータをダウンロードしてアプリにローカルデータを更新する機能を実装する必要があります。これを効率的に行うのは難しいかもしれません。アプリケーションが最後に同期してからクラウドで起こった変更を理解する必要があるため、違いを送信できるようにする必要があります。
Azure SQLを使用すると、Change Trackingを利用して、アプリケーションが最後に同期したときから変更された行を検出し、それらの変更のみを含むペイロードを生成することができます。そのようなもの:
{
"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と同期するモバイルアプリ
また、Change Tracking APIを使用してあなたの人生がどれほど簡単であるかを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にすでに満足している場合は、実行することができます(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をここで見つけることができます: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>を環境の正しい値に置き換えてください。
REST 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コードからのデバッグは完全にサポートされています。 .envがある場合、接続文字列を取得するために使用されます。これは、少なくとも.envファイルが次のようにする必要があることを意味します。
ConnectionStrings__DefaultConnection="<the-connection-string>"
.envファイルは、次のセクションで説明されているように、ソリューションをAzureに展開するために必要な値を読み取るためにも使用されます。
REST 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も設定されていることを確認してください。
REST APIを展開する完全なスクリプトの例は、ここから入手できます: azure-deploy.sh 。スクリプトの必要性と.envファイルを実行します。いない場合は、空のものを作成します。環境の正しい値でそれを埋めるようにしてください、そうすれば、あなたは行くのが良いでしょう。
.envファイルは次のようになります。
ResourceGroup="<resource-group-name>"
AppName="<app-name>"
Location="WestUS2"
ConnectionStrings__DefaultConnection="<the-connection-string>"
.NETが初めてで、詳細を知りたい場合は、Microsoft Learn Platformで利用できるチュートリアルがたくさんあります。たとえば、ここから始めることができます:
Visual Studioコードの詳細についても知りたい場合は、別のリソースを次に示します。
Visual Studioコードで.NETコアを使用します
このプロジェクトは、貢献と提案を歓迎します。ほとんどの貢献では、貢献者ライセンス契約(CLA)に同意する必要があります。詳細については、https://cla.opensource.microsoft.comをご覧ください。
プルリクエストを送信すると、CLAボットはCLAを提供し、PRを適切に飾る必要があるかどうかを自動的に決定します(たとえば、ステータスチェック、コメント)。ボットが提供する指示に従うだけです。 CLAを使用して、すべてのレポでこれを1回だけ行う必要があります。
このプロジェクトは、Microsoftのオープンソース行動規範を採用しています。詳細については、FAQのコードを参照するか、追加の質問やコメントについては[email protected]にお問い合わせください。