Aprovisionamiento de recursos en la nube en Microsoft Visual Studio
TeamsFx se integra con Azure y la nube de Microsoft 365, lo que permite colocar la aplicación en Azure con un solo comando. TeamsFx se integra con Azure Resource Manager (ARM), lo que permite aprovisionar recursos de Azure que la aplicación necesita para el enfoque de código.
Inicio de sesión en su cuenta de Azure
Abra Visual Studio.
Abra el proyecto aplicación de Microsoft Teams.
Seleccione ProjectTeams ToolkitProvision in the Cloud (Aprovisionamiento del kit > de herramientas de Project> Teams en la nube).
Seleccione Iniciar sesión....
Nota:
Si ya ha iniciado sesión, se muestra el nombre de usuario o tiene una opción para Agregar una cuenta.
Una vez que haya iniciado sesión en su cuenta de Azure con sus credenciales, el explorador se cerrará automáticamente.
Aprovisionar recursos en la nube
Después de abrir el proyecto en Visual Studio, para aprovisionar recursos en la nube, siga estos pasos:
Seleccione ProjectTeams ToolkitProvision in the Cloud... (Aprovisionamiento del kit > de herramientas de Project> Teams en la nube...).
Aparece la ventana Aprovisionar .
Escriba los detalles siguientes para aprovisionar los recursos:
- Seleccione el nombre de la suscripción en el menú desplegable.
- Seleccione el grupo de recursos en el menú desplegable o puede crear un nuevo grupo de recursos seleccionando Nuevo....
- Seleccione la región en el menú desplegable.
- Seleccione Aprovisionar.
En la ventana emergente que aparece, seleccione Aprovisionar.
El proceso de aprovisionamiento crea recursos en la nube de Azure. Puede supervisar el progreso observando la ventana de salida del kit de herramientas de Microsoft Teams.
En la ventana emergente que aparece, para ver todos los recursos aprovisionados, seleccione Ver recursos aprovisionados.
Aprovisionamiento de acciones
Las siguientes acciones están diseñadas para el aprovisionamiento:
- teamsApp/create
- teamsApp/update
- teamsApp/validateManifest
- teamsApp/validateAppPackage
- teamsApp/zipAppPackage
- teamsApp/publishAppPackage
- aadApp/create
- aadApp/update
- botAadApp/create
- arm/deploy
- azureStorage/enableStaticWebsite
- Guión
teamsApp/create
Si la variable de entorno que almacena el identificador de aplicación de Teams está vacía o no se encuentra el identificador de la aplicación en el Portal para desarrolladores de Teams, la teamsApp/create
acción crea una nueva aplicación de Teams. Funciona en la aplicación Teams en el Portal para desarrolladores de Teams.
- uses: teamsApp/create
with:
# #required. Name of Teams app
name: <your-preferred-app-name>
# Write the information of created resources into environment file for the specified environment variable(s).
writeToEnvironmentFile:
# The id for Teams app
teamsAppId: <your-preferred-env-var-name>
teamsApp/update
Al aplicar el manifiesto de aplicación de Teams a una aplicación de Teams existente en el Portal para desarrolladores de Teams. teamsApp/update
action usa el identificador de aplicación en manifest.json archivo para determinar qué aplicación de Teams se va a actualizar. Funciona en la aplicación Teams en el Portal para desarrolladores de Teams.
- uses: teamsApp/update
with:
# Required. Relative path to the yaml file. This is the path for built zip file.
appPackagePath: <path-to-teams-app-package-file>
teamsApp/validateManifest
La teamsApp/validateManifest
acción representa la plantilla de manifiesto de aplicación de Teams con variables de entorno y valida el archivo de manifiesto de aplicación de Teams mediante su esquema.
- uses: teamsApp/validateManifest
with:
# Required. Relative path to the yaml file. Path to Teams app manifest file
manifestPath: <path-to-manifest-file>
teamsApp/validateAppPackage
La teamsApp/validateAppPackage
acción valida el paquete de aplicaciones de Teams mediante reglas de validación.
- uses: teamsApp/validateAppPackage
with:
# Required. Relative path to the yaml file. This is the path for built zip file.
appPackagePath: <path-to-teams-app-package-file>
teamsApp/zipAppPackage
La teamsApp/zipAppPackage
acción representa la plantilla de manifiesto de aplicación de Teams con variables de entorno y comprime el archivo de manifiesto con dos iconos en un archivo ZIP.
- uses: teamsApp/zipAppPackage
with:
# Required. Relative path to the yaml file. This is the path for Teams app manifest file. Environment variables in manifest will be replaced before apply to Microsoft Entra app.
manifestPath: <path-to-manifest-file>
# Required. Relative path to the yaml file. This is the path for built zip file.
outputZipPath: <path-to-generated-zip-file>
# Required. Relative path to the yaml file. This is the path for built manifest json file.
outputJsonPath: <path-to-generated-json-file>
teamsApp/publishAppPackage
La teamsApp/publishAppPackage
acción publica el archivo zip de la aplicación de Teams compilado en el catálogo de aplicaciones de inquilino. Funciona en el catálogo de aplicaciones de inquilino de Microsoft 365.
- uses: teamsApp/publishAppPackage
with:
# Required. Relative path to this file. This is the path for built zip file.
appPackagePath: <path-to-teams-app-package>
# Write the information of created resources into environment file for the specified environment variable(s).
writeToEnvironmentFile:
# The Teams app id in tenant app catalog.
publishedAppId: <your-preferred-env-var-name>
aadApp/create
La aadApp/create
acción crea una nueva aplicación Microsoft Entra para autenticar a los usuarios si la variable de entorno que almacena está clientId
vacía. Funciona en Microsoft Entra ID en el inquilino de Microsoft 365.
- uses: aadApp/create
with:
# Required. The Microsoft Entra app's display name. When you run aadApp/update, the Microsoft Entra app name will be updated based on the definition in manifest. If you don't want to change the name, make sure the name in Microsoft Entra app manifest is the same with the name defined here.
name: <your-application-name>
# Required. If the value is false, the action will not generate client secret for you
generateClientSecret: true
# Required. Specifies what Microsoft accounts are supported for the current application. Supported values are: `AzureADMyOrg`, `AzureADMultipleOrgs`, `AzureADandPersonalMicrosoftAccount`, `PersonalMicrosoftAccount`.
signInAudience: "AzureADMyOrg"
# Write the information of created resources into environment file for the specified environment variable(s).
writeToEnvironmentFile:
# Required. The client (application) ID of Microsoft Entra application. The action will refer the environment variable defined here to determine whether to create a new Microsoft Entra app.
clientId: <your-preferred-env-var-name>
# Required when `generateClientSecret` is `true`. The action will refer the environment variable defined here to determine whether to create a new client secret. It's recommended to add `SECRET_` prefix to the environment variable name so it will be stored to the .env.{envName}.user environment file.
clientSecret: <your-preferred-env-var-name>
# Required. The object ID of Microsoft Entra application
objectId: <your-preferred-env-var-name>
# Optional. The tenant ID of Microsoft Entra tenant
tenantId: <your-preferred-env-var-name>
# Optional. The Microsoft Entra authority
authority: <your-preferred-env-var-name>
# Optional. The host name of Microsoft Entra authority
authorityHost: <your-preferred-env-var-name>
aadApp/update
aadApp/update
acción actualiza la aplicación Microsoft Entra en función del manifiesto de la aplicación Microsoft Entra. Hace referencia a la propiedad ID del manifiesto de la aplicación Microsoft Entra para determinar qué aplicación de Microsoft Entra se va a actualizar. aadApp/update funciona con el identificador de Microsoft Entra en el inquilino de Microsoft 365.
- uses: aadApp/update
with:
# Required. Relative path to the yaml file. Path to the Microsoft Entra app manifest. Environment variables in manifest will be replaced before apply to Microsoft Entra app.
manifestPath: <path-to-manifest-file>
# Required. Relative path to the yaml folder. This action will output the final Microsoft Entra app manifest used to update Microsoft Entra app to this path.
outputFilePath : <path-to-output-file>
botAadApp/create
La botAadApp/create
acción crea una nueva aplicación de Microsoft Entra para bot o la reutiliza. Funciona con el identificador de Microsoft Entra en el inquilino de Microsoft 365.
- uses: botAadApp/create
with:
# Required. The Microsoft Entra app's display name
name: <your-app-name>
writeToEnvironmentFile:
# The The Microsoft Entra app's client id created for bot.
botId: <your-preferred-env-var-name>
# The The Microsoft Entra app's client secret created for bot.
botPassword: <your-preferred-env-var-name>
arm/deploy
La arm/deploy
acción implementa plantillas de ARM dadas en paralelo. Funciona en la suscripción de Azure.
- uses: arm/deploy
with:
# Required. You can use built-in environment variable `AZURE_SUBSCRIPTION_ID` here. TeamsFx will ask you select one subscription if its value is empty. You're free to reference other environment variable here, but TeamsFx will not ask you to select subscription if it's empty in this case.
subscriptionId: ${{AZURE_SUBSCRIPTION_ID}}
# Required. You can use built-in environment variable `AZURE_RESOURCE_GROUP_NAME` here. TeamsFx will ask you to select or create one resource group if its value is empty. You're free to reference other environment variable here, but TeamsFx will not ask you to select or create resource group if it's empty in this case.
resourceGroupName: ${{AZURE_RESOURCE_GROUP_NAME}}
# Required. The ARM templates to be deployed.
templates:
# Required. Relative path to the yaml file.
- path: <path-to-arm-template>
# Optional. Relative path to the yaml file. TeamsFx will replace the environment variable reference with real value before deploy ARM template.
parameters: <path-to-arm-template-parameter>
# Required. Name of the ARM template deployment.
deploymentName: <arm-deployment-name>
# Optional. Teams Toolkit will download this bicep CLI version from github for you, will use bicep CLI in PATH if you remove this config.
bicepCliVersion: v0.9.1
azureStorage/enableStaticWebsite
La azureStorage/enableStaticWebsite
acción habilita la configuración del sitio web estático en Azure Storage. Funciona en Azure Storage.
- uses: azureStorage/enableStaticWebsite
with:
# Required. The resource id of Azure Storage
storageResourceId: ${{<env-name-of-azure-storage-resource-id>}}
# Required. The path to index page.
indexPage: <path-to-index-page>
# Required. The path to error page.
errorPage: <path-to-error-page>
Guión
La script
acción ejecuta un script definido por el usuario.
- uses: script
with:
# Required. Command to run or path to the script. Succeeds if exit code is 0. '::set-teamsfx-env key=value' is a special command to generate output variables into .env file, in this case, "mykey=abc" will be added the output in the corresponding .env file.
run: $my_key="abc"; echo "::set-teamsfx-env mykey=${my_key}"
# Optional. Available values are: bash, sh, powershell(Powershell Desktop), pwsh(powershell core), cmd. If omitted, it defaults to bash on Linux/MacOS, defaults to pwsh on windows.
shell: <shell-name>
# Optional. Current working directory. Defaults to the directory of this file.
workingDirectory: <working-directory>
# Optional. Timeout in ms.
timeout: <timeout-in-ms>
# Optional. Redirect stdout and stderr to a file.
redirectTo: <path-to-output-file>
Personalización del aprovisionamiento de recursos
Los pasos de aprovisionamiento se definen en el teamsapp.yml
archivo, en la provision
propiedad . Puede agregar, quitar o actualizar acciones a la provision
propiedad para definir las acciones esperadas que desea realizar durante el aprovisionamiento.
Variables de entorno de referencia en archivos de parámetros
Teams Toolkit admite la referencia a los valores de las variables de entorno en el archivo, el teamsapp.yml
manifiesto de aplicación de Teams, el manifiesto de la aplicación Microsoft Entra y los archivos de parámetros de Azure. Puede usar la sintaxis ${{ENV_VARIABLE_NAME}}
para hacer referencia a variables de entorno.
En el ejemplo siguiente se establece el valor de la variable MY_AZURE_SUBSCRIPTION_ID
de entorno en subscriptionId
:
subscriptionId: ${{MY_AZURE_SUBSCRIPTION_ID}}
Personalización de archivos de plantilla de ARM
Si las plantillas predefinidas no cumplen los requisitos de la aplicación, puede crear su propia plantilla de ARM o actualizar la plantilla de ARM existente y proporcionar la ruta de acceso a arm/deploy
la acción de la siguiente manera:
- uses: arm/deploy
with:
subscriptionId: ${{AZURE_SUBSCRIPTION_ID}}
resourceGroupName: ${{AZURE_RESOURCE_GROUP_NAME}}
templates:
- path: <path-to-your-arm-template>
parameters: <path-to-your-parameter-file>
deploymentName: <arm-deployment-name>
bicepCliVersion: <bicep-cli-version>
La arm/deploy
acción admite plantillas de ARM escritas en formato bicep y json. Si usa el formato json, puede omitir el bicepCliVersion
parámetro . Debe tener conocimientos básicos de Azure Resource Manager. Para más información, consulte la documentación de Azure Resource Manager.
Administrar los recursos
Puede iniciar sesión en Azure Portal y administrar todos los recursos creados mediante el kit de herramientas de Teams.
- Puede seleccionar un grupo de recursos de la lista existente o el nuevo grupo de recursos que ha creado.
- Puede ver los detalles del grupo de recursos que ha seleccionado en la sección de información general de la tabla de contenido.
Personalización de aplicaciones de Teams
Puede personalizar el bot o la aplicación de Teams agregando variables de entorno para usar una aplicación Microsoft Entra que haya creado. Puede personalizar la aplicación de Teams de las siguientes maneras:
- Uso de una aplicación de Microsoft Entra existente para la aplicación de Teams
- Uso de una aplicación Microsoft Entra existente para el bot
Uso de una aplicación de Microsoft Entra existente para la aplicación de Teams
Para usar una aplicación de Microsoft Entra creada para la aplicación de Teams y agregar variables de entorno a los archivos .env, siga estos pasos.
Abra el
teamsapp.yml
archivo y busque laaadApp/create
acción.Busque los nombres de variables de entorno que almacenan información para la aplicación Microsoft Entra en la
writeToEnvironmentFile
propiedad . Si crea proyectos con Teams Toolkit, la definición de propiedad predeterminadawriteToenvironmentFile
es la siguiente:writeToEnvironmentFile: clientId: AAD_APP_CLIENT_ID clientSecret: SECRET_AAD_APP_CLIENT_SECRET objectId: AAD_APP_OBJECT_ID tenantId: AAD_APP_TENANT_ID authority: AAD_APP_OAUTH_AUTHORITY authorityHost: AAD_APP_OAUTH_AUTHORITY_HOST
Agregue valores para cada variable de entorno del paso 2.
Agregue las siguientes variables de entorno y sus valores al
env\.env.{env}
archivo. Por ejemplo:AAD_APP_CLIENT_ID=<value of Microsoft Entra application's client id (application id)> # example: 00000000-0000-0000-0000-000000000000 AAD_APP_OBJECT_ID=<value of Microsoft Entra application's object id> # example: 00000000-0000-0000-0000-000000000000 AAD_APP_TENANT_ID=<value of Microsoft Entra's (tenant) id>> # example: 00000000-0000-0000-0000-000000000000 AAD_APP_OAUTH_AUTHORITY=<value of Microsoft Entra's authority> # example: https://login.microsoftonline.com/<Directory (tenant) ID> AAD_APP_OAUTH_AUTHORITY_HOST=<host of Microsoft Entra's authority> # example: https://login.microsoftonline.com AAD_APP_ACCESS_AS_USER_PERMISSION_ID=<id of access_as_user permission> # example: 00000000-0000-0000-0000-000000000000
Si la aplicación requiere un secreto de cliente de la aplicación Microsoft Entra, agregue la siguiente variable de entorno y su valor al
env\.env.{env}.user
archivo. Por ejemplo:SECRET_AAD_APP_CLIENT_SECRET=<value of Microsoft Entra application's client secret>
Si aún no tiene una aplicación Microsoft Entra o tiene una, pero no sabe dónde encontrar el valor correcto, consulte Uso de la aplicación Microsoft Entra existente en el proyecto TeamsFx.
Nota:
- Recuerde actualizar los nombres de variables de entorno en los ejemplos si usa nombres diferentes en
writeToEnvironmentFile
. - Si no usa
aadApp/create
la acción para crear una aplicación Microsoft Entra, puede agregar las variables de entorno necesarias con el nombre que prefiera sin seguir los pasos anteriores. - Asegúrese de que no comparte la misma aplicación Microsoft Entra en varios entornos.
Uso de una aplicación Microsoft Entra existente para el bot
Puede seguir los pasos para agregar variables de entorno a los archivos .env para usar una aplicación Microsoft Entra creada para la aplicación de Teams.
Abra el
teamsapp.yml
archivo y busque labotAadApp/create
acción.Busque los nombres de variables de entorno que almacenan información para la aplicación Microsoft Entra en la
writeToEnvironmentFile
propiedad . La definición predeterminadawriteToEnvironmentFile
si crea proyectos mediante el kit de herramientas de Teams es la siguiente:writeToEnvironmentFile: botId: BOT_ID botPassword: SECRET_BOT_PASSWORD
Agregue valores para cada variable de entorno del paso 2.
Agregue la variable de entorno y su valor al
env\.env.{env}
archivo. Por ejemplo:BOT_ID=<value of Microsoft Entra application's client id (application id)> # example: 00000000-0000-0000-0000-000000000000
Agregue la variable de entorno y su valor al
env\.env.{env}.user
archivo. Por ejemplo:SECRET_BOT_PASSWORD=<value of Microsoft Entra application's client secret>
Si aún no tiene una aplicación Microsoft Entra para el bot o tiene una, pero no sabe dónde encontrar los valores correctos, consulte Uso de la aplicación Microsoft Entra existente en el proyecto TeamsFx.
Nota:
- Recuerde actualizar los nombres de variables de entorno en los ejemplos si usa nombres diferentes en
writeToEnvironmentFile
. - Si no usa
botAadApp/create
la acción para crear una aplicación Microsoft Entra, puede agregar las variables de entorno necesarias con el nombre que prefiera sin seguir los pasos anteriores. - Asegúrese de que no comparte la misma aplicación Microsoft Entra en varios entornos.