SensorDataModels.CreateOrUpdate Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Criar uma entidade de modelo de dados do sensor.
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
Parâmetros
- sensorPartnerId
- String
ID do parceiro do sensor.
- sensorDataModelId
- String
ID do modelo de dados do sensor.
- content
- RequestContent
O conteúdo a ser enviado como o corpo da solicitação. Os detalhes do esquema do corpo da solicitação estão na seção Comentários abaixo.
- context
- RequestContext
O contexto de solicitação, que pode substituir os comportamentos padrão do pipeline do cliente por chamada.
Retornos
A resposta retornada do serviço. Os detalhes do esquema do corpo da resposta estão na seção Comentários abaixo.
Exceções
sensorPartnerId
, sensorDataModelId
ou content
é nulo.
sensorPartnerId
ou sensorDataModelId
é uma cadeia de caracteres vazia e esperava-se que não estivesse vazia.
O serviço retornou um código de status sem êxito.
Exemplos
Este exemplo mostra como chamar CreateOrUpdate com os parâmetros necessários e o conteúdo da solicitação e como analisar o resultado.
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());
Este exemplo mostra como chamar CreateOrUpdate com todos os parâmetros e conteúdo da solicitação e como analisar o resultado.
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());
Comentários
Abaixo está o esquema JSON para os conteúdos de solicitação e resposta.
Corpo da solicitação:
Esquema para 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.
}
Corpo da resposta:
Esquema para 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.
}
Aplica-se a
Azure SDK for .NET