Desarrollo de una API de datos mediante Azure Web App for Containers
El desarrollo de una API de datos mediante Azure Web App for Containers ofrece una solución sólida y escalable para aplicaciones modernas. Mediante el uso de la eficacia de los contenedores y los servicios administrados de Azure, los desarrolladores pueden compilar, implementar y administrar API con facilidad, lo que garantiza el rendimiento y la confiabilidad. Este enfoque no solo simplifica el proceso de desarrollo, sino que también mejora la portabilidad y escalabilidad de las aplicaciones, lo que lo convierte en una opción ideal para el panorama moderno de software actual.
Explorar las ventajas de usar Web App for Containers
Portabilidad: los contenedores encapsulan la aplicación y sus dependencias, lo que garantiza que se ejecuta de forma coherente en distintos entornos. Esto elimina el problema "funciona en mi máquina", lo que hace que la implementación en varias plataformas sea perfecta.
Escalabilidad: Azure Web App for Containers permite el escalado automático basado en la demanda. Esto significa que la API de datos puede controlar una mayor carga sin intervención manual, lo que garantiza una alta disponibilidad y rendimiento.
Administración simplificada: Azure administra la infraestructura subyacente, incluida la aplicación de revisiones del sistema operativo, el equilibrio de carga y el aprovisionamiento de capacidad. Esto permite a los desarrolladores centrarse en escribir código en lugar de administrar servidores.
Compilación de una API de datos mediante Azure Web App for Containers
Para compilar una API de datos mediante Azure Web App for Containers, debe crear una aplicación contenedora con la imagen DAB, asignar los permisos necesarios, configurar un Dockerfile y actualizar la aplicación con la nueva imagen y credenciales. Por último, recupere el nombre de dominio y pruebe la API.
Antes de empezar, asegúrese de tener una suscripción de Azure, un grupo de recursos y acceso a Azure Cloud Shell.
Crear una aplicación de contenedor
Puede crear una instancia de Azure Container Apps con los pasos siguientes.
Use
az containerapp env createpara crear un nuevo entorno de aplicaciones de contenedor de Azure.az containerapp env create \ --resource-group $RESOURCE_GROUP_NAME \ --name $CONTAINER_ENV_NAME \ --logs-destination none \ --location $LOCATIONUsa el comando
az containerapp createpara crear una aplicación de contenedor nueva utilizando la imagen de contenedor DAB de mcr.microsoft.com/azure-databases/data-api-builder.az containerapp create \ --resource-group $RESOURCE_GROUP_NAME \ --environment $CONTAINER_ENV_NAME \ --name $API_CONTAINER_NAME \ --image "mcr.microsoft.com/azure-databases/data-api-builder" \ --ingress "external" \ --target-port "5000" \ --system-assigned
A continuación, puede obtener el identificador principal de la identidad administrada mediante az identity show.
Asignación de permisos
Asigne los permisos de identidad administrada asignadas por el sistema para leer datos de Azure SQL y leer y escribir en Azure Container Registry.
az role assignment create \
--assignee $CURRENT_USER_PRINCIPAL_ID \
--role $ROLE_ID \
--scope $RESOURCE_GROUP_ID
Crear una instancia de Azure Container Registry
Para crear una nueva instancia de Azure Container Registry, ejecute el siguiente comando.
az acr create \
--resource-group $RESOURCE_GROUP_NAME \
--name <CONTAINER_REGISTRY_NAME> \
--sku "Standard" \
--location <LOCATION> \
--admin-enabled false
Compilación e implementación de una imagen de contenedor
Para la fase de compilación, use la imagen de contenedor mcr.microsoft.com/dotnet/sdk .
Instale la CLI de DAB.
RUN dotnet tool install Microsoft.DataApiBuilderCree un archivo de configuración para la conexión de Azure SQL Database a la base de datos de origen mediante la ejecución de
RUN dotnet tool run dab -- init.Cree entidades para asignar a las tablas de la base de datos de origen.
RUN dotnet tool run dab -- add Address --source "SalesLT.Address" --permissions "anonymous:read"Copie el archivo de configuración en la imagen final del contenedor mcr.microsoft.com/azure-databases/data-api-builder.
Compile la imagen como una tarea de registro de contenedor de Azure mediante la ejecución de
az acr buildpara compilar la imagen.Configure la aplicación contenedora para usar el registro de contenedor.
az containerapp registry set \ --name <container-app-name> \ --resource-group <resource-group-name> \ --server <container-registry-login-server> \ --username <container-registry-username> \ --password <container-registry-password>Cree un secreto con la cadena de conexión de Azure SQL.
az containerapp secret set \ --name <container-app-name> \ --resource-group <resource-group-name> \ --secrets "SQLConnectionString=<your-sql-connection-string>"Actualice la aplicación contenedora con la nueva imagen de contenedor personalizada y la cadena de conexión.
az containerapp update \ --name <container-app-name> \ --resource-group <resource-group-name> \ --image <container-registry-login-server>/<image-name>:<tag> \ --secrets "SQLConnectionString=<your-sql-connection-string>"Recupere el nombre de dominio completo de la aplicación contenedora.
az containerapp show \ --name <container-app-name> \ --resource-group <resource-group-name> \ --query "properties.configuration.ingress.fqdn" \ --output "tsv"
Estos pasos actualizan la aplicación contenedora de Azure con la nueva imagen de contenedor personalizada y las credenciales, y recuperan el nombre de dominio completo de la aplicación contenedora.
Por último, vaya a la dirección URL y pruebe la API para asegurarse de que todo funcione correctamente.
Nota:
Para obtener pasos detallados sobre cómo implementar Data API Builder en Azure Container Apps con la CLI de Azure, consulte Tutorial: Implementación de Data API Builder en Azure Container Apps con la CLI de Azure.