Devices.CreateOrUpdate(String, String, RequestContent, RequestContext) 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 dispositivo.
public virtual Azure.Response CreateOrUpdate (string sensorPartnerId, string deviceId, 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, deviceId As String, content As RequestContent, Optional context As RequestContext = Nothing) As Response
Parâmetros
- sensorPartnerId
- String
Id do parceiro do sensor.
- deviceId
- String
Id do recurso do dispositivo.
- 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
, deviceId
ou content
é nulo.
sensorPartnerId
ou deviceId
é 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 analisar o resultado.
var credential = new DefaultAzureCredential();
var client = new FarmBeatsClient(credential).GetDevicesClient(<2022-11-01-preview>);
var data = new {};
Response response = client.CreateOrUpdate("<sensorPartnerId>", "<deviceId>", RequestContent.Create(data));
JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.ToString());
Este exemplo mostra como chamar CreateOrUpdate com todos os parâmetros e solicitar conteúdo e como analisar o resultado.
var credential = new DefaultAzureCredential();
var client = new FarmBeatsClient(credential).GetDevicesClient(<2022-11-01-preview>);
var data = new {
deviceDataModelId = "<deviceDataModelId>",
integrationId = "<integrationId>",
type = "<type>",
hardwareId = "<hardwareId>",
reportingIntervalInSeconds = 1234,
parentDeviceId = "<parentDeviceId>",
location = new {
latitude = 123.45d,
longitude = 123.45d,
},
status = "<status>",
name = "<name>",
description = "<description>",
properties = new {
key = new {},
},
};
Response response = client.CreateOrUpdate("<sensorPartnerId>", "<deviceId>", RequestContent.Create(data));
JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("deviceDataModelId").ToString());
Console.WriteLine(result.GetProperty("integrationId").ToString());
Console.WriteLine(result.GetProperty("type").ToString());
Console.WriteLine(result.GetProperty("hardwareId").ToString());
Console.WriteLine(result.GetProperty("reportingIntervalInSeconds").ToString());
Console.WriteLine(result.GetProperty("parentDeviceId").ToString());
Console.WriteLine(result.GetProperty("location").GetProperty("latitude").ToString());
Console.WriteLine(result.GetProperty("location").GetProperty("longitude").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 as cargas de solicitação e resposta.
Corpo da solicitação:
Esquema para Device
:
{
deviceDataModelId: string, # Optional. Id of the associated device data model.
integrationId: string, # Optional. Integration id for the device.
type: string, # Optional. Type of device.
hardwareId: string, # Optional. Device hardwareId.
reportingIntervalInSeconds: number, # Optional. Interval at which the device sends data in seconds.
parentDeviceId: string, # Optional. Parent device Id for this device.
location: {
latitude: number, # Required. Latitude of the location.
longitude: number, # Required. Longitude of the location.
}, # Optional. Location model class.
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 Device
:
{
deviceDataModelId: string, # Optional. Id of the associated device data model.
integrationId: string, # Optional. Integration id for the device.
type: string, # Optional. Type of device.
hardwareId: string, # Optional. Device hardwareId.
reportingIntervalInSeconds: number, # Optional. Interval at which the device sends data in seconds.
parentDeviceId: string, # Optional. Parent device Id for this device.
location: {
latitude: number, # Required. Latitude of the location.
longitude: number, # Required. Longitude of the location.
}, # Optional. Location model class.
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