Provisionar recursos de nuvem no Visual Studio
O TeamsFx integra-se ao Azure e à nuvem do Microsoft 365, que permite colocar seu aplicativo no Azure com um único comando. O TeamsFx integra-se ao ARM (Azure Resource Manager), que permite provisionar recursos do Azure que seu aplicativo precisa para abordagem de código.
Entre em sua conta do Azure
Abra o Visual Studio.
Abra o projeto de Aplicativo do Microsoft Teams.
Selecione ProvisionamentodeKit de> Ferramentas do Project > Teamsna Nuvem.
Selecione Entrar....
Observação
Se você já estiver conectado, seu nome de usuário será exibido ou você tem a opção de Adicionar uma conta.
Depois de entrar na sua conta do Azure usando suas credenciais, o navegador será fechado automaticamente.
Provisionar recursos de nuvem
Depois de abrir seu projeto no Visual Studio, para provisionar recursos de nuvem, siga estas etapas:
Selecione ProvisionamentodeKit de> Ferramentas do Project > Teamsna Nuvem....
A janela Provisionar é exibida.
Insira os seguintes detalhes para provisionar seus recursos:
- Selecione o nome da assinatura no menu suspenso.
- Selecione seu grupo de recursos no menu suspenso ou você pode criar um novo grupo de recursos selecionando Novo....
- Selecione sua Região no menu suspenso.
- Selecione Provisionar.
Na janela pop-up exibida, selecione Provisionar.
O processo de provisionamento cria recursos na nuvem do Azure. Você pode monitorar o progresso observando a janela de saída do Teams Toolkit.
Na janela pop-up exibida, para exibir todos os recursos provisionados, selecione Exibir recursos provisionados.
Provisionar ações
As seguintes ações são projetadas para provisionar:
- teamsApp/create
- teamsApp/update
- teamsApp/validateManifest
- teamsApp/validateAppPackage
- teamsApp/zipAppPackage
- teamsApp/publishAppPackage
- aadApp/create
- aadApp/update
- botAadApp/create
- arm/deploy
- azureStorage/enableStaticWebsite
- Script
teamsApp/create
Se a variável de ambiente que armazena a ID do aplicativo do Teams estiver vazia ou a ID do aplicativo não for encontrada no Portal do Desenvolvedor do Teams, a ação teamsApp/create
criará um novo aplicativo do Teams. Ele opera no aplicativo Teams no Portal de Desenvolvedores do 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
Quando você aplica o manifesto do aplicativo Teams a um aplicativo do Teams existente no Portal do Desenvolvedor do Teams. teamsApp/update
A ação usa a ID do aplicativo no arquivo manifest.json para determinar qual aplicativo do Teams será atualizado. Ele opera no aplicativo Teams no Portal de Desenvolvedores do 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
A teamsApp/validateManifest
ação renderiza o modelo de manifesto do aplicativo teams com variáveis de ambiente e valida o arquivo de manifesto do aplicativo teams usando seu 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
A teamsApp/validateAppPackage
ação valida o pacote de aplicativos do Teams usando regras de validação.
- 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
A teamsApp/zipAppPackage
ação renderiza o modelo de manifesto do aplicativo Teams com variáveis de ambiente e compacta o arquivo de manifesto com dois ícones em um arquivo 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 AAD 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
A teamsApp/publishAppPackage
ação publica o arquivo zip do aplicativo do Teams criado no catálogo de aplicativos de locatário. Ele opera no catálogo de aplicativos de locatários do 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
A aadApp/create
ação cria um novo aplicativo do Azure Active Directory (Azure AD) para autenticar usuários se a variável de ambiente que armazena o clientId
estiver vazia. Ele opera em Azure AD no locatário do Microsoft 365.
- uses: aadApp/create
with:
# Required. The AAD app's display name. When you run aadApp/update, the Azure Active Directory AD 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 AAD 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 Azure Active Directory AD application. The action will refer the environment variable defined here to determine whether to create a new AAD 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 AAD application
objectId: <your-preferred-env-var-name>
# Optional. The tenant ID of AAD tenant
tenantId: <your-preferred-env-var-name>
# Optional. The AAD authority
authority: <your-preferred-env-var-name>
# Optional. The host name of AAD authority
authorityHost: <your-preferred-env-var-name>
aadApp/update
aadApp/update
A ação atualiza seu aplicativo Azure AD com base em Azure AD manifesto do aplicativo. Ele se refere à propriedade ID no manifesto do aplicativo Azure AD para determinar qual aplicativo Azure AD atualizar. aadApp/update opera em Azure AD em seu locatário do Microsoft 365.
- uses: aadApp/update
with:
# Required. Relative path to the yaml file. Path to the AAD app manifest. Environment variables in manifest will be replaced before apply to AAD app.
manifestPath: <path-to-manifest-file>
# Required. Relative path to the yaml folder. This action will output the final AAD manifest used to update AAD app to this path.
outputFilePath : <path-to-output-file>
botAadApp/create
A botAadApp/create
ação cria um novo ou reutiliza um aplicativo Azure AD existente para bot. Ele opera em Azure AD no locatário do Microsoft 365.
- uses: botAadApp/create
with:
# Required. The AAD app's display name
name: <your-app-name>
writeToEnvironmentFile:
# The The AAD app's client id created for bot.
botId: <your-preferred-env-var-name>
# The The AAD app's client secret created for bot.
botPassword: <your-preferred-env-var-name>
arm/deploy
A arm/deploy
ação implanta os modelos do ARM em paralelo. Ele opera na assinatura do 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
A azureStorage/enableStaticWebsite
ação permite a configuração de site estático no Armazenamento do Azure. Ele opera no Armazenamento do Azure.
- 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>
Script
A script
ação executa um script definido pelo usuário.
- 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>
Personalizar o provisionamento de recursos
As etapas de provisionamento são definidas no teamsapp.yml
arquivo, na provision
propriedade. Você pode adicionar, remover ou atualizar ações à provision
propriedade para definir as ações esperadas que deseja fazer durante a provisionamento.
Variáveis de ambiente de referência em arquivos de parâmetro
O Teams Toolkit dá suporte a referenciar os valores de variáveis de ambiente no arquivo, manifesto do teamsapp.yml
aplicativo teams, manifesto do aplicativo Azure AD e arquivos de parâmetro do Azure. Você pode usar a sintaxe ${{ENV_VARIABLE_NAME}}
para referenciar variáveis de ambiente.
O exemplo a seguir define o valor da variável MY_AZURE_SUBSCRIPTION_ID
de ambiente como subscriptionId
:
subscriptionId: ${{MY_AZURE_SUBSCRIPTION_ID}}
Personalizar arquivos de modelo do ARM
Se os modelos predefinidos não atenderem aos seus requisitos de aplicativo, você poderá criar seu próprio modelo arm ou atualizar o modelo arm existente e fornecer o caminho para a arm/deploy
ação da seguinte maneira:
- 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>
A arm/deploy
ação dá suporte a modelos ARM que são gravados no formato bicep e json. Se você usar o formato json, poderá omitir o bicepCliVersion
parâmetro. Você precisa ter conhecimento básico do Azure Resource Manager. Para obter mais informações, consulte Documentação Resource Manager do Azure.
Gerenciar seus recursos
Você pode entrar no portal do Azure e gerenciar todos os recursos criados usando o Teams Toolkit.
- Você pode selecionar um grupo de recursos na lista existente ou no novo grupo de recursos que você criou.
- Você pode ver os detalhes do grupo de recursos selecionado na seção visão geral da tabela de conteúdo.
Personalizar aplicativos do Teams
Você pode personalizar seu bot ou o aplicativo teams adicionando variáveis de ambiente para usar um aplicativo Azure AD que você criou. Você pode personalizar o aplicativo teams das seguintes maneiras:
- Usar um aplicativo Azure AD existente para seu aplicativo Teams
- Usar um aplicativo Azure AD existente para seu bot
Usar um aplicativo Azure AD existente para seu aplicativo Teams
Para usar um aplicativo Azure AD criado para seu aplicativo teams e adicionar variáveis de ambiente aos arquivos .env, siga estas etapas.
Abra o
teamsapp.yml
arquivo e localize a açãoaadApp/create
.Encontre os nomes de variáveis de ambiente que armazenam informações para Azure AD aplicativo na
writeToEnvironmentFile
propriedade. Se você criar projetos usando o Teams Toolkit, a definição de propriedade padrãowriteToenvironmentFile
será a seguinte: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
Adicione valores para cada variável de ambiente a partir da etapa 2.
Adicione as seguintes variáveis de ambiente e seus valores ao
env\.env.{env}
arquivo. Por exemplo:AAD_APP_CLIENT_ID=<value of Azure AD application's client id (application id)> # example: 00000000-0000-0000-0000-000000000000 AAD_APP_OBJECT_ID=<value of Azure AD application's object id> # example: 00000000-0000-0000-0000-000000000000 AAD_APP_TENANT_ID=<value of Azure AD's Directory (tenant) id>> # example: 00000000-0000-0000-0000-000000000000 AAD_APP_OAUTH_AUTHORITY=<value of Azure AD's authority> # example: https://login.microsoftonline.com/<Directory (tenant) ID> AAD_APP_OAUTH_AUTHORITY_HOST=<host of Azure AD'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
Se seu aplicativo exigir um segredo Azure AD cliente do aplicativo, adicione a variável de ambiente a seguir e seu valor ao
env\.env.{env}.user
arquivo. Por exemplo:SECRET_AAD_APP_CLIENT_SECRET=<value of Azure AD application's client secret>
Se você ainda não tiver um aplicativo Azure AD ou tiver um, mas não souber onde encontrar o valor correto, consulte Usar o aplicativo Azure AD existente no projeto TeamsFx.
Observação
- Lembre-se de atualizar os nomes de variáveis de ambiente nos exemplos se você usar nomes diferentes em
writeToEnvironmentFile
. - Se você não usar
aadApp/create
a ação para criar Azure AD aplicativo, poderá adicionar variáveis de ambiente necessárias com seu nome preferencial sem seguir as etapas acima. - Verifique se você não compartilha o mesmo aplicativo Azure AD em vários ambientes.
Usar um aplicativo Azure AD existente para seu bot
Você pode seguir as etapas para adicionar variáveis de ambiente aos arquivos .env para usar um aplicativo Azure AD criado para seu aplicativo Teams.
Abra o
teamsapp.yml
arquivo e localize a açãobotAadApp/create
.Encontre os nomes de variáveis de ambiente que armazenam informações para Azure AD aplicativo na
writeToEnvironmentFile
propriedade. A definição padrãowriteToEnvironmentFile
se você criar projetos usando o Teams Toolkit será a seguinte:writeToEnvironmentFile: botId: BOT_ID botPassword: SECRET_BOT_PASSWORD
Adicione valores para cada variável de ambiente a partir da etapa 2.
Adicione a variável de ambiente e seu valor ao
env\.env.{env}
arquivo. Por exemplo:BOT_ID=<value of Azure AD application's client id (application id)> # example: 00000000-0000-0000-0000-000000000000
Adicione a variável de ambiente e seu valor ao
env\.env.{env}.user
arquivo. Por exemplo:SECRET_BOT_PASSWORD=<value of Azure AD application's client secret>
Se você ainda não tiver um aplicativo Azure AD para seu bot ou tiver um, mas não souber onde encontrar os valores corretos, consulte Usar o aplicativo Azure AD existente no projeto teamsFx.
Observação
- Lembre-se de atualizar os nomes de variáveis de ambiente nos exemplos se você usar nomes diferentes em
writeToEnvironmentFile
. - Se você não usar
botAadApp/create
a ação para criar Azure AD aplicativo, poderá adicionar variáveis de ambiente necessárias com seu nome preferencial sem seguir as etapas acima. - Verifique se você não compartilha o mesmo aplicativo Azure AD em vários ambientes.
Confira também
Observação
O kit de ferramentas do Teams não fornece suporte para implantar recursos em outras plataformas de nuvem, exceto no Azure, no entanto, o usuário pode implantar manualmente.
Provisionar usando o Teams Toolkit no Visual Studio
As seguintes etapas ajudam você a provisionar recursos de nuvem usando o Visual Studio:
Entre em sua conta do Microsoft 365
Abra o Visual Studio.
Abra o projeto de aplicativo do Microsoft Teams.
Selecione Kitde Ferramentas> do Project> TeamsPreparar Dependências de Aplicativo do Teams.
Selecione Entrar... para entrar na conta do Microsoft 365.
Observação
Se você já estiver gravado, seu nome de usuário será exibido ou terá a opção de Adicionar uma conta.
Seu navegador da Web padrão é aberto para permitir que você entre na conta.
Selecione Continuar depois de entrar em sua conta.
Entre em sua conta do Azure
Abra o Visual Studio.
Abra o projeto de Aplicativo do Teams.
Selecione ProvisionamentodeKit de> Ferramentas do Project > Teamsna nuvem.
Selecione Entrar... para entrar na sua conta do Azure.
Observação
Se você já estiver conectado, seu nome de usuário será exibido ou você terá a opção de Adicionar uma conta.
Depois de entrar em sua conta do Azure usando suas credenciais, o navegador fecha automaticamente.
Para provisionar recursos de nuvem
Depois de abrir seu projeto no Visual Studio:
Selecione ProvisionamentodeKit de> Ferramentas do Project > Teamsna nuvem.
A janela provisionamento é exibida.
Insira os seguintes detalhes para provisionar seus recursos:
Selecione o nome da assinatura no menu suspenso.
Selecione seu grupo de recursos no menu suspenso ou você pode criar um novo grupo de recursos selecionando Novo....
Selecione sua Região no menu suspenso.
Selecione Provisionar.
Na janela pop-up exibida, selecione Provisionar.
O processo de provisionamento cria recursos na nuvem do Azure. Você pode monitorar o progresso observando a janela de saída do Teams Toolkit.
Na janela pop-up exibida, selecione Exibir Recursos Provisionados para exibir todos os recursos provisionados.
Criar recursos
Ao disparar o comando provisionamento no Teams Toolkit ou na CLI do TeamsFx, você pode criar os seguintes recursos:
- Microsoft Azure Active Directory aplicativo (Azure AD) em seu locatário do Microsoft 365.
- Registro de aplicativo do Teams na plataforma teams do locatário do Microsoft 365.
- Recursos do Azure em sua assinatura selecionada do Azure.
Ao criar um novo projeto, você também precisa criar recursos do Azure. Os modelos do ARM definem todos os recursos do Azure e ajudam você a criar os recursos necessários do Azure durante a provisionamento.
A lista a seguir mostra a criação de recursos para diferentes tipos de recursos do aplicativo e do Azure:
Criação de recursos para o aplicativo Teams Tab
Resource | Objetivo | Descrição |
---|---|---|
Plano de serviço de aplicativo | Hospeda seu aplicativo Web de guia. | Não aplicável |
Serviço de aplicativo | Hospeda seu aplicativo de guia Blazor. | Não aplicável |
Gerenciar identidade | Autentica solicitações de serviço para serviço do Azure. | Compartilhamentos entre diferentes recursos e recursos. |
Criação de recursos para o aplicativo de extensão de mensagens do Teams
Resource | Objetivo | Descrição |
---|---|---|
Bot do Azure | Registra seu aplicativo como um bot com a estrutura do bot. | Conecta o bot ao Teams. |
Serviço de Aplicativo plano | Hospeda seu aplicativo web bot. | Não aplicável |
Serviço de Aplicativo | Hospeda seu aplicativo bot. | Adiciona a identidade atribuída pelo usuário para acessar outros recursos do Azure. |
Gerenciar identidade | Autentica solicitações de serviço para serviço do Azure. | Compartilhamentos entre diferentes recursos e recursos. |
Criação de recursos para o aplicativo bot de comando do Teams
Resource | Objetivo | Descrição |
---|---|---|
Bot do Azure | Registra seu aplicativo como um bot com a estrutura do bot. | Conecta o bot ao Teams. |
Plano de serviço de aplicativo | Hospeda seu aplicativo web bot. | Não aplicável |
Serviço de aplicativo | Hospeda seu aplicativo bot. | Adiciona a identidade atribuída pelo usuário para acessar outros recursos do Azure. |
Gerenciar identidade | Autentica solicitações de serviço para serviço do Azure. | Compartilhamentos entre diferentes recursos e recursos. |
Criação de recursos para o bot de notificação do Teams com o aplicativo de gatilho HTTP (servidor de API Web)
Resource | Objetivo | Descrição |
---|---|---|
Bot do Azure | Registra seu aplicativo como um bot com a estrutura do bot. | Conecta o bot ao Teams. |
Plano de serviço de aplicativo | Hospeda seu aplicativo web bot. | Não aplicável |
Serviço de aplicativo | Hospeda seu aplicativo bot. | Adiciona a identidade atribuída pelo usuário para acessar outros recursos do Azure. |
Identidade Gerenciada | Autentica solicitações de serviço para serviço do Azure. | Compartilhamentos entre diferentes recursos e recursos. |
Criação de recursos para o bot de notificação do Teams com o aplicativo de gatilho HTTP (Azure Functions)
Resource | Objetivo | Descrição |
---|---|---|
Bot do Azure | Registra seu aplicativo como um bot com a estrutura do bot. | Conecta o bot ao Teams |
Gerenciar identidade | Autentica solicitações de serviço para serviço do Azure. | Compartilhamentos entre diferentes recursos e recursos. |
Conta de armazenamento | Ajuda a criar o aplicativo de funções. | Não aplicável |
Plano de serviço de aplicativo | Hospeda o aplicativo bot de funções. | Não aplicável |
Aplicativo de funções | Hospeda seu aplicativo bot. | - Adiciona a identidade atribuída pelo usuário para acessar outros recursos do Azure. - Adiciona a regra CORS (compartilhamento de recursos de origem cruzada) para permitir solicitações do aplicativo de guia. - Adiciona uma configuração de autenticação que só permite solicitações do seu aplicativo teams. - Adiciona configurações de aplicativo necessárias pelo SDK do TeamsFx. |
Criação de recursos para o bot de notificação do Teams com o aplicativo de gatilho de temporizador (Azure Functions)
Resource | Objetivo | Descrição |
---|---|---|
Bot do Azure | Registra seu aplicativo como um bot com a estrutura do bot. | Conecta o bot ao Teams. |
Gerenciar identidade | Autentica solicitações de serviço para serviço do Azure. | Compartilhamentos entre diferentes recursos e recursos. |
Conta de armazenamento | Ajuda a criar o aplicativo de funções. | Não aplicável |
Plano de serviço de aplicativo | Hospeda o aplicativo bot de funções. | Não aplicável |
Aplicativo de funções | Hospeda seu aplicativo bot. | - Adiciona a identidade atribuída pelo usuário para acessar outros recursos do Azure. -Adiciona a regra CORS (compartilhamento de recursos de origem cruzada) para permitir solicitações do aplicativo de guia. - Adiciona uma configuração de autenticação que só permite solicitações do seu aplicativo teams. - Adiciona configurações de aplicativo necessárias pelo SDK do TeamsFx. |
Criação de recursos para bot de notificação do Teams com gatilho HTTP + gatilho de temporizador (Azure Functions) aplicativo
Resource | Objetivo | Descrição |
---|---|---|
Bot do Azure | Registra seu aplicativo como um bot com a estrutura do bot. | Conecta o bot ao Teams. |
Gerenciar identidade | Autenticar solicitações de serviço para serviço do Azure. | Compartilhamentos entre diferentes recursos e recursos. |
Conta de armazenamento | Ajuda a criar o aplicativo de funções. | Não aplicável |
Plano de serviço de aplicativo | Hospeda o aplicativo bot de funções. | Não aplicável |
Aplicativo de Funções | Hospeda seu aplicativo bot. | -Adiciona a identidade atribuída pelo usuário para acessar outros recursos do Azure. -Adiciona a regra CORS (compartilhamento de recursos de origem cruzada) para permitir solicitações do aplicativo de guia. -Adiciona uma configuração de autenticação que só permite solicitações de seu aplicativo do Teams. -Adiciona configurações de aplicativo necessárias pelo SDK do TeamsFx. |
Gerenciar seus recursos
Você pode entrar no portal do Azure e gerenciar todos os recursos criados pelo Teams Toolkit.
- Você pode selecionar um grupo de recursos na lista existente ou no novo grupo de recursos que você criou.
- Você pode ver os detalhes do grupo de recursos selecionado na seção visão geral da tabela de conteúdo.
Personalizar o provisionamento de recursos
O Teams Toolkit permite que você use uma abordagem de infraestrutura como código para definir os recursos do Azure que você deseja provisionar. Você pode alterar a configuração no Teams Toolkit de acordo com seus requisitos.
O Teams Toolkit usa o modelo ARM para definir recursos do Azure. O modelo ARM é um conjunto de bicep
arquivos que define a infraestrutura e a configuração do seu projeto. É possível personalizar os recursos do Azure modificando o modelo do ARM. Para obter mais informações, confira este documento bicep.
O provisionamento com o ARM envolve a alteração dos seguintes conjuntos de arquivos, parâmetros e modelos:
Arquivos de parâmetro ARM (
azure.parameters.{your_env_name}.json
) localizados na.fx\configs
pasta, para passar parâmetros para modelos.Os arquivos de modelo arm localizados na
templates\azure
pasta contêm os seguintes arquivos:Arquivo Função Permitir personalização main.bicep Fornece um ponto de entrada para provisionamento de recursos do Azure. Sim provision.bicep Cria e configura recursos do Azure. Sim config.bicep Adiciona configurações necessárias do TeamsFx aos recursos do Azure. Sim provision\xxx.bicep Cria e configura cada recurso do Azure consumido por provision.bicep
.Sim teamsfx\xxx.bicep Adiciona configurações necessárias do TeamsFx a cada recurso do Azure consumido por config.bicep
.Não
Observação
Quando você adiciona recursos ou recursos ao seu projeto, teamsfx\xxx.bicep
é regenerado, não é possível personalizar o mesmo. Para modificar os arquivos bicep, você pode usar o Git para acompanhar suas alterações nos teamsfx\xxx.bicep
arquivos. Isso não faz com que você perca nenhuma alteração ao adicionar recursos ou recursos ao seu projeto.
Os arquivos de modelo do ARM usam espaços reservados para parâmetros. A finalidade dos espaços reservados é garantir que novos recursos possam ser criados em um novo ambiente. Os valores reais são resolvidos do .fx\states\state.{env}.json
arquivo.
Azure AD parâmetros relacionados ao aplicativo
Nome do parâmetro | Espaço reservado de valor padrão | Significado do espaço reservado | Como personalizar |
---|---|---|---|
Microsoft 365 ClientId | {{state.fx-resource-aad-app-for-teams.clientId}} | A ID do cliente do aplicativo Azure AD do aplicativo criada durante a provisionamento. | Use um aplicativo Azure AD existente para seu aplicativo teams. |
Microsoft 365 ClientSecret | {{state.fx-resource-aad-app-for-teams.clientSecret}} | O segredo do cliente do aplicativo Azure AD aplicativo é criado durante a provisionamento. | Use um aplicativo Azure AD existente para seu aplicativo teams. |
Microsoft 365 TenantId | {{state.fx-resource-aad-app-for-teams.tenantId}} | ID do locatário do aplicativo Azure AD do aplicativo. | Use um aplicativo Azure AD existente para seu aplicativo teams. |
Microsoft 365 OAuthAuthorityHost | {{state.fx-resource-aad-app-for-teams.oauthHost}} | Host de autoridade OAuth do aplicativo Azure AD do seu aplicativo. | Use um aplicativo Azure AD existente para seu aplicativo teams. |
botAadAppClientId | {{state.fx-resource-bot.botId}} | A ID do cliente do aplicativo Azure AD do bot é criada durante a provisionamento. | Use um aplicativo de Azure AD existente para o bot. |
botAadAppClientSecret | {{state.fx-resource-bot.botPassword}} | O segredo do cliente do Azure AD aplicativo do bot é criado durante o provisionamento. | Use um aplicativo de Azure AD existente para o bot. |
Variáveis de ambiente de referência em arquivos de parâmetro
Quando o valor é segredo, então você não precisa codificar-os no arquivo de parâmetro. Os arquivos de parâmetro dão suporte a referenciar os valores das variáveis de ambiente. Você pode usar essa sintaxe {{$env.YOUR_ENV_VARIABLE_NAME}}
nos valores de parâmetro do Teams Toolkit para resolve da variável de ambiente atual.
O exemplo a seguir lê o valor do mySelfHostedDbConnectionString
parâmetro da variável DB_CONNECTION_STRING
de ambiente :
...
"mySelfHostedDbConnectionString": "{{$env.DB_CONNECTION_STRING}}"
...
Personalizar arquivos de modelo do ARM
Se os modelos predefinidos não atenderem aos requisitos do aplicativo, você poderá personalizar os modelos do ARM em templates\azure
pasta. Por exemplo, você pode personalizar o modelo do ARM para criar alguns recursos extras do Azure para seu aplicativo. É necessário ter conhecimento básico da linguagem bicep, que é usada para criar um modelo do ARM.
Para garantir que a ferramenta TeamsFx funcione corretamente, personalize o modelo arm que atenda aos seguintes requisitos:
- Verifique se a estrutura da pasta e o nome do arquivo permanecem inalterados. A ferramenta pode acrescentar novo conteúdo aos arquivos existentes quando você adiciona mais recursos ou recursos ao seu projeto.
- Verifique se o nome dos parâmetros gerados automaticamente e seus nomes de propriedade permanecem pendentes. Os parâmetros gerados automaticamente podem ser usados quando você adiciona mais recursos ou funcionalidades ao seu projeto.
- Verifique se a saída do modelo ARM gerado automaticamente não foi alterada. Você pode adicionar mais saídas ao modelo arm. A saída é
.fx\states\state.{env}.json
e pode ser usada em outros recursos, como implantar e validar arquivos de manifesto.
Personalizar o aplicativo teams
Você pode personalizar seu bot ou o aplicativo teams adicionando snippets de configuração para usar um aplicativo Azure AD criado para seu aplicativo Teams. Execute as seguintes maneiras de personalizar o aplicativo teams:
- Usar um aplicativo Azure AD existente para seu aplicativo Teams
- Usar um aplicativo Azure AD existente para seu bot
Usar um aplicativo Azure AD existente para seu aplicativo Teams
Você pode adicionar o snippet de configuração a seguir ao .fx\configs\config.{env}.json
arquivo para usar um aplicativo Azure AD criado para seu aplicativo teams. Se você ainda não tiver um aplicativo Azure AD ou já tiver um, mas não souber onde encontrar o valor correto, confira como usar o aplicativo Azure AD existente no projeto TeamsFx:
"$schema": "https://aka.ms/teamsfx-env-config-schema",
"description": "...",
"manifest": {
...
},
// Add code below. Note you need to replace the placeholders with real values.
"auth": {
"clientId": "<your Azure AD app client id>",
"clientSecret": "{{$env.ENV_NAME_THAT_STORES_YOUR_SECRET}}",
"objectId": "<your Azure AD app object id>",
"accessAsUserScopeId": "<id of the access_as_user scope>"
}
Depois de adicionar o snippet, adicione o segredo do cliente à variável de ambiente relacionada para o Teams Toolkit para resolve o segredo real do cliente durante o provisionamento.
Observação
Certifique-se de que não compartilhe o mesmo aplicativo Azure AD em vários ambientes. Se você não tiver permissão para atualizar o aplicativo Azure AD, receberá um aviso com instruções para atualizar manualmente o aplicativo Azure AD. Siga estas instruções para atualizar seu aplicativo Azure AD após o provisionamento.
Usar um aplicativo Azure AD existente para seu bot
Você pode adicionar o seguinte snippet de configuração ao .fx\configs\config.{env}.json
arquivo para usar o aplicativo Azure AD criado para o bot:
"bot": {
"appId": "<your Azure AD app client id>",
"appPassword": "{{$env.ENV_NAME_THAT_STORES_YOUR_SECRET}}"
}
Depois de adicionar o snippet, adicione o segredo do cliente à variável de ambiente relacionada para o Teams Toolkit para resolve o segredo real do cliente durante o provisionamento.
Ignorar a adição de usuário para o banco de dados SQL
Se você receber um erro de permissão insuficiente quando o Teams Toolkit tentar adicionar usuário ao banco de dados SQL, adicione o seguinte snippet de configuração ao .fx\configs\config.{env}.json
arquivo para ignorar a adição de usuário de banco de dados SQL:
"skipAddingSqlUser": true