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 artículo se describen los problemas conocidos de las plantillas de Bicep para los recursos de Microsoft Graph y las soluciones si existen.
Importante
Microsoft Graph Bicep está actualmente en versión preliminar. Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.
Recursos secundarios
Los recursos secundarios son recursos que solo existen con el contexto de otro recurso. Un ejemplo es federatedIdentityCredentials
, que es un recurso secundario de applications
.
Bicep proporciona tres maneras diferentes de declarar un recurso secundario. Con los recursos extensibles de Bicep, como los recursos de Microsoft Graph, no se admiten todos estos mecanismos.
Puede resolver los errores de recursos secundarios de creación o tiempo de implementación enumerados mediante:
- en el mecanismo de recursos primario (preferido) o
- el elemento primario externo sin especificar el mecanismo de propiedades primario.
La opción que elija, el nombre de la propiedad de identificador actualmente solo admite el nombre de recurso completo, como <parent-identifier>/<child-identifier>
.
Error de linting: no se permite la propiedad "parent" en objetos de tipo "Microsoft.Graph/<full resource name of child resource>" (Nombre de recurso secundario)
Durante la creación de archivos de Bicep, si especifica la parent
propiedad verá este error de linting.
Los recursos extensibles, como los recursos de Microsoft Graph, no tienen compatibilidad integrada con la parent
propiedad como los recursos de Azure, por lo que no se puede admitir el mecanismo de recursos primario externo, actualmente.
Error de Linting: quitar la entrada de dependsOn innecesaria "<parent-identifier-name>"
Si se hace referencia al recurso primario en el nombre completo del recurso, verá este error de linting porque la dependsOn
propiedad no es necesaria, ya que la referencia implica dependsOn
. Sin embargo, si el nombre completo del recurso se define como texto sin formato, dependsOn
se requiere; de lo contrario, la implementación de Bicep no tendría idea de la dependencia.
Error de implementación: formato de identificador no válido para {<parent-identifier>/<child-identifier>}
Este error de implementación indica que el valor de la propiedad de identificador de nombre para la declaración de recursos secundarios no usa el formato de nombre de recurso completo: <parent-identifier>/<child-identifier>
.
Error de implementación: esta aplicación {0} no está autorizada para llamar a Microsoft Graph mediante una plantilla de Bicep
Al intentar implementar interactivamente un archivo de Bicep que contiene recursos de Microsoft Graph mediante aplicaciones como Visual Studio Code (en VS Code, haga clic con el botón derecho en "Implementar archivo Bicep..." y otras aplicaciones personalizadas, verá este mensaje de error:
[{"code":"Forbidden","target":"/resources/resourceApp","message":"This application {0} is not authorized to call Microsoft Graph using a Bicep template. Currently only Azure CLI and Azure PowerShell are supported for interactive deployments using a signed-in user."}]
Solo se admiten aplicaciones de Azure PowerShell y la CLI de Azure para implementaciones interactivas de recursos de Microsoft Graph.
Esta restricción no se aplica a las implementaciones de solo aplicación (también conocidas como implementaciones sin interacción o inicio de sesión con entidades de servicio).
La implementación con Azure PowerShell o una aplicación personalizada tiene errores inesperados sobre tipos, versiones, propiedades o funcionalidades desconocidos
Después de actualizar la extensión de Bicep para VS Code, también debe actualizar la CLI de Bicep para que coincida con la versión de la extensión de Bicep para aprovechar las nuevas características o definiciones de tipo de recurso nuevas o actualizadas. Si usa la CLI de Azure, le advierte si hay disponible una versión más reciente. Sin embargo, Azure PowerShell no ofrece esta advertencia y la única pista que se obtiene es cuando se produce un error en la implementación, probablemente con un error con el tipo desconocido, la versión, la propiedad o la funcionalidad.
Solución
Actualice la versión de la CLI de Bicep para que coincida con la versión de la extensión de Bicep de Visual Studio Code.
- Para comprobar la versión de la CLI de Bicep, abra un símbolo del sistema y use:
bicep --version
Si el número de versión es diferente del número de versión de la extensión de BICEP de VS Code, continúe con el paso 3 para la CLI de Azure y el paso 4 para la instalación o actualización manual (si usa algo distinto de la CLI de Azure).
Si usa la CLI de Azure, puede actualizar la versión instalada a la versión más reciente mediante el siguiente comando:
az bicep upgrade
- Si usa Azure PowerShell o una aplicación personalizada para las implementaciones, debe actualizar manualmente. Siga los pasos descritos en Instalación de Bicep para la plataforma.
Error de implementación: ya existe otro objeto con el mismo valor para property uniqueName.
Al volver a implementar un archivo de Bicep con recursos de Microsoft Graph, es posible ver este mensaje de error.
Sucede si uno de los recursos de Microsoft Graph declarados en el archivo bicep se elimina del servicio, quizás a través de Microsoft Graph PowerShell, la CLI o la API REST. Cuando se vuelve a implementar el archivo bicep, el servicio no puede volver a crear el recurso porque un error en el servicio indica un conflicto en el valor de nombre único entre el elemento recién creado y el del contenedor de elementos eliminados.
Solución
Hay algunas opciones que puede tomar:
- Elimine permanentemente el elemento eliminado y vuelva a implementar el archivo de Bicep.
- Especifique un nombre único diferente en el archivo de Bicep y vuelva a implementarlo.
- Restaure el elemento eliminado y vuelva a implementar el archivo de Bicep.
Error de implementación: se produce un error en la implementación solo de la aplicación cuando la propiedad membershipRule se declara en un grupo
Cuando se usa la implementación solo de la aplicación, si el archivo de Bicep contiene una declaración de un recurso de grupos con la propiedad membershipRule , la implementación produce un error con el siguiente mensaje de error:
{
"error": {
"code":"BadRequest",
"target":"/resources/<groupsResourceName>",
"message":"AppOnly OBO tokens not supported by target service. ..."
}
}
Este problema se debe a un microservicio auxiliar, que se usa para admitir la característica de pertenencia dinámica de grupos, no admite actualmente flujos de automatización de implementación de plantillas.
Error de implementación: no se puede establecer el identificador de comprobación del publicador (MPN) en una aplicación
Al definir un recurso de aplicación con una verifiedPublisher.publisherVerificationId
propiedad , se produce un error en la implementación con el siguiente mensaje de error:
{
"error": {
"code":"Forbidden",
"message":"verifiedPublisher properties cannot be set during Application creation. Graph client request id: {request-id-value}. Graph request timestamp: {UTC-timestamp-value}."
}
}
La verifiedPublisher
propiedad es de solo lectura y, por tanto verifiedPublisherId
, no se puede establecer en la definición de recursos de la aplicación. Actualmente, se utiliza un endpoint diferente en Microsoft Graph para establecer el publicador comprobado, en lugar de establecer la propiedad en el recurso de la aplicación.
Solución
Cree el recurso de aplicación sin definir un verifiedPublisher
. A continuación, use la API rest de Microsoft Graph u otras opciones, como la CLI y PS, para establecer el publicador comprobado. Esta operación también se puede incorporar en un script de implementación dentro del archivo de Bicep.
Error de implementación: no se pueden implementar propiedades de secuencia como el logotipo de la aplicación
Aunque las propiedades del flujo (como la propiedad logo
del recurso de aplicación) se pueden definir en las definiciones de recursos de Bicep de Microsoft Graph, la implementación de estos recursos produce un error de "Contenido inesperado en el cuerpo de la solicitud", sin importar cómo se formatee la propiedad en el archivo Bicep.
En Microsoft Graph, las propiedades de secuencia deben actualizarse por separado del resto de las propiedades del tipo de recurso. Aunque logo
se expone como propiedad de la aplicación, actualmente no se puede actualizar directamente, ya que se modela en Microsoft Graph Bicep.
Solución
Cree el recurso de aplicación sin definir ninguna propiedad de flujo, como logo
en application
. A continuación, use la API rest de Microsoft Graph u otras opciones como CLI y PS para establecer la propiedad stream. Por ejemplo, para la propiedad de aplicación logo
, establezca el logotipo de la aplicación mediante REST o establezca el logotipo de la aplicación mediante PowerShell. Esta operación también se puede incorporar en un script de implementación dentro del archivo de Bicep.