Acessando o armazenamento local do Blob Azure por meio de um descanso simples 'Get'
-
18-09-2019 - |
Pergunta
Estou trabalhando com o Windows Azure e estou apenas usando o armazenamento do blob. Eu configurei meu armazenamento de blob para ser executado em seu próprio arquivo de solução com uma função dummy web. Eu o corro primeiro na minha máquina de desenvolvimento para que os serviços do Azure iniciem. Eu configurei o serviço para usar a chave compartilhada e o nome da conta compartilhada.
Estou enfrentando um problema quando aponto meu aplicativo da web (em outra solução) para o serviço de armazenamento local de blob. Posso fazer upload de um arquivo para o armazenamento do blob e posso ver os registros no meu banco de dados local. Portanto, digitei as configurações corretas no web.config. No entanto, não posso acessar o arquivo por meio de uma solicitação GET simples. Eu verifiquei que o contêiner é público.
O URI que estou usando é:
http://127.0.0.1:10000/{container-name}/{filename}.{extension}
Meu código funciona quando uso meus serviços de produção do Azure, então há algo diferente no ambiente de desenvolvimento que estou perdendo? O ambiente local permite o acesso a descanso?
ATUALIZAÇÃO: Recentemente encontrei Este artigo do MSDN Isso descreve as diferenças entre URIs de produção e armazenamento de desenvolvimento. Eu também documentei meu ambiente aqui no meu blog.
Solução
O URI parece estar um pouco incorreto, o formato para o URI de armazenamento de desenvolvimento é:
http://<local-machine-address>:<port>/<account-name>/<resource-path>
Dado que o nome da conta é sempre devStoreAcCount1, seu URI deve ser:
http://127.0.0.1:10000/devstoreaccount1/{container-name}/{filename}.{extension}
Outras dicas
Que tipo de resposta ou código de erro você está recebendo? Se você estiver usando o IE- você pode instalar o Fiddler ou usar as ferramentas de desenvolvedor embutidas no IE8 para ajudar a depurar um problema de comunicação. Claro- o tecido de desenvolvimento funciona em repouso!