Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Parte anterior: Implementação do aplicativo principal
Esta seção analisa as bibliotecas Python importadas pelo aplicativo principal e as variáveis de ambiente das quais ele depende. Quando o aplicativo é implantado no Azure, essas variáveis de ambiente são fornecidas por meio das Configurações do Aplicativo no Serviço de Aplicativo do Azure.
Dependências e declarações de importação
O aplicativo conta com as seguintes bibliotecas:
- Flask – para definir a API web
- solicitações – o cliente HTTP Python padrão para fazer chamadas de API de saída
- azure.identity – para lidar com a autenticação baseada em token do Microsoft Entra ID
- azure.keyvault.secrets – para recuperar segredos com segurança do Azure Key Vault
- azure.storage.queue – para interagir com o Armazenamento de Filas do Azure
Essas dependências são incluídas no arquivo derequirements.txt do aplicativo e são instaladas durante a implantação ou a configuração local.
flask
requests
azure.identity
azure.keyvault.secrets
azure.storage.queue
Quando você implanta o aplicativo no Serviço de Aplicativo do Azure, o Azure instala automaticamente esses requisitos no servidor host. Ao executar localmente, instala-os no teu ambiente com pip install -r requirements.txt.
O arquivo de código começa com as instruções de importação necessárias para as partes das bibliotecas usadas no código:
from flask import Flask, request, jsonify
import requests, random, string, os
from datetime import datetime
from azure.keyvault.secrets import SecretClient
from azure.identity import DefaultAzureCredential
from azure.storage.queue import QueueClient
Variáveis de ambiente
O código do aplicativo depende destas quatro variáveis de ambiente:
| Variável | Valor |
|---|---|
| PONTO_DE_ACESSO_API_DE_TERCEIROS | A URL da API de terceiros, como https://msdocs-example-api.azurewebsites.net/api/RandomNumber descrita em Parte 3. |
| KEY_VAULT_URL | A URL do Cofre da Chave do Azure na qual você armazenou a chave de acesso para a API de terceiros. |
| NOME_SECRETO_API_TERCEIRO | O nome do segredo armazenado no Cofre de Chaves que contém a chave de acesso para a API de terceiros. |
| STORAGE_QUEUE_URL | A URL de uma Fila de Armazenamento do Azure que você configura no Azure, como https://msdocsexamplemainapp.queue.core.windows.net/code-requests (consulte Parte 4). Como o nome da fila está incluído no final da URL, você não vê o nome em nenhum lugar do código. |
Como você define essas variáveis depende de onde o código está sendo executado:
Ao executar o código localmente, você cria essas variáveis em qualquer shell de comando que estiver usando (como PowerShell, Bash ou CMD). (Se você implantar o aplicativo em uma máquina virtual, criará variáveis semelhantes do lado do servidor.) Você também pode usar uma biblioteca como python-dotenv, que lê pares chave-valor de um arquivo .env e os define como variáveis de ambiente
Quando o código é implantado no Serviço de Aplicativo do Azure, como é mostrado neste passo a passo, você não tem acesso ao próprio servidor. Em vez disso, você define as configurações do aplicativo com os mesmos nomes na configuração do Serviço de Aplicativo. Essas configurações são automaticamente expostas ao aplicativo como variáveis de ambiente.
Os scripts de provisionamento criam essas configurações usando o comando CLI do Azure, az webapp config appsettings set. Todas as quatro variáveis são definidas com um único comando.
Para criar configurações por meio do portal do Azure, consulte Configurar um aplicativo do Serviço de Aplicativo no portal do Azure.
Ao executar o código localmente, você também precisa especificar variáveis de ambiente que contenham informações sobre sua entidade de serviço local.
DefaultAzureCredential procura esses valores. Quando implantado no Serviço de Aplicativo, você não precisa definir esses valores, pois a identidade gerenciada atribuída ao sistema do aplicativo é usada para autenticar.
| Variável | Valor |
|---|---|
| AZURE_TENANT_ID | O ID do inquilino (diretório) do Microsoft Entra. |
| AZURE_CLIENT_ID | O ID do cliente (aplicativo) de um Registro de Aplicativo no locatário. |
| AZURE_CLIENT_SECRET | Um segredo do cliente que foi gerado para o Registro do aplicativo. |
Para obter mais informações, consulte Autenticar aplicativos Python em serviços do Azure durante o desenvolvimento local usando entidades de serviço.