その他の公共の数字に興味:クラウドコンピューティングを学ぶために
シーン:
日実行されているログに夜11時を中心に、スケジュール日が自動的Azureのファイル解析機能と、キュー内のファイルの内容によってサービスバスサービスバスに書き込まれ、BLOBファイルのアップロード後に見て、Azureブロブにアップロード.devicelogtxt。
アップロードファイル形式:
ステップ:
-
VSのコードをダウンロードしてインストールします。
-
拡張ダウンロードVSコード:Azureのアカウント/ Funxtions / Nuget。
-
VSコードアズールアズール - 中国に調整します。
-
ログAzureの中国は、VSのコードに占めます。
-
ダウンロードとAzureの機能をローカルデバッグのためのコアツールをインストールします。
-
Azrueポータル上の準備機能/ブロブ/ Service Bus環境。
-
VSのコードで作成された機能。
-
ローカル関数のデバッグ。
-
使用VSコード即時放出機能;
この戦闘のフルビデオ:
https://v.qq.com/x/page/m3037qoso1i.html
私たちは3つの拡張機能をインストールする必要があります。
Azureのアカウント
Azureの機能
NuGetパッケージマネージャ
ステップVSコードで作成された機能:
フォルダを選択
C#言語を選択
トリガーを選択してブロブ
関数名は、デフォルトを保つことができます
名前空間名は、デフォルトを保つことができます
新しいローカルプロファイルを作成します。
優れたストレージアカウントを作成する]を選択します
監視すべき容器を満たします
ストレージアカウントを選択します
現在のウィンドウでプロジェクトを開きます。
この場合のサンプルコード:
using System; using System.IO; using Microsoft.Azure.WebJobs; using Microsoft.Azure.WebJobs.Host; using Microsoft.Extensions.Logging; using Microsoft.Azure.ServiceBus; using System.Text; using Newtonsoft.Json; namespace Company.Function { public static class BlobTriggerCSharp { [FunctionName("BlobTriggerCSharp")] public static void Run([BlobTrigger("samples-workitems/{name}", Connection = "beifustoratgetest_STORAGE")]Stream myBlob, string name, ILogger log) { log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes"); StreamReader reader = new StreamReader(myBlob); string msg=string.Empty; while(!string.IsNullOrEmpty(msg=reader.ReadLine())) { SendMsgToSbQueueAsync(new Msg(){dateTime=DateTime.Now,Msgstr=msg,DeviceId="001"}); log.LogInformation($"oldContent:{msg}"); } } public static async void SendMsgToSbQueueAsync(Msg msg) { string ServiceBusConnectionString = "Endpoint=sb://seanyutest.servicebus.chinacloudapi.cn/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=rnVwTNyXWRDhi1scJ2ukW7al/5q0Y8sNY2H01dqSl3k="; string QueueName = "test"; IQueueClient queueClient = new QueueClient(ServiceBusConnectionString, QueueName); string messageBody = JsonConvert.SerializeObject(msg); var message = new Message(Encoding.UTF8.GetBytes(messageBody)); await queueClient.SendAsync(message); } public class Msg { public DateTime dateTime{get;set;} public string Msgstr{get;set;} public string DeviceId{get;set;} } } }
从本地发布到Azure
Ctrl+shift+P
将链接字符串配置到云端的Functions:
其中名称要与local.settings.json中保持一致: