WeatherData.GetWeatherDataAsync(RequestContent, RequestContext) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne une liste de WeatherData.
public virtual System.Threading.Tasks.Task<Azure.Response> GetWeatherDataAsync (Azure.Core.RequestContent content, Azure.RequestContext context = default);
abstract member GetWeatherDataAsync : Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
override this.GetWeatherDataAsync : Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
Public Overridable Function GetWeatherDataAsync (content As RequestContent, Optional context As RequestContext = Nothing) As Task(Of Response)
Paramètres
- content
- RequestContent
Contenu à envoyer en tant que corps de la demande. Les détails du schéma du corps de la demande se trouvent dans la section Remarques ci-dessous.
- context
- RequestContext
Contexte de la demande, qui peut remplacer les comportements par défaut du pipeline client par appel.
Retours
Réponse retournée par le service. Les détails du schéma du corps de la réponse se trouvent dans la section Remarques ci-dessous.
Exceptions
content
a la valeur null.
Le service a retourné un code de status non réussi.
Exemples
Cet exemple montre comment appeler GetWeatherDataAsync avec le contenu de requête requis et comment analyser le résultat.
var credential = new DefaultAzureCredential();
var client = new FarmBeatsClient(credential).GetWeatherDataClient(<2022-11-01-preview>);
var data = new {
providerApiKey = "<providerApiKey>",
extensionId = "<extensionId>",
extensionApiName = "<extensionApiName>",
units = "<units>",
};
Response response = await client.GetWeatherDataAsync(RequestContent.Create(data));
JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("weatherMetadata").GetProperty("extensionVersion").ToString());
Console.WriteLine(result.GetProperty("weatherMetadata").GetProperty("weatherDataType").ToString());
Console.WriteLine(result.GetProperty("weatherMetadata").GetProperty("extensionId").ToString());
Console.WriteLine(result.GetProperty("weatherMetadata").GetProperty("extensionApiName").ToString());
Console.WriteLine(result.GetProperty("weatherMetadata").GetProperty("units").ToString());
Cet exemple montre comment appeler GetWeatherDataAsync avec tout le contenu de la demande et comment analyser le résultat.
var credential = new DefaultAzureCredential();
var client = new FarmBeatsClient(credential).GetWeatherDataClient(<2022-11-01-preview>);
var data = new {
locations = new[] {
new {
type = "LatLong",
value = "<value>",
}
},
providerAppId = "<providerAppId>",
providerApiKey = "<providerApiKey>",
extensionId = "<extensionId>",
extensionApiName = "<extensionApiName>",
language = "<language>",
startTimeHours = 1234,
endTimeHours = 1234,
duration = 1234,
units = "<units>",
additionalParams = new {
iconResolution = "<iconResolution>",
details = true,
},
};
Response response = await client.GetWeatherDataAsync(RequestContent.Create(data));
JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("weatherMetadata").GetProperty("extensionVersion").ToString());
Console.WriteLine(result.GetProperty("weatherMetadata").GetProperty("weatherDataType").ToString());
Console.WriteLine(result.GetProperty("weatherMetadata").GetProperty("extensionId").ToString());
Console.WriteLine(result.GetProperty("weatherMetadata").GetProperty("extensionApiName").ToString());
Console.WriteLine(result.GetProperty("weatherMetadata").GetProperty("language").ToString());
Console.WriteLine(result.GetProperty("weatherMetadata").GetProperty("startTimeHours").ToString());
Console.WriteLine(result.GetProperty("weatherMetadata").GetProperty("endTimeHours").ToString());
Console.WriteLine(result.GetProperty("weatherMetadata").GetProperty("duration").ToString());
Console.WriteLine(result.GetProperty("weatherMetadata").GetProperty("units").ToString());
Console.WriteLine(result.GetProperty("weatherMetadata").GetProperty("additionalParams").GetProperty("iconResolution").ToString());
Console.WriteLine(result.GetProperty("weatherMetadata").GetProperty("additionalParams").GetProperty("details").ToString());
Console.WriteLine(result.GetProperty("status").ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("location").GetProperty("type").ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("location").GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("requestCompletionTime").ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("lastRefreshedDateTime").ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("wetBulbTemperature").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("wetBulbTemperature").GetProperty("values")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("cloudCover").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("cloudCover").GetProperty("values")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("dayOfWeek")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("dayOrNight")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("expirationTime")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("iconCode")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("iconCodeExtend")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("hasPrecipitation")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("pressureMeanSeaLevel").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("pressureMeanSeaLevel").GetProperty("values")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("relativeHumidity").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("relativeHumidity").GetProperty("values")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("temperature").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("temperature").GetProperty("values")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("temperatureDewPoint").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("temperatureDewPoint").GetProperty("values")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("temperatureFeelsLike").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("temperatureFeelsLike").GetProperty("values")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("temperatureHeatIndex").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("temperatureHeatIndex").GetProperty("values")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("temperatureWindChill").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("temperatureWindChill").GetProperty("values")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("uvDescription")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("uvIndex")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("validTimeLocal")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("validTime")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("visibility").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("visibility").GetProperty("values")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("windDirection").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("windDirection").GetProperty("values")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("windGust").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("windGust").GetProperty("values")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("windSpeed").GetProperty("unit").ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("windSpeed").GetProperty("values")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("wxPhraseLong")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("wxPhraseShort")[0].ToString());
Console.WriteLine(result.GetProperty("locations")[0].GetProperty("data").GetProperty("additionalAttributes").GetProperty("<test>").ToString());
Console.WriteLine(result.GetProperty("errors").GetProperty("locations")[0].GetProperty("location").GetProperty("type").ToString());
Console.WriteLine(result.GetProperty("errors").GetProperty("locations")[0].GetProperty("location").GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("errors").GetProperty("locations")[0].GetProperty("code").ToString());
Console.WriteLine(result.GetProperty("errors").GetProperty("locations")[0].GetProperty("description").ToString());
Console.WriteLine(result.GetProperty("errors").GetProperty("locations")[0].GetProperty("retryable").ToString());
Remarques
Vous trouverez ci-dessous le schéma JSON pour les charges utiles de requête et de réponse.
Corps de la demande :
Schéma pour WeatherDataProviderRequest
:
{
locations: [
{
type: "LatLong" | "IataCode" | "IcaoCode" | "PlaceId" | "PostalKey", # Required. Location Type eg. LatLong/IataCode/IcaoCode/Placeid/PostalKey.
value: string, # Required. Location Value eg. "10,-25" for LocationType Type "LatLong".
}
], # Optional. List of locations for which weather data need to be fetched from the provider.
providerAppId: string, # Optional. App id of the weather data provider.
providerApiKey: string, # Required. Api key of the weather data provider.
extensionId: string, # Required. Id of the extension to be used for the providerInput. eg. DTN.ClearAg.
extensionApiName: string, # Required. Extension api name to which request is to be made.
language: string, # Optional. Language (IETF BCP 47 language tag) in which search results should be returned by the data provider. Examples: 'en-US', 'es', 'es-MX', 'fr-FR'.
startTimeHours: number, # Optional. Start of time range. Hour 0 represents the current hour. (Only applicable for DTN.ClearAg extension.)
endTimeHours: number, # Optional. End of time range. Supported ranges are from 0 to 240. (Only applicable for DTN.ClearAg extension.)
duration: number, # Optional. Specifies for how many days the daily forecast responses are returned. Available values are 1, 5, 10, 25 and 45. (Only applicable for Azure Weather Maps extension.)
units: string, # Required. Units for which request to data provider is to be sent. Supported values are 'e' for English units, 'm' for Metric units, 'h' for Hybrid units (UK) and 's' for Metric SI units.
additionalParams: {
iconResolution: string, # Optional. Icon Resolution (Only applicable for AzureWeatherMaps).
details: boolean, # Optional. Details (Only applicable for AzureWeatherMaps).
}, # Optional. Schema of additional parameters for weather data provider request.
}
Corps de réponse :
Schéma pour WeatherDataProviderResponse
:
{
weatherMetadata: {
extensionVersion: string, # Required. Version of the weather data extension.
weatherDataType: string, # Required. Type of weather data (forecast/historical).
extensionId: string, # Required. Id of the extension to be used for the providerInput. eg. DTN.ClearAg.
extensionApiName: string, # Required. Extension api name to which request is to be made.
language: string, # Optional. Language (IETF BCP 47 language tag) in which search results should be returned by the data provider. Examples: 'en-US', 'es', 'es-MX', 'fr-FR'.
startTimeHours: number, # Optional. Start of time range. Hour 0 represents the current hour. (Only applicable for DTN.ClearAg extension.)
endTimeHours: number, # Optional. End of time range. (Only applicable for DTN.ClearAg extension.)
duration: number, # Optional. Specifies for how many days the daily forecast responses are returned. Available values are 1, 5, 10, 25 and 45. (Only applicable for Azure Weather Maps extension.)
units: string, # Required. Units for which request to data provider is to be sent. Supported values are 'e' for English units, 'm' for Metric units, 'h' for Hybrid units (UK) and 's' for Metric SI units.
additionalParams: {
iconResolution: string, # Optional. Icon Resolution (Only applicable for AzureWeatherMaps).
details: boolean, # Optional. Details (Only applicable for AzureWeatherMaps).
}, # Optional. Schema of additional parameters for weather data provider request.
}, # Required. Schema of Weather Metadata.
status: "Succeeded" | "Failed" | "PartiallySucceeded", # Optional. Indicates a Succeeded, Failed, or PartiallySucceeded response.
locations: [
{
location: {
type: "LatLong" | "IataCode" | "IcaoCode" | "PlaceId" | "PostalKey", # Required. Location Type eg. LatLong/IataCode/IcaoCode/Placeid/PostalKey.
value: string, # Required. Location Value eg. "10,-25" for LocationType Type "LatLong".
}, # Optional. Schema of Location data.
requestCompletionTime: string, # Optional. Request Completion Time in Utc of the location.
lastRefreshedDateTime: string (ISO 8601 Format), # Optional. Date-time when resource was last requested, sample format: yyyy-MM-ddTHH:mm:ssZ.
data: {
wetBulbTemperature: {
unit: string, # Optional. Data unit.
values: [number], # Optional. Data values.
}, # Optional. Schema for storing measurement readings and unit.
cloudCover: Measures, # Optional. Schema for storing measurement readings and unit.
dayOfWeek: [string], # Optional. Day of week.
dayOrNight: [string], # Optional. This data field indicates whether it is daytime or nighttime based on the Local Apparent Time of the location.
expirationTime: [string], # Optional. Expiration time in Utc format.
iconCode: [string], # Optional. This number is the key to the weather icon lookup. The data field shows the icon number that is matched to represent the observed weather conditions.
iconCodeExtend: [string], # Optional. Code representing full set sensible weather.
hasPrecipitation: [boolean], # Optional. Indicates whether there is precipitation or not.
pressureMeanSeaLevel: Measures, # Optional. Schema for storing measurement readings and unit.
relativeHumidity: Measures, # Optional. Schema for storing measurement readings and unit.
temperature: Measures, # Optional. Schema for storing measurement readings and unit.
temperatureDewPoint: Measures, # Optional. Schema for storing measurement readings and unit.
temperatureFeelsLike: Measures, # Optional. Schema for storing measurement readings and unit.
temperatureHeatIndex: Measures, # Optional. Schema for storing measurement readings and unit.
temperatureWindChill: Measures, # Optional. Schema for storing measurement readings and unit.
uvDescription: [string], # Optional. The UV Index Description which complements the UV Index value by providing an associated level of risk of skin damage due to exposure (-2 = Not Available, -1 = No Report, 0 to 2 = Low, 3 to 5 = Moderate, 6 to 7 = High, 8 to 10 = Very High, 11 to 16 = Extreme).
uvIndex: [string], # Optional. Hourly maximum UV index.
validTimeLocal: [string], # Optional. Time forecast is valid in local apparent time.
validTime: [string], # Optional. Time forecast is valid in Utc format.
visibility: Measures, # Optional. Schema for storing measurement readings and unit.
windDirection: Measures, # Optional. Schema for storing measurement readings and unit.
windGust: Measures, # Optional. Schema for storing measurement readings and unit.
windSpeed: Measures, # Optional. Schema for storing measurement readings and unit.
wxPhraseLong: [string], # Optional. Hourly sensible weather phrase containing longer description.
wxPhraseShort: [string], # Optional. Hourly sensible weather phrase containing short description.
additionalAttributes: 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 250 characters. Note: A maximum of 100 key value pairs can be provided for a resource and only string and numeral values are supported.
}, # Optional. Schema of weather data.
}
], # Optional. List of weather data for all the weather locations.
errors: {
locations: [
{
location: WeatherLocation, # Optional. Schema of Location data.
code: number, # Optional. Status code returned by data provider.
description: string, # Optional. Description of the error.
retryable: boolean, # Optional. Flag suggesting if retry attempt with same request body should be made to fetch required data.
}
], # Optional. List of errors encountered for all failed locations.
}, # Optional. Model for errors encountered for all failed locations.
}
S’applique à
Azure SDK for .NET