次の方法で共有


HarvestData.CreateOrUpdateAsync メソッド

定義

特定のパーティの下に収集データ リソースを作成または更新します。

public virtual System.Threading.Tasks.Task<Azure.Response> CreateOrUpdateAsync (string partyId, string harvestDataId, Azure.Core.RequestContent content, Azure.RequestContext context = default);
abstract member CreateOrUpdateAsync : string * string * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
override this.CreateOrUpdateAsync : string * string * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
Public Overridable Function CreateOrUpdateAsync (partyId As String, harvestDataId As String, content As RequestContent, Optional context As RequestContext = Nothing) As Task(Of Response)

パラメーター

partyId
String

パーティの ID。

harvestDataId
String

ハーベスト データ リソースの ID。

content
RequestContent

要求の本文として送信するコンテンツ。 要求本文スキーマの詳細については、以下の「解説」セクションを参照してください。

context
RequestContext

要求コンテキスト。これは、クライアント パイプラインの既定の動作を呼び出しごとにオーバーライドできます。

戻り値

サービスから返された応答。 応答本文スキーマの詳細については、以下の「解説」セクションを参照してください。

例外

partyIdharvestDataId、または content が null です。

partyId または harvestDataId が空の文字列であり、空でないと想定されていました。

サービスから成功以外の状態コードが返されました。

このサンプルでは、必要なパラメーターを指定して CreateOrUpdateAsync を呼び出し、結果を解析する方法を示します。

var credential = new DefaultAzureCredential();
var client = new FarmBeatsClient(credential).GetHarvestDataClient(<2022-11-01-preview>);

var data = new {};

Response response = await client.CreateOrUpdateAsync("<partyId>", "<harvestDataId>", RequestContent.Create(data));

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.ToString());

このサンプルでは、すべてのパラメーターと要求コンテンツを使用して CreateOrUpdateAsync を呼び出す方法と、結果を解析する方法を示します。

var credential = new DefaultAzureCredential();
var client = new FarmBeatsClient(credential).GetHarvestDataClient(<2022-11-01-preview>);

var data = new {
    totalYield = new {
        unit = "<unit>",
        value = 123.45d,
    },
    avgYield = new {
        unit = "<unit>",
        value = 123.45d,
    },
    totalWetMass = new {
        unit = "<unit>",
        value = 123.45d,
    },
    avgWetMass = new {
        unit = "<unit>",
        value = 123.45d,
    },
    avgMoisture = new {
        unit = "<unit>",
        value = 123.45d,
    },
    avgSpeed = new {
        unit = "<unit>",
        value = 123.45d,
    },
    harvestProductDetails = new[] {
        new {
            productName = "<productName>",
            area = new {
                unit = "<unit>",
                value = 123.45d,
            },
            totalYield = new {
                unit = "<unit>",
                value = 123.45d,
            },
            avgYield = new {
                unit = "<unit>",
                value = 123.45d,
            },
            avgMoisture = new {
                unit = "<unit>",
                value = 123.45d,
            },
            totalWetMass = new {
                unit = "<unit>",
                value = 123.45d,
            },
            avgWetMass = new {
                unit = "<unit>",
                value = 123.45d,
            },
        }
    },
    area = new {
        unit = "<unit>",
        value = 123.45d,
    },
    operationModifiedDateTime = "2022-05-10T18:57:31.2311892Z",
    operationStartDateTime = "2022-05-10T18:57:31.2311892Z",
    operationEndDateTime = "2022-05-10T18:57:31.2311892Z",
    associatedBoundaryId = "<associatedBoundaryId>",
    status = "<status>",
    source = "<source>",
    name = "<name>",
    description = "<description>",
    properties = new {
        key = new {},
    },
};

Response response = await client.CreateOrUpdateAsync("<partyId>", "<harvestDataId>", RequestContent.Create(data));

JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("totalYield").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("totalYield").GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("avgYield").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("avgYield").GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("totalWetMass").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("totalWetMass").GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("avgWetMass").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("avgWetMass").GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("avgMoisture").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("avgMoisture").GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("avgSpeed").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("avgSpeed").GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("harvestProductDetails")[0].GetProperty("productName").ToString());
Console.WriteLine(result.GetProperty("harvestProductDetails")[0].GetProperty("area").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("harvestProductDetails")[0].GetProperty("area").GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("harvestProductDetails")[0].GetProperty("totalYield").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("harvestProductDetails")[0].GetProperty("totalYield").GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("harvestProductDetails")[0].GetProperty("avgYield").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("harvestProductDetails")[0].GetProperty("avgYield").GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("harvestProductDetails")[0].GetProperty("avgMoisture").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("harvestProductDetails")[0].GetProperty("avgMoisture").GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("harvestProductDetails")[0].GetProperty("totalWetMass").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("harvestProductDetails")[0].GetProperty("totalWetMass").GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("harvestProductDetails")[0].GetProperty("avgWetMass").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("harvestProductDetails")[0].GetProperty("avgWetMass").GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("area").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("area").GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("operationModifiedDateTime").ToString());
Console.WriteLine(result.GetProperty("operationStartDateTime").ToString());
Console.WriteLine(result.GetProperty("operationEndDateTime").ToString());
Console.WriteLine(result.GetProperty("attachmentsLink").ToString());
Console.WriteLine(result.GetProperty("associatedBoundaryId").ToString());
Console.WriteLine(result.GetProperty("partyId").ToString());
Console.WriteLine(result.GetProperty("id").ToString());
Console.WriteLine(result.GetProperty("eTag").ToString());
Console.WriteLine(result.GetProperty("status").ToString());
Console.WriteLine(result.GetProperty("createdDateTime").ToString());
Console.WriteLine(result.GetProperty("modifiedDateTime").ToString());
Console.WriteLine(result.GetProperty("source").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 スキーマを次に示します。

要求本文:

HarvestDataスキーマ:

{
  totalYield: {
    unit: string, # Optional. Data unit.
    value: number, # Optional. Data value.
  }, # Optional. Schema for storing measurement reading and unit.
  avgYield: Measure, # Optional. Schema for storing measurement reading and unit.
  totalWetMass: Measure, # Optional. Schema for storing measurement reading and unit.
  avgWetMass: Measure, # Optional. Schema for storing measurement reading and unit.
  avgMoisture: Measure, # Optional. Schema for storing measurement reading and unit.
  avgSpeed: Measure, # Optional. Schema for storing measurement reading and unit.
  harvestProductDetails: [
    {
      productName: string, # Optional. Name of the product.
      area: Measure, # Optional. Schema for storing measurement reading and unit.
      totalYield: Measure, # Optional. Schema for storing measurement reading and unit.
      avgYield: Measure, # Optional. Schema for storing measurement reading and unit.
      avgMoisture: Measure, # Optional. Schema for storing measurement reading and unit.
      totalWetMass: Measure, # Optional. Schema for storing measurement reading and unit.
      avgWetMass: Measure, # Optional. Schema for storing measurement reading and unit.
    }
  ], # Optional. Harvest product details.
  area: Measure, # Optional. Schema for storing measurement reading and unit.
  operationModifiedDateTime: string (ISO 8601 Format), # Optional. Modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.
Note: this will be specified by the source provider itself.
  operationStartDateTime: string (ISO 8601 Format), # Optional. Start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.
  operationEndDateTime: string (ISO 8601 Format), # Optional. End date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.
  attachmentsLink: string, # Optional. Link for attachments.
  associatedBoundaryId: string, # Optional. Optional boundary ID of the field for which operation was applied.
  partyId: string, # Optional. Party ID which belongs to the operation data.
  id: string, # Optional. Unique resource ID.
  eTag: string, # Optional. The ETag value to implement optimistic concurrency.
  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.
  source: string, # Optional. Source of the resource.
  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.
}

応答本文:

HarvestDataスキーマ:

{
  totalYield: {
    unit: string, # Optional. Data unit.
    value: number, # Optional. Data value.
  }, # Optional. Schema for storing measurement reading and unit.
  avgYield: Measure, # Optional. Schema for storing measurement reading and unit.
  totalWetMass: Measure, # Optional. Schema for storing measurement reading and unit.
  avgWetMass: Measure, # Optional. Schema for storing measurement reading and unit.
  avgMoisture: Measure, # Optional. Schema for storing measurement reading and unit.
  avgSpeed: Measure, # Optional. Schema for storing measurement reading and unit.
  harvestProductDetails: [
    {
      productName: string, # Optional. Name of the product.
      area: Measure, # Optional. Schema for storing measurement reading and unit.
      totalYield: Measure, # Optional. Schema for storing measurement reading and unit.
      avgYield: Measure, # Optional. Schema for storing measurement reading and unit.
      avgMoisture: Measure, # Optional. Schema for storing measurement reading and unit.
      totalWetMass: Measure, # Optional. Schema for storing measurement reading and unit.
      avgWetMass: Measure, # Optional. Schema for storing measurement reading and unit.
    }
  ], # Optional. Harvest product details.
  area: Measure, # Optional. Schema for storing measurement reading and unit.
  operationModifiedDateTime: string (ISO 8601 Format), # Optional. Modified date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.
Note: this will be specified by the source provider itself.
  operationStartDateTime: string (ISO 8601 Format), # Optional. Start date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.
  operationEndDateTime: string (ISO 8601 Format), # Optional. End date-time of the operation data, sample format: yyyy-MM-ddTHH:mm:ssZ.
  attachmentsLink: string, # Optional. Link for attachments.
  associatedBoundaryId: string, # Optional. Optional boundary ID of the field for which operation was applied.
  partyId: string, # Optional. Party ID which belongs to the operation data.
  id: string, # Optional. Unique resource ID.
  eTag: string, # Optional. The ETag value to implement optimistic concurrency.
  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.
  source: string, # Optional. Source of the resource.
  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.
}

適用対象