Share via


Boundaries.SearchByPartyId(String, RequestContent, RequestContext) Method

Definition

Search for boundaries by fields and intersecting geometry.

public virtual Azure.Pageable<BinaryData> SearchByPartyId (string partyId, Azure.Core.RequestContent content, Azure.RequestContext context = default);
abstract member SearchByPartyId : string * Azure.Core.RequestContent * Azure.RequestContext -> Azure.Pageable<BinaryData>
override this.SearchByPartyId : string * Azure.Core.RequestContent * Azure.RequestContext -> Azure.Pageable<BinaryData>
Public Overridable Function SearchByPartyId (partyId As String, content As RequestContent, Optional context As RequestContext = Nothing) As Pageable(Of BinaryData)

Parameters

partyId
String

Id of the party.

content
RequestContent

The content to send as the body of the request. Details of the request body schema are in the Remarks section below.

context
RequestContext

The request context, which can override default behaviors of the client pipeline on a per-call basis.

Returns

The Pageable<T> from the service containing a list of BinaryData objects. Details of the body schema for each item in the collection are in the Remarks section below.

Exceptions

partyId or content is null.

partyId is an empty string, and was expected to be non-empty.

Service returned a non-success status code.

Examples

This sample shows how to call SearchByPartyId with required parameters and parse the result.

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

var data = new {};

foreach (var data in client.SearchByPartyId("<partyId>", RequestContent.Create(data)))
{
    JsonElement result = JsonDocument.Parse(data.ToStream()).RootElement;
    Console.WriteLine(result.ToString());
}

This sample shows how to call SearchByPartyId with all parameters and request content, and how to parse the result.

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

var data = new {
    ids = new[] {
        "<String>"
    },
    names = new[] {
        "<String>"
    },
    propertyFilters = new[] {
        "<String>"
    },
    statuses = new[] {
        "<String>"
    },
    minCreatedDateTime = "2022-05-10T18:57:31.2311892Z",
    maxCreatedDateTime = "2022-05-10T18:57:31.2311892Z",
    minLastModifiedDateTime = "2022-05-10T18:57:31.2311892Z",
    maxLastModifiedDateTime = "2022-05-10T18:57:31.2311892Z",
    maxPageSize = 1234,
    skipToken = "<skipToken>",
    parentType = "Field",
    type = "<type>",
    parentIds = new[] {
        "<String>"
    },
    minArea = 123.45d,
    maxArea = 123.45d,
    intersectsWithGeometry = new {
        coordinates = new[] {
            new[] {
                new[] {
                    new[] {
                        123.45d
                    }
                }
            }
        },
        type = "MultiPolygon",
    },
};

foreach (var data in client.SearchByPartyId("<partyId>", RequestContent.Create(data)))
{
    JsonElement result = JsonDocument.Parse(data.ToStream()).RootElement;
    Console.WriteLine(result.GetProperty("partyId").ToString());
    Console.WriteLine(result.GetProperty("parentId").ToString());
    Console.WriteLine(result.GetProperty("area").GetProperty("unit").ToString());
    Console.WriteLine(result.GetProperty("area").GetProperty("value").ToString());
    Console.WriteLine(result.GetProperty("parentType").ToString());
    Console.WriteLine(result.GetProperty("type").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());
}

Remarks

Below is the JSON schema for the request payload and one item in the pageable response.

Request Body:

Schema for SearchBoundaryQuery:

{
  ids: [string], # Optional. Ids of the resource.
  names: [string], # Optional. Names of the resource.
  propertyFilters: [string], # Optional. Filters on key-value pairs within the Properties object.
e.g. "{testKey} eq {testValue}".
  statuses: [string], # Optional. Statuses of the resource.
  minCreatedDateTime: string (ISO 8601 Format), # Optional. Minimum creation date of resource (inclusive).
  maxCreatedDateTime: string (ISO 8601 Format), # Optional. Maximum creation date of resource (inclusive).
  minLastModifiedDateTime: string (ISO 8601 Format), # Optional. Minimum last modified date of resource (inclusive).
  maxLastModifiedDateTime: string (ISO 8601 Format), # Optional. Maximum last modified date of resource (inclusive).
  maxPageSize: number, # Optional. Maximum number of items needed (inclusive).
Minimum = 10, Maximum = 1000, Default value = 50.
  skipToken: string, # Optional. Skip token for getting next set of results.
  parentType: "Field" | "SeasonalField" | "Zone" | "Prescription" | "PlantTissueAnalysis" | "ApplicationData" | "PlantingData" | "TillageData" | "HarvestData", # Optional. Type of the parent it belongs to.
  type: string, # Optional. Type it belongs to.
  parentIds: [string], # Optional. Parent Ids of the resource.
  minArea: number, # Optional. Minimum acreage of the boundary (inclusive).
  maxArea: number, # Optional. Maximum acreage of the boundary (inclusive).
  intersectsWithGeometry: {
    type: "Point" | "Polygon" | "MultiPolygon", # Required. GeoJSON object type.
  }, # Optional. GeoJSON (For more details: https://geojson.org/). Note: Coordinates are expected in [Longitude, Latitude] format.
}

Response Body:

Schema for BoundaryMetadataListResponseValue:

{
  partyId: string, # Optional. Party Id.
  parentId: string, # Optional. Id of the parent it belongs to.
  area: {
    unit: string, # Optional. Data unit.
    value: number, # Optional. Data value.
  }, # Optional. Schema for storing measurement reading and unit.
  parentType: "Field" | "SeasonalField" | "Zone" | "Prescription" | "PlantTissueAnalysis" | "ApplicationData" | "PlantingData" | "TillageData" | "HarvestData", # Optional. Type of the parent it belongs to.
  type: string, # Optional. Type it belongs to.
  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.
}

Applies to