你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
SensorDataModels.CreateOrUpdate 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建传感器数据模型实体。
public virtual Azure.Response CreateOrUpdate (string sensorPartnerId, string sensorDataModelId, Azure.Core.RequestContent content, Azure.RequestContext context = default);
abstract member CreateOrUpdate : string * string * Azure.Core.RequestContent * Azure.RequestContext -> Azure.Response
override this.CreateOrUpdate : string * string * Azure.Core.RequestContent * Azure.RequestContext -> Azure.Response
Public Overridable Function CreateOrUpdate (sensorPartnerId As String, sensorDataModelId As String, content As RequestContent, Optional context As RequestContext = Nothing) As Response
参数
- sensorPartnerId
- String
传感器合作伙伴的 ID。
- sensorDataModelId
- String
传感器数据模型的 ID。
- content
- RequestContent
要作为请求正文发送的内容。 请求正文架构的详细信息,请参阅下面的“备注”部分。
- context
- RequestContext
请求上下文,可以基于每个调用替代客户端管道的默认行为。
返回
从服务返回的响应。 响应正文架构的详细信息,请参阅下面的“备注”部分。
例外
sensorPartnerId
、sensorDataModelId
或 content
为 null。
sensorPartnerId
或 sensorDataModelId
是空字符串,预期为非空。
服务返回了非成功状态代码。
示例
此示例演示如何使用所需的参数和请求内容调用 CreateOrUpdate,以及如何分析结果。
var credential = new DefaultAzureCredential();
var client = new FarmBeatsClient(credential).GetSensorDataModelsClient(<2022-11-01-preview>);
var data = new {
measures = new {
key = new {
dataType = "Bool",
},
},
};
Response response = client.CreateOrUpdate("<sensorPartnerId>", "<sensorDataModelId>", RequestContent.Create(data));
JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("measures").GetProperty("<test>").GetProperty("dataType").ToString());
此示例演示如何使用所有参数和请求内容调用 CreateOrUpdate,以及如何分析结果。
var credential = new DefaultAzureCredential();
var client = new FarmBeatsClient(credential).GetSensorDataModelsClient(<2022-11-01-preview>);
var data = new {
type = "<type>",
manufacturer = "<manufacturer>",
productCode = "<productCode>",
measures = new {
key = new {
description = "<description>",
dataType = "Bool",
type = "<type>",
unit = "<unit>",
properties = new {
key = new {},
},
},
},
status = "<status>",
name = "<name>",
description = "<description>",
properties = new {
key = new {},
},
};
Response response = client.CreateOrUpdate("<sensorPartnerId>", "<sensorDataModelId>", RequestContent.Create(data));
JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("type").ToString());
Console.WriteLine(result.GetProperty("manufacturer").ToString());
Console.WriteLine(result.GetProperty("productCode").ToString());
Console.WriteLine(result.GetProperty("measures").GetProperty("<test>").GetProperty("description").ToString());
Console.WriteLine(result.GetProperty("measures").GetProperty("<test>").GetProperty("dataType").ToString());
Console.WriteLine(result.GetProperty("measures").GetProperty("<test>").GetProperty("type").ToString());
Console.WriteLine(result.GetProperty("measures").GetProperty("<test>").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("measures").GetProperty("<test>").GetProperty("properties").GetProperty("<test>").ToString());
Console.WriteLine(result.GetProperty("sensorPartnerId").ToString());
Console.WriteLine(result.GetProperty("id").ToString());
Console.WriteLine(result.GetProperty("status").ToString());
Console.WriteLine(result.GetProperty("createdDateTime").ToString());
Console.WriteLine(result.GetProperty("modifiedDateTime").ToString());
Console.WriteLine(result.GetProperty("eTag").ToString());
Console.WriteLine(result.GetProperty("name").ToString());
Console.WriteLine(result.GetProperty("description").ToString());
Console.WriteLine(result.GetProperty("createdBy").ToString());
Console.WriteLine(result.GetProperty("modifiedBy").ToString());
Console.WriteLine(result.GetProperty("properties").GetProperty("<test>").ToString());
注解
下面是请求和响应有效负载的 JSON 架构。
请求正文:
的 SensorDataModel
架构:
{
type: string, # Optional. Type of sensor.
manufacturer: string, # Optional. Sensor manufacturer.
productCode: string, # Optional. Sensor productCode.
measures: Dictionary<string, SensorDataModelMeasure>, # Required. Map of sensor type to sensor measures.
sensorPartnerId: string, # Optional. Id of the associated sensor partner.
id: string, # Optional. Id of the resource.
status: string, # Optional. Status of the resource.
createdDateTime: string (ISO 8601 Format), # Optional. Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.
modifiedDateTime: string (ISO 8601 Format), # Optional. Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.
eTag: string, # Optional. The ETag value to implement optimistic concurrency.
name: string, # Optional. Name to identify resource.
description: string, # Optional. Textual description of the resource.
createdBy: string, # Optional. Created by user/tenant id.
modifiedBy: string, # Optional. Modified by user/tenant id.
properties: Dictionary<string, any>, # Optional. A collection of key value pairs that belongs to the resource.
Each pair must not have a key greater than 50 characters
and must not have a value greater than 150 characters.
Note: A maximum of 25 key value pairs can be provided for a resource and
only string, numeral and datetime (yyyy-MM-ddTHH:mm:ssZ) values are supported.
}
响应正文:
的 SensorDataModel
架构:
{
type: string, # Optional. Type of sensor.
manufacturer: string, # Optional. Sensor manufacturer.
productCode: string, # Optional. Sensor productCode.
measures: Dictionary<string, SensorDataModelMeasure>, # Required. Map of sensor type to sensor measures.
sensorPartnerId: string, # Optional. Id of the associated sensor partner.
id: string, # Optional. Id of the resource.
status: string, # Optional. Status of the resource.
createdDateTime: string (ISO 8601 Format), # Optional. Date-time when resource was created, sample format: yyyy-MM-ddTHH:mm:ssZ.
modifiedDateTime: string (ISO 8601 Format), # Optional. Date-time when resource was last modified, sample format: yyyy-MM-ddTHH:mm:ssZ.
eTag: string, # Optional. The ETag value to implement optimistic concurrency.
name: string, # Optional. Name to identify resource.
description: string, # Optional. Textual description of the resource.
createdBy: string, # Optional. Created by user/tenant id.
modifiedBy: string, # Optional. Modified by user/tenant id.
properties: Dictionary<string, any>, # Optional. A collection of key value pairs that belongs to the resource.
Each pair must not have a key greater than 50 characters
and must not have a value greater than 150 characters.
Note: A maximum of 25 key value pairs can be provided for a resource and
only string, numeral and datetime (yyyy-MM-ddTHH:mm:ssZ) values are supported.
}