Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este inicio rápido, creará un proveedor de recursos personalizado e implementará recursos personalizados para ese proveedor de recursos. Para más información sobre los proveedores de recursos personalizados, consulte Introducción a los proveedores de recursos personalizados de Azure.
Prerrequisitos
- Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
- Para completar los pasos de este inicio rápido, es preciso llamar a operaciones
REST. Hay diferentes formas de enviar solicitudes REST.
Prepare el entorno para la CLI de Azure.
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Introducción a Azure Cloud Shell.
Si prefieres ejecutar comandos de referencia CLI localmente, instala la CLI de Azure. Si estás utilizando Windows o macOS, considera ejecutar Azure CLI en un contenedor Docker. Para obtener más información, consulte Cómo ejecutar el Azure CLI en un contenedor de Docker.
Si estás utilizando una instalación local, inicia sesión en Azure CLI utilizando el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Autenticación en Azure mediante la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para obtener más información sobre las extensiones, consulte Uso y administración de extensiones con la CLI de Azure.
Ejecute az version para ver la versión y las bibliotecas dependientes que están instaladas. Para actualizar a la versión más reciente, ejecute az upgrade.
Los ejemplos de la CLI de Azure usan az rest para las REST peticiones. Para obtener más información, consulte az rest.
Implementación del proveedor de recursos personalizado
Para configurar el proveedor de recursos personalizado, implemente una plantilla de ejemplo en la suscripción de Azure.
La plantilla implementa los siguientes recursos en la suscripción:
- Aplicación de funciones con las operaciones para los recursos y las acciones.
- Cuenta de almacenamiento para almacenar usuarios creados a través del proveedor de recursos personalizado.
- Proveedor de recursos personalizado que define los tipos y acciones de recursos personalizados. Usa el punto de conexión de la aplicación de funciones para enviar solicitudes.
- Recurso personalizado del proveedor de recursos personalizados.
Para implementar el proveedor de recursos personalizado, use la CLI de Azure, PowerShell o Azure Portal.
En este ejemplo se le pide que escriba un grupo de recursos, una ubicación y el nombre de la aplicación de funciones del proveedor. Los nombres se almacenan en variables que se usan en otros comandos. Los comandos az group create y az deployment group create implementan los recursos.
read -p "Enter a resource group name:" rgName &&
read -p "Enter the location (i.e. eastus):" location &&
read -p "Enter the provider's function app name:" funcName &&
templateUri="https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/custom-providers/customprovider.json" &&
az group create --name $rgName --location "$location" &&
az deployment group create --resource-group $rgName --template-uri $templateUri --parameters funcName=$funcName &&
echo "Press [ENTER] to continue ..." &&
read
Para implementar la plantilla desde Azure Portal, seleccione el botón Implementar en Azure .
Ver el proveedor de recursos personalizado y el recurso
En el portal, el proveedor de recursos personalizado es un tipo de recurso oculto. Para confirmar que se implementó el proveedor de recursos, vaya al grupo de recursos y seleccione Mostrar tipos ocultos.
Para ver el recurso personalizado que ha implementado, use la operación GET en su tipo de recurso. El tipo Microsoft.CustomProviders/resourceProviders/users de recurso que se muestra en la respuesta JSON incluye el recurso creado por la plantilla.
GET https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users?api-version=2018-09-01-preview
subID=$(az account show --query id --output tsv)
requestURI="https://management.azure.com/subscriptions/$subID/resourceGroups/$rgName/providers/Microsoft.CustomProviders/resourceProviders/$funcName/users?api-version=2018-09-01-preview"
az rest --method get --uri $requestURI
Recibirá la respuesta:
{
"value": [
{
"id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/ana",
"name": "ana",
"properties": {
"FullName": "Ana Bowman",
"Location": "Moon",
"provisioningState": "Succeeded"
},
"type": "Microsoft.CustomProviders/resourceProviders/users"
}
]
}
Llamada a la acción
El proveedor de recursos personalizado también tiene una acción denominada ping. El código que procesa la solicitud se implementa en la aplicación de funciones. La ping acción responde con un saludo.
Para enviar una ping solicitud, utilice la operación POST en su acción.
POST https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/ping?api-version=2018-09-01-preview
pingURI="https://management.azure.com/subscriptions/$subID/resourceGroups/$rgName/providers/Microsoft.CustomProviders/resourceProviders/$funcName/ping?api-version=2018-09-01-preview"
az rest --method post --uri $pingURI
Recibirá la respuesta:
{
"message": "hello <function-name>.azurewebsites.net",
"pingcontent": {
"source": "<function-name>.azurewebsites.net"
}
}
Uso de PUT para crear un recurso
En este inicio rápido, la plantilla usó el tipo Microsoft.CustomProviders/resourceProviders/users de recurso para implementar un recurso. También puede usar una PUT operación para crear un recurso. Por ejemplo, si un recurso no se implementa con la plantilla, la PUT operación creará un recurso.
En este ejemplo, dado que la plantilla ya ha implementado un recurso, la PUT operación crea un nuevo recurso.
PUT https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/<resource-name>?api-version=2018-09-01-preview
{"properties":{"FullName": "Test User", "Location": "Earth"}}
addURI="https://management.azure.com/subscriptions/$subID/resourceGroups/$rgName/providers/Microsoft.CustomProviders/resourceProviders/$funcName/users/testuser?api-version=2018-09-01-preview"
az rest --method put --uri $addURI --body "{'properties':{'FullName': 'Test User', 'Location': 'Earth'}}"
Recibirá la respuesta:
{
"id": "/subscriptions/<sub-ID>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/testuser",
"name": "testuser",
"properties": {
"FullName": "Test User",
"Location": "Earth",
"provisioningState": "Succeeded"
},
"type": "Microsoft.CustomProviders/resourceProviders/users"
}
Puede volver a ejecutar la GET operación desde la vista del proveedor de recursos personalizado y la sección de recursos para mostrar los dos recursos que se crearon. En este ejemplo se muestra la salida del comando de la CLI de Azure.
{
"value": [
{
"id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/ana",
"name": "ana",
"properties": {
"FullName": "Ana Bowman",
"Location": "Moon",
"provisioningState": "Succeeded"
},
"type": "Microsoft.CustomProviders/resourceProviders/users"
},
{
"id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/testuser",
"name": "testuser",
"properties": {
"FullName": "Test User",
"Location": "Earth",
"provisioningState": "Succeeded"
},
"type": "Microsoft.CustomProviders/resourceProviders/users"
}
]
}
Comandos de proveedor de recursos personalizados
Use los comandos de proveedores personalizados para trabajar con el proveedor de recursos personalizado.
Enumeración de proveedores de recursos personalizados
Use el list comando para mostrar todos los proveedores de recursos personalizados en una suscripción. El valor predeterminado enumera los proveedores de recursos personalizados de la suscripción actual o puede especificar el --subscription parámetro . Para enumerar un grupo de recursos, use el --resource-group parámetro .
az custom-providers resource-provider list --subscription $subID
[
{
"actions": [
{
"endpoint": "https://<provider-name>.azurewebsites.net/api/{requestPath}",
"name": "ping",
"routingType": "Proxy"
}
],
"id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceproviders/<provider-name>",
"location": "eastus",
"name": "<provider-name>",
"provisioningState": "Succeeded",
"resourceGroup": "<rg-name>",
"resourceTypes": [
{
"endpoint": "https://<provider-name>.azurewebsites.net/api/{requestPath}",
"name": "users",
"routingType": "Proxy, Cache"
}
],
"tags": {},
"type": "Microsoft.CustomProviders/resourceproviders",
"validations": null
}
]
Mostrar las propiedades
Use el show comando para mostrar las propiedades del proveedor de recursos personalizados. El formato de salida es similar a la list salida.
az custom-providers resource-provider show --resource-group $rgName --name $funcName
Creación de un nuevo recurso
Use el create comando para crear o actualizar un proveedor de recursos personalizado. En este ejemplo se actualizan los actions y resourceTypes.
az custom-providers resource-provider create --resource-group $rgName --name $funcName \
--action name=ping endpoint=https://myTestSite.azurewebsites.net/api/{requestPath} routing_type=Proxy \
--resource-type name=users endpoint=https://myTestSite.azurewebsites.net/api/{requestPath} routing_type="Proxy, Cache"
"actions": [
{
"endpoint": "https://myTestSite.azurewebsites.net/api/{requestPath}",
"name": "ping",
"routingType": "Proxy"
}
],
"resourceTypes": [
{
"endpoint": "https://myTestSite.azurewebsites.net/api/{requestPath}",
"name": "users",
"routingType": "Proxy, Cache"
}
],
Actualizar las etiquetas del proveedor
El update comando solo actualiza las etiquetas de un proveedor de recursos personalizado. En el portal de Azure, el servicio de aplicación del proveedor de recursos personalizado muestra la etiqueta.
az custom-providers resource-provider update --resource-group $rgName --name $funcName --tags new=tag
"tags": {
"new": "tag"
},
Eliminación de un proveedor de recursos personalizado
El comando delete le solicita una acción y elimina solo el proveedor de recursos personalizado. La cuenta de almacenamiento, el servicio de aplicaciones y el plan de servicio de aplicaciones no se eliminan. Una vez eliminado el proveedor, se le devuelve a la consola de comandos.
az custom-providers resource-provider delete --resource-group $rgName --name $funcName
Limpieza de recursos
Si ha terminado con los recursos creados en este artículo, puede eliminar el grupo de recursos. Al eliminar un grupo de recursos, se eliminan todos los recursos de ese grupo de recursos.
az group delete --resource-group $rgName
Pasos siguientes
Para obtener una introducción a los proveedores de recursos personalizados, consulte el siguiente artículo: