Ligar ao Armazenamento de Blobs do Azure a partir do Power Apps
O Power Apps pode ligar ao Armazenamento de Blobs do Azure. Pode carregar ficheiros como Word, Excel ou imagens multimédia, áudio ou vídeo utilizando o conector do Armazenamento de Blobs do Azure para o Power Apps.
Quando concebe uma aplicação de tela que liga ao Armazenamento de Blobs do Azure, a aplicação utiliza o nome da conta de armazenamento de blobs e a chave para ligar. Depois de partilhar a aplicação com outros, os utilizadores podem utilizar a ligação configurada dentro da aplicação para carregar ficheiros para o Armazenamento de Blobs do Azure sem a necessidade de partilhar o nome e as chaves do armazenamento de blobs com os utilizadores da aplicação.
Neste artigo, irá aprender a criar uma aplicação de tela de exemplo que se liga ao Armazenamento de Blobs do Azure, e a adicionar controlos à aplicação que lhe permite carregar diferentes tipos de ficheiros para o armazenamento de blobs ligado.
Nota
Para saber mais sobre outros tipos de opções de armazenamento na nuvem com o Power Apps (como o OneDrive, OneDrive para Empresas, Google Drive, Dropbox ou Box), vá a Ligar ao armazenamento na nuvem a partir do Power Apps.
Pré-requisitos
Antes de começar, crie e configure uma conta BlockBlobStorage. Também pode utilizar a conta BlobStorage legada, embora não seja recomendado. Mais informações: Tipos de contas de armazenamento no Armazenamento de Blobs do Azure
Criar ligação ao Armazenamento de Blobs do Azure
O Power Apps requer uma ligação ao Armazenamento de Blobs do Azure para que a aplicação se ligue ao armazenamento.
Para criar a ligação ao Armazenamento de Blobs do Azure:
Inicie sessão no Power Apps.
No painel esquerdo, expanda Dados.
Selecionar Ligações.
Selecione Nova ligação.
Selecione Armazenamento de Blobs do Azure.
Copie e cole o nome da conta e a chave de acesso.
Para obter mais informações sobre como copiar o nome da conta e a chave de acesso, aceda a Ver chaves de acesso à conta no Azure.
Selecione Criar.
A sua ligação ao Armazenamento de Blobs do Azure está agora configurada e pronta a ser utilizada com aplicações de tela.
Criar aplicação de tela com ligação ao Armazenamento de Blobs do Azure
Agora que tem a ligação ao Armazenamento de Blobs do Azure criada, vamos criar uma aplicação de tela que se liga a este armazenamento.
Nota
Nesta secção, irá criar uma aplicação de exemplo com controlos de exemplos, funcionalidade e design de esquema. Dependendo dos requisitos do seu negócio, pode criar a aplicação com uma estrutura diferente ou personalizar de forma diferente.
Crie uma aplicação de tela em branco com o nome "Exemplo de Aplicação para o Armazenamento de Blobs do Azure" e o esquema Telefone.
No Power Apps Studio, no painel do lado esquerdo, selecione .
Selecione Adicionar dados.
Na lista de conectores, selecione Armazenamento de Blobs do Azure.
Ver contentores e ficheiros
Agora que tem a aplicação ligada ao Armazenamento de Blobs do Azure, adicionemos galerias para ver contentores e ficheiros dentro dos contentores a partir do armazenamento ligado.
Selecione Inserir -> Galeria -> Vertical em branco.
Do lado direito do ecrã, no painel de propriedade, selecione a lista pendente de esquemas e escolha Título.
Selecione primeiro o dentro da galeria, e elimine-o.
Do lado direito do ecrã, no painel de propriedade, selecione a lista pendente de origens de dados e escolha Armazenamento de Blobs do Azure.
Defina a propriedade Items da galeria como:
AzureBlobStorage.ListRootFolderV2().value
Esta operação lista os blobs na pasta raiz do Armazenamento de Blobs do Azure. Mais informações: Listar blobs na pasta raiz
Selecione Inserir -> Galeria -> Vertical em branco para adicionar outra galeria vertical em branco.
Mova a galeria para baixo da galeria que acrescentou anteriormente que mostra a lista de contentores.
Do lado direito do ecrã, no painel de propriedade, selecione a lista pendente de esquemas e escolha Título, legenda e corpo.
Selecione primeiro o dentro da galeria, e elimine-o.
Do lado direito do ecrã, no painel de propriedade, selecione a lista pendente de origens de dados e escolha Armazenamento de Blobs do Azure.
Defina a propriedade Items da galeria como:
AzureBlobStorage.ListFolderV2(Gallery1.Selected.Id).value
Esta operação lista blobs num contentor. Mais informações: Lista de blobs
Nota
Galeria1 nesta fórmula é a referência à galeria adicionada anteriormente que lista todos os contentores na conta de armazenamento. Atualize a fórmula com o nome da galeria se diferente.
Do lado direito do ecrã, no painel de propriedade, selecione Editar para Campos.
Altere os campos selecionados para o título da galeria como DisplayName, legenda como LastModified e corpo como Path.
A galeria mostra agora a lista de ficheiros do contentor selecionado utilizando a galeria no topo.
Selecione Inserir -> Etiqueta de texto.
Coloque a etiqueta por cima do ecrã da aplicação.
Defina a propriedade Texto da etiqueta como "Selecionar um contentor".
Utilize o painel de propriedades no lado direito do ecrã e escolha a cor de texto, tamanho da etiqueta e a cor de fundo do texto da etiqueta da sua escolha.
Selecione Inserir -> Etiqueta de texto.
Coloque a etiqueta acima da galeria com a lista de ficheiros.
Defina a propriedade Texto da etiqueta como "Lista de ficheiros".
Carregue ficheiros para o Armazenamento de Blobs do Azure
Com o design da aplicação até agora, pode selecionar um contentor e, em seguida, listar os ficheiros do contentor.
Vamos configurar a aplicação com controlos e lógica para permitir o carregamento de ficheiros para o Armazenamento de Blobs do Azure ligado.
Selecione Inserir -> Multimédia -> Adicionar imagem para adicionar a capacidade de selecionar ficheiros a carregar.
Redimensione o controlo Adicionar imagem e coloque-o no canto inferior esquerdo do ecrã da aplicação.
Defina a propriedade Texto do controlo para "Selecionar um ficheiro a carregar".
Selecione Inserir -> Botão.
Coloque o botão no lado inferior direito do ecrã da aplicação.
Defina a propriedade Texto do botão para "Carregar".
Selecione Inserir -> Entrada de texto.
Coloque o controlo de entrada de texto acima do botão Carregar.
Defina a propriedade Predefinido do botão para "Introduzir Nome do Ficheiro".
Defina a propriedade OnSelect do botão para:
AzureBlobStorage.CreateFile(Gallery1.Selected.Name,TextInput1.Text, UploadedImage1.Image)
Esta operação carrega um blob para o Armazenamento de Blobs do Azure. Mais informações: Criar blob
Nota
Galeria1 nesta fórmula é a referência à galeria adicionada anteriormente que lista todos os contentores na conta de armazenamento. O ficheiro será carregado para o contentor selecionado na galeria 1. TextInput1 e uploadImage1 fazem referência aos controlos de entrada de texto e de carregar imagem. Atualize a fórmula com os nomes dos controlos se diferente.
Agora, os controlos da aplicação têm este aspeto na aplicação de exemplo.
Dica
Certifique-se de que seleciona Todos os ficheiros ao utilizar a opção de carregamento para garantir que todos os tipos de ficheiros estão visíveis na caixa de diálogo do explorador de ficheiros.
Transfira ficheiros do Armazenamento de Blobs do Azure
Até agora adicionou a capacidade de ver contentores, ficheiros do contentor selecionado e a opção de enviar ficheiros para o armazenamento. Agora, vamos compreender como trabalhar com a capacidade de transferência com o armazenamento ligado.
Selecione a primeira linha na galeria com a lista de ficheiros de um contentor.
Selecione Inserir -> Ícones -> Transferir. Isto adiciona o ícone de transferência para todas as linhas na galeria.
Mova o primeiro ícone a transferir em direção ao lado direito, dentro da galeria, no ecrã da aplicação. Esta açõa também move os restantes ícones para as linhas seguintes na galeria.
Defina a propriedade OnSelect do ícone a transferir para:
Launch(AzureBlobStorage.CreateShareLinkByPath(ThisItem.Path).WebUrl)
Esta operação cria uma ligação de SAS para um blob através do caminho. Mais informações: Criar URI SAS por caminho
Importante
URI SAS criado utilizando CreateShareLinkByPath tem uma validade predefinida de 24 horas. Se tiver um requisito de negócio a expirar o URI num tempo mais curto ou diferente, considere atualizar esta fórmula. Por exemplo, o exemplo abaixo expira o URI em 1 hora utilizando funções Now() e DateAdd().
Launch(AzureBlobStorage.CreateShareLinkByPath(ThisItem.Path,{ExpiryTime:DateAdd( Now(),1)}).WebUrl)
Dica
Para obter mais informações sobre a configuração do Armazenamento de Blobs do Azure para acesso anónimo público, e diferentes níveis de acesso público, aceda a Configurar acesso de leitura público anónimo para contentores e blobs.
A aplicação tem agora a capacidade de permitir que transfira os ficheiros.
Teste, guarde, publique e partilhe a aplicação
Reproduza a aplicação para a testar e verifique se a aplicação funciona como esperado. Após o teste, certifique-se de que guarda e publica a aplicação antes de fechar o Power Apps Studio. E, em seguida, pode partilhar a aplicação com outros dentro da sua organização ou convidados fora da sua organização.
Personalizações opcionais
Nesta secção, vai aprender sobre personalizações opcionais e adicionais que pode considerar para a sua aplicação.
Tipo de Multimédia
Pode utilizar os campos Tipo de multimédia ou Caminho para que a galeria apresente opcionalmente o conteúdo da imagem nos respetivos controlos. Por exemplo, Visualizador de PDF para ficheiros PDF, Imagem para imagens ou Áudio/vídeo para ficheiros áudio/vídeo.
Por exemplo, para filtrar os ficheiros com o tipo de extensão de ficheiro de .pdf, utilize a seguinte fórmula de exemplo.
If(".pdf" in Gallery2.Selected.Path, AzureBlobStorage.GetFileContent(Gallery2.Selected.Id))
Da mesma forma, pode utilizar diferentes tipos de extensão de ficheiros ou tipos de multimédia para personalizar adicionalmente os controlos adicionados.
Atualizar galerias ligadas ao Armazenamento de Blobs do Azure
A ligação ao Armazenamento de Blobs do Azure não atualiza os dados dentro de galerias automaticamente quando os dados são atualizados. Se tiver mais de um contentor, pode selecionar o outro contentor e, em seguida, selecionar novamente o contentor anteriormente selecionado para atualizar a galeria ligada para apresentar as alterações.
Outro método que pode ser considerado é a utilização de uma coleção para a primeira galeria e, em seguida, usar a função ClearCollect para atualizar a coleção.
Por exemplo, as seguintes fórmulas permitem-lhe atualizar a coleção para a lista principal de contentores na primeira galeria e atualizar a segunda galeria quando o botão de enviar estiver selecionado ou quando o ecrã aparece (propriedade do ecrã OnVisible).
Defina a propriedade Items da primeira galeria para a lista de contentores para "TopLevelList".
Anexe à propriedade OnSelect do botão de carregamento:
ClearCollect(TopLevelList, AzureBlobStorage.ListRootFolderV2().value)
Adicione à propriedade OnVisible do ecrã:
ClearCollect(TopLevelList, AzureBlobStorage.ListRootFolderV2().value)
Limitações
Não é possível utilizar o Microsoft Excel como a origem de dados quando o ficheiro é armazenado no Armazenamento de Blobs do Azure. Para utilizar o Excel como a origem de dados, utilize os outros conectores de armazenamento na nuvem (tais como o OneDrive, OneDrive para Empresas, Google Drive, Dropbox ou Box). Mais informações: Ligar ao armazenamento na nuvem a partir do Power Apps
Passos seguintes
Estruturar a interface da aplicação