Documentsディレクトリ:
物事共通の定義、イベントレポート情報、アラーム、障害の3種類のアリ雲によると、イベントメッセージの通知デバイスがアップロードされ、それがタイムリーでなければなりません。
1)イベントを定義
アリクラウド物事コンソールを開き、製品を入力して、カスタム関数をクリックして、イベントを追加します。
方法2)アップロードイベント
CZGL.AliIoTClient、イベントをアップロードする4つの方法があります
public int Thing_Event_Post(string eventName, string content, [bool isToLower = True]) public int Thing_Event_Post(string eventName, string content, [bool isToLower = True], [System.Text.Encoding encoding = null]) public int Thing_Event_Post<TModel>(TModel model, string eventName, [bool isToLower = True]) public int Thing_Event_Post<TModel>(TModel model, string eventName, [bool isToLower = True], [System.Text.Encoding encoding = null])
eventNameの:イベントの名前、その識別子。
内容:ALINK JSONコンテンツisToLower:エンコーディングを小文字にするかどうか:カスタムALINK JSONエンコードのモデルをアップロード:モデルイベント
第一の方法は、手動で、その後、良いJSONを書く方法でアップロードする必要があります。第2の方法は、第1の方法に基づいて文字エンコーディングをカスタマイズすることができます。第三に、第四の着信モデルがうまくアップロードする前にCZGL.AliIoTClientによって処理されます。
3)イベントモデルを書きます
あなたが唯一のイベントをアップロードすることができ、イベントにはモデルやALINKのJSONに対応しています。
CZGL.AliIoTClientでイベントをアップロードするたびに、あなたは、このイベントの名前を設定する必要があります。
上記に定義されたネットワークによるとコンソールアリ雲イベント、プログラムモデル。
ALINKのJSONのプレビューを生成するには:
{
"id": "123",
"version": "1.0",
"params": { "value": { "temperature":100.1 }, "time": 1524448722000 }, "method": "thing.event.cpuerror.post" }
次のようにモデルに対応することは次のとおりです。
public class Cpuerror
{
public Cpuerror() { @params = new Params(); } public string id { get { return DateTime.Now.Ticks.ToString(); } set { } } public string version { get { return "1.0"; } set { } } public Params @params { get; set; } public class Params { public Params() { value = new Value(); } public Value value { get; set; } public long time { get { return AliIoTClientJson.GetUnixTime(); } set { } } public class Value { public float temperature { get; set; } } } public string @method { get { return "thing.event.cpuerror.post"; } set { } } }
複数の出力パラメータがある場合、イベントのイベントがの値で良い定義、クラスに対応しています。
{
...
...
public class Value
{
public float temperature { get; set; } /* *定义多个输出参数 */ } ... ... }
イベントのレポート:
Cpuerror cpuerror = new Cpuerror();
cpuerror.@params.value.temperature = 100.1F;
client.Thing_Event_Post<Cpuerror>(cpuerror, "cpuerror", false);
4)フォールトトレランスは、イベントALINKのJSONアップロードすることができ 容错
、コードを書くときに私たちに利便性をもたらします。、
たとえば、イベントをアップロードする上記のコードは、それを変更します。
public class Cpuerror
{
public string name = "cpuerror"; public Cpuerror() { @params = new Params(); } public string id { get { return DateTime.Now.Ticks.ToString(); } set { } } public string version { get { return "1.0"; } set { } } public Params @params { get; set; } public class Params { public Params() { value = new Value(); } public Value value { get; set; } public long time { get { return AliIoTClientJson.GetUnixTime(); } set { } } public class Value { public float temperature { get; set; } } } public string @method { get { return $"thing.event.{name}.post"; } set { } } }
Cpuerror cpuerror = new Cpuerror();
cpuerror.@params.value.temperature = 100.2F;
client.Thing_Event_Post<Cpuerror>(cpuerror, cpuerror.name, false);
メッセージIDのために不可欠であるなど、「より不可欠であることができる」、かかわらず、他の分野の例については、上記の例では、name属性を追加し、まで増やすことができ、およびアップロードの使用には影響しません。