来自 Azure 中 REST API 的数据
Data From REST API In Azure
我已经使用独立的 c# 控制台应用程序实现了 REST API 调用。我正在反序列化然后将其存储在数据库中的 API returns JSON 。
现在我想在 Azure 平台中实现整个逻辑,以便可以通过传递开始日期和结束日期以及存储位置来调用它(三个位置应该 运行)下面是代码:
static void Main()
{
MakeInventoryRequest();
}
static async void MakeInventoryRequest()
{
using (var client = new HttpClient())
{
var queryString = HttpUtility.ParseQueryString(string.Empty);
// Request headers
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "5051fx6yyy124hhfyuscf34f57ce9");
// Request parameters
queryString["query.locationNumbers"] = "4638";
queryString["availableFromDate"] = "2019-01-01";
queryString["availableToDate"] = "2019-03-07";
var uri = "https://api-test.location.cloud/api/v1/inventory?" + queryString;
using (var request = new HttpRequestMessage(HttpMethod.Get, uri))
using (var response = await client.SendAsync(request))
{
var stream = await response.Content.ReadAsStreamAsync();
if (response.IsSuccessStatusCode == true)
{
List<Inventory> l1 = DeserializeJsonFromStream<List<Inventory>>(stream);
InsertInventoryRecords(l1);
}
if (response.IsSuccessStatusCode == false)
{
throw new Exception("Error Response Code: " + response.StatusCode.ToString() + "Content is: " + response.Content.ReadAsStringAsync().Result.ToString());
}
}
}
}
请建议使用 Azure 组件的最佳设计
根据手头的信息,我认为您有多种选择,您需要找出最适合您的方法。您可以使用云服务来托管控制台应用程序(您必须将其更改为工作者角色,Visual studio 将帮助您进行转换)。我不确定您期望的负载,但您始终可以增加和减少实例,并且这些实例可以部署到不同的地理位置。
我看到您正在持久化数据,如果您想这样做,您可以使用许多 SQL 产品。要调用 REST API,您还可以使用 azure 函数和 ADF。
如果您想了解更多详情,请随时发表评论。
我已经使用独立的 c# 控制台应用程序实现了 REST API 调用。我正在反序列化然后将其存储在数据库中的 API returns JSON 。 现在我想在 Azure 平台中实现整个逻辑,以便可以通过传递开始日期和结束日期以及存储位置来调用它(三个位置应该 运行)下面是代码:
static void Main()
{
MakeInventoryRequest();
}
static async void MakeInventoryRequest()
{
using (var client = new HttpClient())
{
var queryString = HttpUtility.ParseQueryString(string.Empty);
// Request headers
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "5051fx6yyy124hhfyuscf34f57ce9");
// Request parameters
queryString["query.locationNumbers"] = "4638";
queryString["availableFromDate"] = "2019-01-01";
queryString["availableToDate"] = "2019-03-07";
var uri = "https://api-test.location.cloud/api/v1/inventory?" + queryString;
using (var request = new HttpRequestMessage(HttpMethod.Get, uri))
using (var response = await client.SendAsync(request))
{
var stream = await response.Content.ReadAsStreamAsync();
if (response.IsSuccessStatusCode == true)
{
List<Inventory> l1 = DeserializeJsonFromStream<List<Inventory>>(stream);
InsertInventoryRecords(l1);
}
if (response.IsSuccessStatusCode == false)
{
throw new Exception("Error Response Code: " + response.StatusCode.ToString() + "Content is: " + response.Content.ReadAsStringAsync().Result.ToString());
}
}
}
}
请建议使用 Azure 组件的最佳设计
根据手头的信息,我认为您有多种选择,您需要找出最适合您的方法。您可以使用云服务来托管控制台应用程序(您必须将其更改为工作者角色,Visual studio 将帮助您进行转换)。我不确定您期望的负载,但您始终可以增加和减少实例,并且这些实例可以部署到不同的地理位置。
我看到您正在持久化数据,如果您想这样做,您可以使用许多 SQL 产品。要调用 REST API,您还可以使用 azure 函数和 ADF。
如果您想了解更多详情,请随时发表评论。