Partilhar via


Implantar o construtor de API de Dados em Instâncias de Contêiner do Azure

Diagrama da posição atual ('Publicar') na sequência do guia de implementação.

Diagrama da sequência do guia de implantação, incluindo esses locais, na ordem: Visão geral, Planejar, Preparar, Publicar, Monitorar e Otimizar. A opção 'Publicar' está atualmente destacada.

Implante o construtor de API de dados rapidamente no Azure usando apenas um arquivo de configuração e nenhum código personalizado. Este guia inclui etapas para hospedar a imagem de contêiner do construtor de API de Dados do Docker como um contêiner em Instâncias de Contêiner do Azure.

Neste guia, percorra as etapas para criar um arquivo de configuração do construtor de API de Dados, hospedar o arquivo nos Arquivos do Azure e montar o arquivo em um contêiner nas Instâncias de Contêiner do Azure.

Pré-requisitos

Criar o arquivo de configuração

Para começar, crie um arquivo de configuração do Data API builder (DAB) para se conectar ao seu banco de dados existente. Este arquivo é usado posteriormente com o contêiner final.

  1. Crie um diretório vazio em sua máquina local para armazenar o arquivo de configuração.

  2. Inicialize um novo arquivo de configuração base usando dab inito . Use as seguintes configurações no mínimo na inicialização.

    Configurações Valor
    Tipo de banco de dados Selecione um tipo de banco de dados suportado.
    Cadeia de conexão Use a @env() função para fazer referência à DATABASE_CONNECTION_STRING variável de ambiente.
    dab init --database-type "<database-type>" --connection-string "@env('DATABASE_CONNECTION_STRING')"
    

    Importante

    Alguns tipos de banco de dados exigirão definições de configuração adicionais na inicialização.

  3. Adicione pelo menos uma entidade de banco de dados à configuração. Use o dab add comando para configurar uma entidade. Configure cada entidade para permitir todas as permissões para usuários anônimos. Repita dab add tantas vezes quanto desejar para as suas entidades.

    dab add "<entity-name>" --source "<schema>.<table>" --permissions "anonymous:*"
    
  4. Abra e revise o conteúdo do arquivo dab-config.json . Você usa esse arquivo posteriormente neste guia.

Configuração do host nos Arquivos do Azure

