resource porta microsoft management azure azure-web-sites

microsoft - portal azure web



Escalado de sitios web Azure (1)

Sí, podemos usar la biblioteca Microsoft.WindowsAzure.Management.Websites para escalar hacia arriba y hacia abajo de las aplicaciones web. Utilizando el método WebSiteManagementClient.WebHostingPlans.UpdateAsync(webspaceName, webHostingPlanName, webHostingPlanUpdateParameters) para implementarlo.

Hice una demostración para hacer esto. Los siguientes son mis pasos detallados:

1. Instale Microsoft.WindowsAzure.Management.WebSites que podemos obtener desde el enlace .

2. Cree el objeto WebsiteManagementClient .

Usé el certificado para crear el cliente de webmagement.

  • Cree un certificado con makecert.exe que se encuentra debajo de la carpeta VS después de instalar el VS.

    makecert -sky exchange -r -n "CN=[CertificateName]" -pe -a sha1 -len 2048 -ss My "[CertificateName].cer

  • Sube el. Certificado de archivo en el portal de Azure y luego obtener la huella digital

3. Usando el código para generar el objeto WebsiteManagementClient

public static X509Certificate2 GetCert(string thumbprint) { X509Store certStore = new X509Store(StoreName.My, StoreLocation.CurrentUser); certStore.Open(OpenFlags.ReadOnly); X509Certificate2Collection certCollection = certStore.Certificates.Find(X509FindType.FindByThumbprint, thumbprint, false); if (certCollection.Count <= 0) return null; X509Certificate2 cert = certCollection[0]; return cert; }

var cert = GetCert(string thumbprint) var subscriptionId ="Your subscriptionId" var webSiteManagementClient = new WebSiteManagementClient(new CertificateCloudCredentials(subscriptionId, cert));

4.Construya los parámetros de WebHostingPlanUpdateParameters

var webHostingPlanUpdateParameters = new WebHostingPlanUpdateParameters { NumberOfWorkers = 1, //the number of the instances SKU = SkuOptions.Standard, WorkerSize = WorkerSizeOptions.Small };

5. Actualice los WebHostingPlans con código

client.WebHostingPlans.UpdateAsync(webspaceName, webHostingPlanName, webHostingPlanUpdateParameters);

Nota: si intenta ejecutar el proyecto en Azure. Consulte el documento Uso de certificados en las aplicaciones de Azure Websites . Agregar una configuración de aplicación denominada WEBSITE_LOAD_CERTIFICATES con su valor establecido en la huella digital del certificado hará que sea accesible para su aplicación web

¿Puedo escalar aplicaciones web / aplicaciones API azules utilizando las bibliotecas de administración de Azure? Básicamente, quiero implementar la ampliación y disminución de las aplicaciones web para controlar la aceleración. Por lo tanto, necesito escalar la aplicación web y las aplicaciones api a través del código C #. ¿Alguna sugerencia para cualquier biblioteca apropiada / API ReST?

Con la ayuda de la respuesta que se menciona a continuación, entiendo cómo actualizar el plan de servicio de la aplicación para ampliar, sin embargo, no puedo encontrar el nombre del plan de alojamiento web para mi servicio de la aplicación. Intenté con el siguiente código, y el plan de alojamiento siempre es nulo.

var regionName = "myregion"; var credentials = GetCredentials(); var websiteManagementClient = CloudContext.Clients.CreateWebSiteManagementClient(credentials); var webSpaces = websiteManagementClient.WebSpaces.List(); var webSpace = webSpaces.FirstOrDefault(x => x.GeoRegion == regionName); if (webSpace == null) { throw new Exception(string.Format("No webspace for region {0} found", regionName)); } var webHostingPlans = websiteManagementClient.WebHostingPlans.List(webSpace.Name); var webHostingPlan = webHostingPlans.FirstOrDefault();// this is null always, I know an APP service exists in this region