1649850300
En este artículo, vamos a aprender cómo integrar la inyección de dependencia en las funciones de Azure. También crearemos una función de Azure desencadenante Http simple y CustomerService y luego inyectaremos el objeto de servicio en la función mediante DI.
Si es nuevo en las funciones de Azure, primero consulte los siguientes artículos:
En este artículo, discutiremos los siguientes temas,
La Inyección de Dependencia es un patrón de diseño de software que se utiliza para independizar una clase de sus dependencias y ayuda a lograr la Inversión de Control (IOC) y el bajo acoplamiento entre las clases y sus dependencias.
Según wiki ,
En ingeniería de software, la inyección de dependencia es una técnica en la que un objeto recibe otros objetos de los que depende. Estos otros objetos se denominan dependencias. En la típica relación de "uso", el objeto receptor se denomina cliente y el objeto pasado (es decir, "inyectado") se denomina servicio.
Para obtener más información sobre la inyección de dependencia, puede consultar este artículo. Podemos agregar la inyección de dependencia en la función de Azure similar a ASP.NET Core. Si desea obtener más información sobre la inyección de dependencias en el núcleo de ASP.NET, puede consultar este artículo .
Entonces, en este artículo, discutiremos cómo agregar la inyección de dependencia en las funciones de Azure.
Pasos para agregar inyección de dependencia en funciones de Azure
requisitos previos
Así que abra Visual Studio y vaya a Archivo -> Nuevo -> Proyecto. Busque "Funciones de Azure" en el cuadro de búsqueda y seleccione la plantilla de función de Azure y haga clic en Siguiente.
Asigne un nombre al proyecto de función y haga clic en Crear.
Seleccione la plantilla de activador HTTP y configure el nivel de Autorización como Anónimo y haga clic en Crear.
Eso es todo. Hemos creado nuestra primera función de Azure. Abra el archivo Function1.cs para ver la función generada.
Así que haga clic derecho en la solución -> Agregar -> Nuevo proyecto y luego seleccione la biblioteca de clases .NET Standard y haga clic en Siguiente. Luego dé el nombre y finalmente haga clic en Crear.
Ahora cree una clase llamada Cliente con las siguientes propiedades,
public class Customer
{
public string Name { get; set; }
public int Id { get; set; }
public string Country { get; set; }
}
Ahora cree una interfaz llamada ICustomerService.cs como se muestra a continuación,
using System.Collections.Generic;
namespace AzureFuncDependencyDemo.Customer.Service
{
public interface ICustomerService
{
List<Customer> GetCustomersData();
}
}
Y finalmente cree una clase que implemente el método "GetCustomersDataAsync" de la interfaz ICustomerService y devuelva una lista de Clientes.
using System.Collections.Generic;
namespace AzureFuncDependencyDemo.Customer.Service
{
public class CustomerService : ICustomerService
{
public List<Customer> GetCustomersData()
{
var customersData = new List<Customer>();
customersData.Add(new Customer()
{
Id = 101,
Name = "Customer1",
Country = "India"
});
customersData.Add(new Customer()
{
Id = 102,
Name = "Customer2",
Country = "USA"
});
return customersData;
}
}
}
Primero necesitamos instalar el siguiente paquete nuget en el proyecto de función de Azure,
Para inyectar dependencia, primero debemos crear una nueva clase llamada "Startup.cs" en la raíz del proyecto. Agregue el siguiente código a la clase que se usa al comienzo de la aplicación de funciones.
using AzureFuncDependencyDemo;
using AzureFuncDependencyDemo.Customer.Service;
using Microsoft.Azure.Functions.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;
[assembly: FunctionsStartup(typeof(Startup))]
namespace AzureFuncDependencyDemo
{
public class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
builder.Services.AddTransient<ICustomerService, CustomerService>();
}
}
}
Ahora agregue el siguiente código a la función para inyectar dependencia y obtener los datos del cliente.
using System.Threading.Tasks;
using AzureFuncDependencyDemo.Customer.Service;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
namespace AzureFuncDependencyDemo
{
public class Function1
{
private readonly ICustomerService customerService;
public Function1(ICustomerService _customerService)
{
customerService = _customerService;
}
[FunctionName("Function1")]
public async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequest req)
{
var customersData = await customerService.GetCustomersDataAsync();
return new OkObjectResult(customersData);
}
}
}
Ahora, para ejecutar la aplicación de funciones, solo necesitamos ejecutar el proyecto. A continuación, iniciará la función cli de Azure para ejecutar la función.
La función se ejecuta en 'http://localhost:7071/api/Function1'
Eso es todo. Ahora hemos configurado la inyección de dependencia en la aplicación de funciones de Azure.
Si queremos usar HttpClient para realizar una solicitud http, podemos inyectar la dependencia de HttpClient de la misma manera que nos gusta agregarla a NET Core. Así que agreguemos el siguiente paquete nuget,
Después de eso, abra la clase Startup.cs y agregue la siguiente línea para inyectar la dependencia de HttpClient.
using AzureFuncDependencyDemo.Customer.Service;
using Microsoft.Azure.Functions.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;
[assembly: FunctionsStartup(typeof(AzureFuncDependencyDemo.Startup))]
namespace AzureFuncDependencyDemo
{
public class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
builder.Services.AddHttpClient();
builder.Services.AddTransient<ICustomerService, CustomerService>();
}
}
}
Ahora cree otra función azul y use HttpClient para obtener los datos del usuario usando la API simulada ' jsonplaceholder.typicode.com/users '. Haga clic derecho en la solución y haga clic en Agregar -> Nueva función de Azure.
Seleccione la función de Azure y asígnele el nombre "GetUsers" y haga clic en el botón Agregar.
Seleccione el tipo de activación de la función como HttpTrigger y el nivel de autorización como Anónimo.
Ahora agregue el siguiente código para obtener los datos del usuario.
using System.Net.Http;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Extensions.Logging;
namespace AzureFuncDependencyDemo
{
public class GetUsers
{
private readonly HttpClient _httpClient;
public GetUsers(HttpClient httpClient)
{
_httpClient = httpClient;
}
[FunctionName("GetUsers")]
public async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
var responseMessage = await _httpClient.GetAsync("http://jsonplaceholder.typicode.com/users");
var usersData = responseMessage.Content.ReadAsStringAsync().Result;
return new OkObjectResult(usersData);
}
}
}
Aquí hemos inyectado la dependencia de HttpClient usando Constructor y luego llamamos al método GetAsync para obtener datos de la API. Así que ejecute la aplicación y vea el resultado.
En este artículo, hemos creado una nueva función de Azure y un servicio de atención al cliente simulado simple de Visual Studio. Además, demostré cómo inyectar la dependencia de CustomerService en la aplicación de funciones de Azure y también cómo inyectarla en la función. Realmente espero que disfrutes este artículo, lo compartas con tus amigos y no dudes en enviarme tus pensamientos o comentarios.
Estén atentos para obtener más artículos sobre funciones de Azure.
¡Feliz codificación!
Fuente: https://www.c-sharpcorner.com/article/how-to-add/
1649850300
En este artículo, vamos a aprender cómo integrar la inyección de dependencia en las funciones de Azure. También crearemos una función de Azure desencadenante Http simple y CustomerService y luego inyectaremos el objeto de servicio en la función mediante DI.
Si es nuevo en las funciones de Azure, primero consulte los siguientes artículos:
En este artículo, discutiremos los siguientes temas,
La Inyección de Dependencia es un patrón de diseño de software que se utiliza para independizar una clase de sus dependencias y ayuda a lograr la Inversión de Control (IOC) y el bajo acoplamiento entre las clases y sus dependencias.
Según wiki ,
En ingeniería de software, la inyección de dependencia es una técnica en la que un objeto recibe otros objetos de los que depende. Estos otros objetos se denominan dependencias. En la típica relación de "uso", el objeto receptor se denomina cliente y el objeto pasado (es decir, "inyectado") se denomina servicio.
Para obtener más información sobre la inyección de dependencia, puede consultar este artículo. Podemos agregar la inyección de dependencia en la función de Azure similar a ASP.NET Core. Si desea obtener más información sobre la inyección de dependencias en el núcleo de ASP.NET, puede consultar este artículo .
Entonces, en este artículo, discutiremos cómo agregar la inyección de dependencia en las funciones de Azure.
Pasos para agregar inyección de dependencia en funciones de Azure
requisitos previos
Así que abra Visual Studio y vaya a Archivo -> Nuevo -> Proyecto. Busque "Funciones de Azure" en el cuadro de búsqueda y seleccione la plantilla de función de Azure y haga clic en Siguiente.
Asigne un nombre al proyecto de función y haga clic en Crear.
Seleccione la plantilla de activador HTTP y configure el nivel de Autorización como Anónimo y haga clic en Crear.
Eso es todo. Hemos creado nuestra primera función de Azure. Abra el archivo Function1.cs para ver la función generada.
Así que haga clic derecho en la solución -> Agregar -> Nuevo proyecto y luego seleccione la biblioteca de clases .NET Standard y haga clic en Siguiente. Luego dé el nombre y finalmente haga clic en Crear.
Ahora cree una clase llamada Cliente con las siguientes propiedades,
public class Customer
{
public string Name { get; set; }
public int Id { get; set; }
public string Country { get; set; }
}
Ahora cree una interfaz llamada ICustomerService.cs como se muestra a continuación,
using System.Collections.Generic;
namespace AzureFuncDependencyDemo.Customer.Service
{
public interface ICustomerService
{
List<Customer> GetCustomersData();
}
}
Y finalmente cree una clase que implemente el método "GetCustomersDataAsync" de la interfaz ICustomerService y devuelva una lista de Clientes.
using System.Collections.Generic;
namespace AzureFuncDependencyDemo.Customer.Service
{
public class CustomerService : ICustomerService
{
public List<Customer> GetCustomersData()
{
var customersData = new List<Customer>();
customersData.Add(new Customer()
{
Id = 101,
Name = "Customer1",
Country = "India"
});
customersData.Add(new Customer()
{
Id = 102,
Name = "Customer2",
Country = "USA"
});
return customersData;
}
}
}
Primero necesitamos instalar el siguiente paquete nuget en el proyecto de función de Azure,
Para inyectar dependencia, primero debemos crear una nueva clase llamada "Startup.cs" en la raíz del proyecto. Agregue el siguiente código a la clase que se usa al comienzo de la aplicación de funciones.
using AzureFuncDependencyDemo;
using AzureFuncDependencyDemo.Customer.Service;
using Microsoft.Azure.Functions.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;
[assembly: FunctionsStartup(typeof(Startup))]
namespace AzureFuncDependencyDemo
{
public class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
builder.Services.AddTransient<ICustomerService, CustomerService>();
}
}
}
Ahora agregue el siguiente código a la función para inyectar dependencia y obtener los datos del cliente.
using System.Threading.Tasks;
using AzureFuncDependencyDemo.Customer.Service;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
namespace AzureFuncDependencyDemo
{
public class Function1
{
private readonly ICustomerService customerService;
public Function1(ICustomerService _customerService)
{
customerService = _customerService;
}
[FunctionName("Function1")]
public async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequest req)
{
var customersData = await customerService.GetCustomersDataAsync();
return new OkObjectResult(customersData);
}
}
}
Ahora, para ejecutar la aplicación de funciones, solo necesitamos ejecutar el proyecto. A continuación, iniciará la función cli de Azure para ejecutar la función.
La función se ejecuta en 'http://localhost:7071/api/Function1'
Eso es todo. Ahora hemos configurado la inyección de dependencia en la aplicación de funciones de Azure.
Si queremos usar HttpClient para realizar una solicitud http, podemos inyectar la dependencia de HttpClient de la misma manera que nos gusta agregarla a NET Core. Así que agreguemos el siguiente paquete nuget,
Después de eso, abra la clase Startup.cs y agregue la siguiente línea para inyectar la dependencia de HttpClient.
using AzureFuncDependencyDemo.Customer.Service;
using Microsoft.Azure.Functions.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;
[assembly: FunctionsStartup(typeof(AzureFuncDependencyDemo.Startup))]
namespace AzureFuncDependencyDemo
{
public class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
builder.Services.AddHttpClient();
builder.Services.AddTransient<ICustomerService, CustomerService>();
}
}
}
Ahora cree otra función azul y use HttpClient para obtener los datos del usuario usando la API simulada ' jsonplaceholder.typicode.com/users '. Haga clic derecho en la solución y haga clic en Agregar -> Nueva función de Azure.
Seleccione la función de Azure y asígnele el nombre "GetUsers" y haga clic en el botón Agregar.
Seleccione el tipo de activación de la función como HttpTrigger y el nivel de autorización como Anónimo.
Ahora agregue el siguiente código para obtener los datos del usuario.
using System.Net.Http;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Extensions.Logging;
namespace AzureFuncDependencyDemo
{
public class GetUsers
{
private readonly HttpClient _httpClient;
public GetUsers(HttpClient httpClient)
{
_httpClient = httpClient;
}
[FunctionName("GetUsers")]
public async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
var responseMessage = await _httpClient.GetAsync("http://jsonplaceholder.typicode.com/users");
var usersData = responseMessage.Content.ReadAsStringAsync().Result;
return new OkObjectResult(usersData);
}
}
}
Aquí hemos inyectado la dependencia de HttpClient usando Constructor y luego llamamos al método GetAsync para obtener datos de la API. Así que ejecute la aplicación y vea el resultado.
En este artículo, hemos creado una nueva función de Azure y un servicio de atención al cliente simulado simple de Visual Studio. Además, demostré cómo inyectar la dependencia de CustomerService en la aplicación de funciones de Azure y también cómo inyectarla en la función. Realmente espero que disfrutes este artículo, lo compartas con tus amigos y no dudes en enviarme tus pensamientos o comentarios.
Estén atentos para obtener más artículos sobre funciones de Azure.
¡Feliz codificación!
1624713540
This article is a part of the series – Learn NoSQL in Azure where we explore Azure Cosmos DB as a part of the non-relational database system used widely for a variety of applications. Azure Cosmos DB is a part of Microsoft’s serverless databases on Azure which is highly scalable and distributed across all locations that run on Azure. It is offered as a platform as a service (PAAS) from Azure and you can develop databases that have a very high throughput and very low latency. Using Azure Cosmos DB, customers can replicate their data across multiple locations across the globe and also across multiple locations within the same region. This makes Cosmos DB a highly available database service with almost 99.999% availability for reads and writes for multi-region modes and almost 99.99% availability for single-region modes.
In this article, we will focus more on how Azure Cosmos DB works behind the scenes and how can you get started with it using the Azure Portal. We will also explore how Cosmos DB is priced and understand the pricing model in detail.
As already mentioned, Azure Cosmos DB is a multi-modal NoSQL database service that is geographically distributed across multiple Azure locations. This helps customers to deploy the databases across multiple locations around the globe. This is beneficial as it helps to reduce the read latency when the users use the application.
As you can see in the figure above, Azure Cosmos DB is distributed across the globe. Let’s suppose you have a web application that is hosted in India. In that case, the NoSQL database in India will be considered as the master database for writes and all the other databases can be considered as a read replicas. Whenever new data is generated, it is written to the database in India first and then it is synchronized with the other databases.
While maintaining data over multiple regions, the most common challenge is the latency as when the data is made available to the other databases. For example, when data is written to the database in India, users from India will be able to see that data sooner than users from the US. This is due to the latency in synchronization between the two regions. In order to overcome this, there are a few modes that customers can choose from and define how often or how soon they want their data to be made available in the other regions. Azure Cosmos DB offers five levels of consistency which are as follows:
In most common NoSQL databases, there are only two levels – Strong and Eventual. Strong being the most consistent level while Eventual is the least. However, as we move from Strong to Eventual, consistency decreases but availability and throughput increase. This is a trade-off that customers need to decide based on the criticality of their applications. If you want to read in more detail about the consistency levels, the official guide from Microsoft is the easiest to understand. You can refer to it here.
Now that we have some idea about working with the NoSQL database – Azure Cosmos DB on Azure, let us try to understand how the database is priced. In order to work with any cloud-based services, it is essential that you have a sound knowledge of how the services are charged, otherwise, you might end up paying something much higher than your expectations.
If you browse to the pricing page of Azure Cosmos DB, you can see that there are two modes in which the database services are billed.
Let’s learn about this in more detail.
#azure #azure cosmos db #nosql #azure #nosql in azure #azure cosmos db
1649858700
En este artículo, hablaremos sobre Application Insights y cómo integrar Application Insight en la aplicación Azure Function. También crearemos una aplicación de funciones de Azure simple y también registraremos datos en la información de la aplicación.
Si es nuevo en las funciones de Azure, primero consulte los artículos a continuación,
En este artículo, cubriremos los siguientes temas,
Al crear una aplicación en la nube o una aplicación local, el monitoreo siempre nos ayuda a analizar y depurar rápidamente cualquier problema. Azure Monitor es un servicio proporcionado por Azure para monitorear, analizar, mejorar la disponibilidad y el rendimiento de su aplicación.
De acuerdo con los documentos de Microsoft ,
Application Insights, una característica de Azure Monitor, es un servicio extensible de administración del rendimiento de aplicaciones (APM) para desarrolladores y profesionales de DevOps. Úselo para monitorear sus aplicaciones en vivo. Detectará automáticamente anomalías de rendimiento e incluye poderosas herramientas de análisis para ayudarlo a diagnosticar problemas y comprender qué hacen realmente los usuarios con su aplicación.
La información de la aplicación recopila datos de telemetría de las aplicaciones conectadas y proporciona Métricas en vivo, análisis de registros , etc. Podemos integrar la información de la aplicación en la función de Azure de varias maneras, como se muestra a continuación:
requisitos previos
Cuando creamos una aplicación de función y también creamos información de la aplicación junto con eso, la clave de instrumentación ya está configurada en la configuración de la aplicación con el nombre APPINSIGHTS_INSTRUMENTATIONKEY
Después de eso, haga clic en el botón "Agregar" para agregar una nueva aplicación de función. Complete los detalles básicos,
Si ya ha creado una aplicación de función y en ese momento no ha habilitado Application Insight, entonces puede integrar la aplicación de función a la información de aplicación existente si tiene alguna o crear un nuevo recurso de información de aplicación e integrarlo con su aplicación de función. .
Para que la aplicación de funciones envíe datos a Application Insight, se requiere la clave de instrumentación del recurso de Application Insight. En primer lugar, crearemos una aplicación de funciones localmente con Visual Studio y agregaremos la clave de instrumentación en el archivo local.settings.json.
En este artículo, hemos discutido sobre Application Insights y también diferentes formas de integrar la información de la aplicación en la aplicación de funciones de Azure. Realmente espero que disfrutes este artículo, lo compartas con tus amigos y no dudes en enviarme tus pensamientos o comentarios.
Estén atentos para obtener más artículos sobre funciones de Azure.
¡Feliz codificación!
Fuente: https://www.c-sharpcorner.com/article/how-to-integrate-application-insights-into-azure-functions/
1617255938
Si tiene problemas para migrar los buzones de correo de Exchange a Office 365, debe leer este artículo para saber cómo migrar los buzones de correo de Exchange EDB a Office 365. Al migrar a Office 365, los usuarios pueden acceder a sus buzones de correo desde cualquier lugar y desde cualquier dispositivo.
En esta publicación, explicaremos las razones detrás de esta migración y una solución profesional para migrar de Exchange a Office 365.
Office 365 apareció por primera vez en 2011 y, dado que se considera la mejor plataforma para aquellas organizaciones que desean administrar todo su sistema de correo electrónico en la nube. Estas son las características clave de Office 365:
Hay varias formas manuales de migrar los buzones de correo de Exchange EDB a Office 365, pero para evitar estos complicados y prolongados procedimientos, presentamos una solución de terceros, es decir, la herramienta de migración de Exchange, que es automatizada y directa para la migración de Exchange a Office 365. La herramienta funciona rápidamente y migra todos los elementos del buzón de Exchange Server a Office 365.
La herramienta de migración de Datavare Exchange es demasiado fácil de usar y ofrece pasos sencillos para migrar EDB a Office 365:
Por lo tanto, todos sus buzones de correo de Exchange EDB ahora se migran a Office 365.
Nota: puede usar filtros para migrar los elementos de datos deseados de la cuenta de Exchange a la de Office 365
Este blog le indica una solución profesional para la migración de buzones de correo de Exchange a la cuenta de Office 365. Dado que las soluciones manuales son complicadas, sugerimos la herramienta de migración de Exchange, que es demasiado simple de usar. Los usuarios no se enfrentan a problemas al operar el programa. La mejor parte de este software es que no necesita habilidades técnicas para realizar la migración. Se puede comprender el funcionamiento del software descargando la versión de demostración que permite la migración de los primeros 50 elementos por carpeta.
Más información:- https://www.datavare.com/software/edb-migration.html
#herramienta de migración de intercambio #migración de intercambio #migrar buzones de correo de exchange
1620435660
In this article, you learn how to set up Azure Data Sync services. In addition, you will also learn how to create and set up a data sync group between Azure SQL database and on-premises SQL Server.
In this article, you will see:
Azure Data Sync —a synchronization service set up on an Azure SQL Database. This service synchronizes the data across multiple SQL databases. You can set up bi-directional data synchronization where data ingest and egest process happens between the SQL databases—It can be between Azure SQL database and on-premises and/or within the cloud Azure SQL database. At this moment, the only limitation is that it will not support Azure SQL Managed Instance.
#azure #sql azure #azure sql #azure data sync #azure sql #sql server