Em seguida, carregue o arquivo de configuração em um compartilhamento de arquivos criado nos Arquivos do Azure. Esse compartilhamento de arquivos é eventualmente montado no contêiner final como um volume.

  1. Entre no portal do Azure (https://portal.azure.com).

  2. Crie um novo grupo de recursos. Você usará este grupo de recursos para todos os novos recursos neste guia.

    Captura de ecrã do separador

    Sugestão

    Recomendamos nomear o grupo de recursos msdocs-dab-aci. Todas as capturas de tela neste guia usam esse nome.

  3. Criar uma conta de Armazenamento do Azure. Use essas configurações para configurar a conta.

    Configurações Valor
    Grupo de recursos Selecione o grupo de recursos criado anteriormente
    Nome da conta de armazenamento Insira um nome globalmente exclusivo
    Região Selecione uma região do Azure
    Desempenho Selecione Padrão
    Redundância Selecionar armazenamento com redundância local (LRS)
    Habilitar o acesso à chave da conta de armazenamento Selecione Ativado

    Captura de ecrã do separador 'Avançadas' da página 'Criar uma conta de armazenamento' no portal do Azure.

  4. Navegue até a nova conta de armazenamento no portal do Azure.

  5. Selecione Compartilhamentos de arquivos na seção Armazenamento de dados do menu de recursos. Em seguida, selecione Compartilhamento de arquivos na barra de comandos para criar um novo compartilhamento na conta de armazenamento. Use as configurações a seguir para configurar o novo compartilhamento de arquivos.

    Configurações Valor
    Nome Introduzir config
    Camada de acesso Selecione Ativo
    Ativar backup Não selecione

    Captura de ecrã do menu de recursos **Partilha de ficheiros** e das opções da barra de comandos no portal do Azure.

  6. Carregue o dab-config.json e quaisquer outros ficheiros necessários para a partilha. Use a opção Carregar na barra de comandos para abrir a caixa de diálogo Carregar arquivos . Selecione ambos os arquivos e, em seguida, selecione Carregar.

    Captura de ecrã da caixa de diálogo **Carregar ficheiros** no portal do Azure.

  7. Selecione Teclas de acesso na seção Segurança + rede do menu de recursos. Em seguida, registre o nome da conta de armazenamento e os valores de chave nesta página. Você usará esses valores mais adiante neste guia.

    Captura de ecrã da página 'Chaves de Acesso' numa conta de armazenamento no portal do Azure.

Criar a instância do contêiner base

Por fim, crie o contêiner no Azure usando as Instâncias de Contêiner do Azure. Esse contêiner hospeda a imagem do construtor da API de dados com um arquivo de configuração para se conectar ao seu banco de dados.

Importante

Hoje, a única maneira de criar uma instância de contêiner com um volume montado é com a CLI do Azure.

  1. Crie um recurso de Instâncias de Contêiner do Azure usando o az container create. Use essas configurações para configurar o recurso.

    Configurações Valor
    Grupo de recursos Usar o grupo de recursos criado anteriormente
    Nome do contêiner Insira um nome globalmente exclusivo
    Região Usar a mesma região que a conta de armazenamento
    SKU Usar Padrão
    Tipo de imagem Usar Público
    Imagem Introduzir mcr.microsoft.com/azure-databases/data-api-builder:latest
    Tipo de SO Usar Linux
    Tipo de rede Usar Público
    Portas de rede Introduzir 5000
    Rótulo do nome DNS Insira um rótulo exclusivo globalmente
    Variáveis de ambiente Insira DATABASE_CONNECTION_STRING e a cadeia de conexão para a sua base de dados.
    az container create \
        --resource-group "<resource-group-name>" \
        --name "<unique-container-instance-name>" \
        --image "mcr.microsoft.com/azure-databases/data-api-builder:latest" \
        --location "<region>" \
        --sku "Standard" \
        --os-type "Linux" \
        --ip-address "public" \
        --ports "5000" \
        --dns-name-label "<unique-dns-label>" \
        --environment-variables "DATABASE_CONNECTION_STRING=<database-connection-string>" \
        --azure-file-volume-mount-path "/cfg" \
        --azure-file-volume-account-name "<storage-account-name>" \
        --azure-file-volume-account-key "<storage-account-key>" \
        --azure-file-volume-share-name "config" \
        --command-line "dotnet Azure.DataApiBuilder.Service.dll --ConfigFileName /cfg/dab-config.json"
        --
    

    Sugestão

    Recomendamos o uso de uma cadeia de conexão que não inclua chaves de autorização. Em vez disso, use identidades gerenciadas e controle de acesso baseado em função para gerenciar o acesso entre o banco de dados e o host. Para obter mais informações, consulte Serviços do Azure que usam identidades gerenciadas.

  2. Use az container show para consultar o nome de domínio totalmente qualificado (FQDN) para sua nova instância de contêiner. Em seguida, navegue até o site da instância do contêiner.

    az container show \
        --resource-group "<resource-group-name>" \
        --name "<unique-container-instance-name>" \
        --query "join('://', ['https', ipAddress.fqdn])" \
        --output "tsv"
    
  3. Observe a resposta indicando que o contentor DAB está em execução e o estado está saudável.

    {
        "status": "healthy",
        "version": "1.1.7",
        "app-name": "dab_oss_1.1.7"
    }
    

    Observação

    O número da versão e o nome variam com base na sua versão atual do Data API builder. Neste ponto, você não pode navegar para nenhum ponto de extremidade da API. Esses pontos de extremidade estarão disponíveis assim que você montar um arquivo de configuração DAB.

  4. Navegue até o caminho /api/swagger da aplicação atualmente em execução. Use a interface do usuário do Swagger para emitir uma solicitação HTTP GET para uma de suas entidades.

Limpeza de recursos

Quando já não precisar da aplicação ou dos recursos de amostra, remova a implementação correspondente e todos os recursos.

  1. Navegue até o grupo de recursos usando o portal do Azure.

  2. Na barra de comandos, selecione Excluir.

Próximo passo