Provisionner des ressources cloud
TeamsFx s’intègre à Azure et au cloud Microsoft 365, ce qui permet de placer votre application dans Azure avec une seule commande. TeamsFx s’intègre à Azure Resource Manager (ARM), ce qui permet de provisionner les ressources Azure dont votre application a besoin pour l’approche du code.
Provisionner à l’aide du Kit de ressources Microsoft Teams dans Microsoft Visual Studio Code
Vous pouvez déclencher la commande d’approvisionnement dans le Kit de ressources Teams ou l’interface CLI TeamsFx pour créer ou mettre à jour des ressources pour votre application. Les étapes de la commande d’approvisionnement sont définies dans le teamsapp.yml
fichier, sous provision
la propriété . Vous pouvez afficher le fichier pour comprendre quelles ressources sont créées.
Remarque
Les services Azure entraînent des coûts dans votre abonnement. Pour plus d’informations sur l’estimation des coûts, consultez Calculatrice de prix.
Actions de provisionnement
La liste suivante présente les actions conçues pour l’approvisionnement.
teamsApp/create
Qu’est-ce que c’est ?
Si la variable d’environnement qui stocke l’ID d’application Teams est vide ou si l’ID d’application est introuvable dans le portail des développeurs Teams, cette action crée une application Teams.
Quelle ressource fonctionne-t-il ?
Application Teams dans le Portail des développeurs Teams.
Comment l’utiliser
- 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
Qu’est-ce que c’est ?
Appliquez le manifeste d’application (précédemment appelé manifeste d’application Teams) à une application Teams existante dans le Portail des développeurs Teams. Il utilise l’ID d’application dans le fichier manifest.json pour déterminer l’application Teams à mettre à jour.
Quelle ressource fonctionne-t-il ?
Application Teams dans le Portail des développeurs Teams.
Comment l’utiliser
- 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
Qu’est-ce que c’est ?
Cette action affiche le modèle de manifeste d’application avec des variables d’environnement et valide le fichier manifeste d’application à l’aide de son schéma.
Quelle ressource fonctionne-t-il ?
S/O
Comment l’utiliser
- uses: teamsApp/validate
with:
# Required. Relative path to the yaml file. Path to app manifest file
manifestPath: <path-to-manifest-file>
teamsApp/validateAppPackage
Qu’est-ce que c’est ?
Cette action valide le package d’application Teams à l’aide de règles de validation.
Quelle ressource fonctionne-t-il ?
S/O
Comment l’utiliser
- 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
Qu’est-ce que c’est ?
Cette action affiche le modèle de manifeste d’application avec des variables d’environnement et compresse le fichier manifeste d’application avec deux icônes dans un fichier zip.
Quelle ressource fonctionne-t-il ?
S/O
Comment l’utiliser
- uses: teamsApp/zipAppPackage
with:
# Required. Relative path to the yaml file. This is the path for 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
Qu’est-ce que c’est ?
Cette action publie le fichier zip de l’application Teams générée dans le catalogue d’applications du locataire.
Quelle ressource fonctionne-t-il ?
Application Teams dans le catalogue d’applications client Microsoft 365.
Comment l’utiliser
- 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
Qu’est-ce que c’est ?
Cette action crée une application Microsoft Entra pour authentifier les utilisateurs si la variable d’environnement qui stocke clientId est vide.
Quelle ressource fonctionne-t-il ?
ID Microsoft Entra dans votre locataire Microsoft 365.
Comment l’utiliser
- 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
Qu’est-ce que c’est ?
Cette action met à jour votre application Microsoft Entra en fonction du manifeste de l’application Microsoft Entra. Il fait référence à la propriété ID dans le manifeste de l’application Microsoft Entra pour déterminer l’application Microsoft Entra à mettre à jour.
Quelle ressource fonctionne-t-il ?
ID Microsoft Entra dans votre locataire Microsoft 365.
Comment l’utiliser
- 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
Qu’est-ce que c’est ?
Cette action crée ou réutilise une application Microsoft Entra existante pour le bot.
Quelle ressource fonctionne-t-il ?
ID Microsoft Entra dans votre locataire Microsoft 365.
Comment l’utiliser
- uses: botAadApp/create
with:
# Required. The Microsoft Entra app's display name
name: <your-app-name>
writeToEnvironmentFile:
# The Microsoft Entra app's client id created for bot.
botId: <your-preferred-env-var-name>
# The Microsoft Entra app's client secret created for bot.
botPassword: <your-preferred-env-var-name>
arm/deploy
Qu’est-ce que c’est ?
Cette action déploie des modèles ARM donnés en parallèle.
Quelle ressource fonctionne-t-il ?
Abonnement Azure.
Comment l’utiliser
- 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
Qu’est-ce que c’est ?
Cette action active le paramètre de site web statique dans Stockage Azure.
Quelle ressource fonctionne-t-il ?
Stockage Azure.
Comment l’utiliser
- 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>
azureStaticWebApps/getDeploymentToken
Qu’est-ce que c’est ?
Cette action récupère le jeton de déploiement à partir d’Azure Static Web Apps.
Informations sur la version
v1.4
Quelle ressource fonctionne-t-il ?
Azure Static Web Apps.
Comment l’utiliser
- uses: azureStaticWebApps/getDeploymentToken
with:
resourceId: ${{AZURE_STATIC_WEB_APPS_RESOURCE_ID}}
writeToEnvironmentFile:
deploymentToken: SECRET_TAB_SWA_DEPLOYMENT_TOKEN
script
Qu’est-ce que c’est ?
Cette action exécute un script défini par l’utilisateur.
Quelle ressource fonctionne-t-il ?
S/O
Comment l’utiliser
- 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>
Personnaliser l’approvisionnement des ressources
Les étapes d’approvisionnement sont définies dans le teamsapp.yml
fichier, sous provision
la propriété . Vous pouvez ajouter, supprimer ou mettre à jour des actions à la provision
propriété pour définir les actions attendues que vous souhaitez effectuer lors de l’approvisionnement.
Référencer des variables d’environnement dans des fichiers de paramètres
Teams Toolkit prend en charge le référencement des valeurs des variables d’environnement dans , le teamsapp.yml
manifeste d’application, le manifeste de l’application Microsoft Entra et les fichiers de paramètres Azure. Vous pouvez utiliser la syntaxe ${{ENV_VARIABLE_NAME}}
pour référencer des variables d’environnement.
L’exemple suivant définit la valeur de la variable MY_AZURE_SUBSCRIPTION_ID
d’environnement sur subscriptionId
:
subscriptionId: ${{MY_AZURE_SUBSCRIPTION_ID}}
Personnaliser les fichiers de modèle ARM
Si les modèles prédéfinis ne répondent pas aux exigences de votre application, vous pouvez créer votre propre modèle ARM ou mettre à jour un modèle ARM existant et fournir le chemin d’action arm/deploy
comme dans le modèle suivant :
- 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>
L’action arm/deploy
prend en charge les modèles ARM écrits au format bicep et json. Si vous utilisez le format json, vous pouvez omettre le bicepCliVersion
paramètre . Vous devez avoir des connaissances de base d’Azure Resource Manager. Vous pouvez commencer à utiliser Azure Resource Manager dans la documentation Azure Resource Manager.
Personnaliser les applications Teams
Vous pouvez personnaliser votre bot ou l’application Teams en ajoutant des variables d’environnement pour utiliser une application Microsoft Entra créée par vous. Pour personnaliser l’application Teams, procédez comme suit :
- Utiliser une application Microsoft Entra existante pour votre application Teams
- Utiliser une application Microsoft Entra existante pour votre bot
Utiliser une application Microsoft Entra existante pour votre application Teams
Vous pouvez suivre les étapes pour ajouter des variables d’environnement aux fichiers .env afin d’utiliser une application Microsoft Entra créée pour votre application Teams. Si vous n’avez pas encore d’application Microsoft Entra ou si vous en avez déjà une mais que vous ne savez pas où trouver la valeur correcte, découvrez comment utiliser l’application Microsoft Entra existante dans le projet TeamsFx.
Ouvrez
teamsapp.yml
et recherchez l’actionaadApp/create
.Recherchez les noms de variables d’environnement qui stockent des informations pour l’application Microsoft Entra dans la
writeToEnvironmentFile
propriété . La définition par défautwriteToenvironmentFile
si vous créez des projets à l’aide de Teams Toolkit est la suivante :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
Ajoutez des valeurs pour chaque variable d’environnement de l’étape 2.
Ajoutez les variables d’environnement suivantes et leurs valeurs au
env\.env.{env}
fichier.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 votre application nécessite une clé secrète client d’application Microsoft Entra, ajoutez la variable d’environnement suivante et sa valeur au
env\.env.{env}.user
fichier.SECRET_AAD_APP_CLIENT_SECRET=<value of Microsoft Entra application's client secret>
Remarque
- N’oubliez pas de mettre à jour les noms des variables d’environnement dans les exemples si vous utilisez des noms différents dans
writeToEnvironmentFile
. - Si vous n’utilisez
aadApp/create
pas d’action pour créer une application Microsoft Entra, vous pouvez ajouter les variables d’environnement nécessaires avec votre nom préféré sans suivre les étapes ci-dessus. - Veillez à ne pas partager la même application Microsoft Entra dans plusieurs environnements.
Utiliser une application Microsoft Entra existante pour votre bot
Vous pouvez suivre les étapes pour ajouter des variables d’environnement aux fichiers .env afin d’utiliser une application Microsoft Entra créée pour votre application Teams. Si vous n’avez pas encore d’application Microsoft Entra pour votre bot ou si vous en avez déjà une, mais que vous ne savez pas où trouver les valeurs correctes, voir Utiliser l’application Microsoft Entra existante dans le projet TeamsFx.
Ouvrez
teamsapp.yml
et recherchez l’actionbotAadApp/create
.Recherchez les noms de variables d’environnement qui stockent des informations pour l’application Microsoft Entra dans la
writeToEnvironmentFile
propriété . La définition par défautwriteToEnvironmentFile
si vous créez des projets à l’aide de Teams Toolkit est la suivante :writeToEnvironmentFile: botId: BOT_ID botPassword: SECRET_BOT_PASSWORD
Ajoutez des valeurs pour chaque variable d’environnement de l’étape 2.
Ajoutez la variable d’environnement suivante et sa valeur au
env\.env.{env}
fichier.BOT_ID=<value of Microsoft Entra application's client id (application id)> # example: 00000000-0000-0000-0000-000000000000
Ajoutez la variable d’environnement suivante et sa valeur au
env\.env.{env}.user
fichier.SECRET_BOT_PASSWORD=<value of Microsoft Entra application's client secret>
Remarque
- N’oubliez pas de mettre à jour les noms des variables d’environnement dans les exemples si vous utilisez des noms différents dans
writeToEnvironmentFile
. - Si vous n’utilisez
botAadApp/create
pas d’action pour créer une application Microsoft Entra, vous pouvez ajouter les variables d’environnement nécessaires avec votre nom préféré sans suivre les étapes ci-dessus. - Veillez à ne pas partager la même application Microsoft Entra dans plusieurs environnements.