你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

SensorDataModels.CreateOrUpdate 方法

定义

创建传感器数据模型实体。

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

请求上下文,可以基于每个调用替代客户端管道的默认行为。

返回

从服务返回的响应。 响应正文架构的详细信息,请参阅下面的“备注”部分。

例外

sensorPartnerIdsensorDataModelIdcontent 为 null。

sensorPartnerIdsensorDataModelId 是空字符串,预期为非空。

服务返回了非成功状态代码。

示例

此示例演示如何使用所需的参数和请求内容调用 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.
}

适用于