Serviço de Armazenamento e Blob do Azure Blob [fechado]

130

Por favor, corrija meus erros. Pela minha leitura sobre o tópico até agora, parece-me que o Serviço de Armazenamento e Arquivo de Blob do Azure oferece a capacidade de armazenar arquivos e pastas (eu entendo que os blobs podem armazenar qualquer objeto binário, mas qualquer serializado). fluxo binário é apenas um arquivo no final do dia) em uma estrutura hierárquica que imita um sistema de arquivos.

Somente a API para acessá-los é um pouco diferente, pois o Serviço de Arquivo permite que você consulte a fonte usando funções semelhantes às E / S de Arquivo Win32, além de usar a API REST.

Por que você escolheria um sobre o outro se desejasse que seu aplicativo armazenasse alguns arquivos pertencentes aos usuários do seu aplicativo?

Refrigerador de água v2
fonte
6
Você leu esta postagem do blog da Equipe de Armazenamento do Azure: blogs.msdn.com/b/windowsazurestorage/archive/2014/05/12/… ? Role para baixo até a seção onde explica quando usar qual serviço.
Gaurav Mantri-AIS
3
Sim, li esse artigo antes de postar. Estou em um estágio muito inicial de reflexão, e meu entendimento ainda não está bem formado. Eu ainda estou confuso. Entendo tudo o que está escrito em todos os artigos que li, mas estou tentando descobrir o que é melhor usar se quiser armazenar arquivos de propriedade do usuário para um aplicativo que estou criando.
Water Cooler v2
Eu acho que tudo se resume ao que você quer fazer com esses arquivos de usuário? De alguma forma, eles serão transmitidos de volta (através de um navegador da web etc.) ou serão processados ​​ainda mais? Se for anterior, o armazenamento de blob faz sentido. Se for o último, o serviço de arquivos faz sentido.
Gaurav Mantri-AIS
1
O problema é: quero permitir que o usuário carregue e baixe seus próprios arquivos e também compartilhe alguns deles com outros do seu grupo de contatos (para que eles apenas façam o download / leia). Eu poderia usar SAS (Shared Access Signatures) com armazenamento de Blob para fazer isso, mas isso não atenderia aos meus requisitos de "compartilhamento". Eu estava inclinado a encontrar uma solução em que meu aplicativo / serviço fizesse toda a autenticação e não expusesse o recurso de armazenamento real ao usuário. Nesse contexto, para mim, o serviço de arquivos e o armazenamento de blob fazem a mesma coisa. Ninguém me oferece mais conforto que o outro.
Water Cooler v2
@ WaterCoolerv2 Você pode me ajudar a escolher entre o armazenamento de arquivos azuis e o armazenamento de
blobs

Respostas:

110

Alguns itens para sua pergunta:

  1. Você não pode montar o Armazenamento de Blob do Azure como um compartilhamento nativo em uma máquina virtual.
  2. O Armazenamento de Blob do Azure não é hierárquico além dos contêineres. Você pode adicionar arquivos com / ou \ caracteres que são interpretados como pastas por muitos aplicativos que lêem armazenamento em blob.
  3. O Serviço de Arquivo do Azure fornece uma interface de protocolo SMB para o Armazenamento de Blob do Azure, que resolve o problema com (1).

Se você estiver desenvolvendo um novo aplicativo, aproveite a API nativa do Azure diretamente no Blob Storage.

Se você estiver portando um aplicativo existente que precise compartilhar arquivos, use o Serviço de Arquivo do Azure.

Observe que existem alguns recursos do protocolo SMB aos quais o Serviço de Arquivo do Azure não oferece suporte .

Simon W
fonte
1
Muito obrigado, Simon. Algumas coisas sobre sua resposta. Veja, no final do dia, eu quero um resultado final. Desse ponto de vista, postei essa pergunta. Do ponto de vista do resultado final, os argumentos 1 e 3 da sua lista não são pertinentes. Não estou discutindo com você. :-) Sua resposta é extremamente útil. Estou apenas tentando lhe contar o processo de pensamento que me levou a fazer essa pergunta. E o argumento 2 não é um problema, pois apresenta um problema e diz que isso não é um problema. Supondo que eu quisesse armazenar arquivos de propriedade do usuário, pensei: por que prefiro um sobre o outro?
Water Cooler v2
Veja os dois pontos após a lista numerada - esse deve ser o seu guia.
Simon W
1
@ SimonW - os dois pontos após o seu guia são indicados como "a maneira de fazê-lo". No entanto, eles não são absolutos. Eles são mais como sugestões, dentro desse cenário. Há casos em que você não deseja usar a API do Azure diretamente, mesmo com um novo aplicativo. Da mesma forma, há casos em que você pode refazer os aplicativos existentes para usar a API do Azure.
22614 David Makogon
Existe alguma diferença de desempenho de IOPS entre eles?
LaPuyaLoca
@SimonW - você pode elaborar o ponto 3 acima? Esta é uma maneira de montar um Blob como um compartilhamento de arquivo SBM ou acessá-lo como um "disco" de alguma forma?
Neil Weicher
38

Algumas outras coisas a considerar:

  • Preço: o armazenamento de blob é muito mais barato que o armazenamento de arquivos.
  • Portabilidade: com o armazenamento em blob, se você decidir migrar para uma plataforma diff no futuro, poderá ser necessário alterar o código do aplicativo, mas com o armazenamento em arquivo, você poderá migrar o aplicativo para qualquer outra plataforma compatível com SMB (supondo que você esteja usando APIs nativas do sistema de arquivos em seu aplicativo)
Dharmendar Kumar 'DK'
fonte
4
O preço aqui é um fator enorme (atualmente, cerca de uma diferença de 5x), e também vale a pena mencionar o limite de 5 TB de armazenamento de arquivos.
TZHX 20/09
Post antigo, mas estou lendo pela primeira vez hoje. Por padrão, há um limite de 5 TB no nível de preço padrão, mas isso pode ser alterado através de uma mudança para um limite de 100 TB. Observação * Habilitar compartilhamentos de arquivos grandes em uma conta é um processo irreversível em uma conta de Armazenamento do Azure. docs.microsoft.com/azure/storage/files/…
Ruwd
10

O Serviço de Arquivo do Azure está mais voltado para o tratamento interno de arquivos. Com interno, quero dizer montar um diretório em uma VM na nuvem ou local, para que ele possa ser carregado no back-end (protocolo baseado em SMB).

Para compartilhar arquivos com usuários finais (web ou aplicativos), provavelmente faz mais sentido usar o armazenamento de blobs, pois isso simplifica o download por meio de uma URL e garante o download por meio de assinaturas de acesso compartilhado.

Esta postagem compartilha mais detalhes sobre a comparação (na parte inferior): https://blogs.msdn.microsoft.com/windowsazurestorage/2014/05/12/introducing-microsoft-azure-file-service/


fonte
Oi Clemens Schotte, o que queremos dizer por armazenamento blob permite fazer download throug um url Você armazenamento de arquivos média não fornecer urls
Heemanshu Bhalla
1
Algumas coisas mudaram desde essas postagens, mas o Serviço de Arquivo oferece suporte ao download por meio de uma URL e outras APIs REST ( docs.microsoft.com/en-us/azure/storage/common/… ). Além disso, a segurança parece estar no nível da Conta de Armazenamento, portanto deve ser muito semelhante entre os Blobs e o Serviço de Arquivos ( docs.microsoft.com/en-us/azure/storage/common/… ).
KJ