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

  1. Abra o Visual Studio.

  2. Abra o projeto de Aplicativo do Microsoft Teams.

  3. Selecione ProvisionamentodeKit de> Ferramentas do Project > Teamsna Nuvem.

    A captura de tela mostra a entrada na conta do Azure.

  4. Selecione Entrar....

    A captura de tela mostra a entrada na conta do Azure.

    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:

  1. Selecione ProvisionamentodeKit de> Ferramentas do Project > Teamsna Nuvem....

    A captura de tela mostra como provisionar na nuvem.

    A janela Provisionar é exibida.

  2. Insira os seguintes detalhes para provisionar seus recursos:

    1. Selecione o nome da assinatura no menu suspenso.
    2. Selecione seu grupo de recursos no menu suspenso ou você pode criar um novo grupo de recursos selecionando Novo....
    3. Selecione sua Região no menu suspenso.
    4. Selecione Provisionar.

    A captura de tela mostra a seleção do grupo de recursos.

  3. Na janela pop-up exibida, selecione Provisionar.

    A captura de tela mostra o aviso de provisionamento.

    O processo de provisionamento cria recursos na nuvem do Azure. Você pode monitorar o progresso observando a janela de saída do Teams Toolkit.

  4. Na janela pop-up exibida, para exibir todos os recursos provisionados, selecione Exibir recursos provisionados.

    A captura de tela mostra os recursos provisionados.

Provisionar ações

As seguintes ações são projetadas para provisionar:

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/updateA 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

Para usar um aplicativo Azure AD criado para seu aplicativo teams e adicionar variáveis de ambiente aos arquivos .env, siga estas etapas.

  1. Abra o teamsapp.yml arquivo e localize a ação aadApp/create .

  2. 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ão writeToenvironmentFile 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
    
  3. Adicione valores para cada variável de ambiente a partir da etapa 2.

    1. 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
      
    2. 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.

  1. Abra o teamsapp.yml arquivo e localize a ação botAadApp/create .

  2. Encontre os nomes de variáveis de ambiente que armazenam informações para Azure AD aplicativo na writeToEnvironmentFile propriedade. A definição padrão writeToEnvironmentFile se você criar projetos usando o Teams Toolkit será a seguinte:

     writeToEnvironmentFile:
       botId: BOT_ID
       botPassword: SECRET_BOT_PASSWORD
    
  3. Adicione valores para cada variável de ambiente a partir da etapa 2.

    1. 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    
      
    2. 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

  1. Abra o Visual Studio.

  2. Abra o projeto de aplicativo do Microsoft Teams.

  3. Selecione Kitde Ferramentas> do Project> TeamsPreparar Dependências de Aplicativo do Teams.

    Preparar dependências do aplicativo teams

  4. Selecione Entrar... para entrar na conta do Microsoft 365.

    Entrar no 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.

  5. Seu navegador da Web padrão é aberto para permitir que você entre na conta.

  6. Selecione Continuar depois de entrar em sua conta.

    Confirmar selecionando continuar

Entre em sua conta do Azure

  1. Abra o Visual Studio.

  2. Abra o projeto de Aplicativo do Teams.

  3. Selecione ProvisionamentodeKit de> Ferramentas do Project > Teamsna nuvem.

    Entrar na conta do Azure

  4. Selecione Entrar... para entrar na sua conta do Azure.

    Entre em 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:

  1. Selecione ProvisionamentodeKit de> Ferramentas do Project > Teamsna nuvem.

    Provisionamento na nuvem

    A janela provisionamento é exibida.

  2. Insira os seguintes detalhes para provisionar seus recursos:

    1. Selecione o nome da assinatura no menu suspenso.

    2. Selecione seu grupo de recursos no menu suspenso ou você pode criar um novo grupo de recursos selecionando Novo....

    3. Selecione sua Região no menu suspenso.

    4. Selecione Provisionar.

    Selecionar grupo de recursos

  3. Na janela pop-up exibida, selecione Provisionar.

    Aviso de provisionamento

    O processo de provisionamento cria recursos na nuvem do Azure. Você pode monitorar o progresso observando a janela de saída do Teams Toolkit.

  4. Na janela pop-up exibida, selecione Exibir Recursos Provisionados para exibir todos os recursos provisionados.

    Exibir 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.

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_STRINGde 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

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

Confira também