Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Olá pessoal,
Algumas pessoas tem me perguntado que uma vez que as máquinas estão rodando no Windows Azure como enviar arquivos para o seu ambiente. Uma das possibilidade pode ser o uso do Windows Azure Storage em conjunto com o PowerShell. Para seguir os passos abaixo, estou assumindo que vc executou os passos ou leu o post Administrando Windows Azure com PowerShell.
O PowerShell do Windows Azure possui uma série de cmdlets para trabalhar com a estrutura de blob do storage, como por exemplo, comandos para gerenciar containers e comandos para gerenciar conteúdo do blob.
O primeiro passo para enviar arquivos para o storage é criar um container. Passo isso utilize o cmdlet New-AzureStorageContainer, conforme abaixo:
# Criando o container
New-AzureStorageContainer
-Name
nome_do_container
Note que o nome precisar ser em letras minúsculas. Para ver todos os containers da sua conta padrão de storage, é só rodar o comando abaixo:
# Buscando detalhes do container
Get-AzureStorageContainer
Note que o nome precisar ser em letras minúsculas. Para ver todos os containers da sua conta padrão de storage, é só rodar o comando abaixo:
# Buscando detalhes do container
Get-AzureStorageContainer
Agora, para fazer upload de um arquivo para o blob, utilize o cmdlet Set-AzureStorageBlobContent, informando o nome do blob, o arquivo de origiem, o tipo do blob, que para arquivos simples é Block e finalmente o container, conforme abaixo:
# Fazendo upload de um arquivo
Set-AzureStorageBlobContent
-Blob
teste.txt
-File
C:\temp\teste.txt
-BlobType
Block
–Container
nome_do_container
Depois de fazer o upload, é possível ver detalhes de todos os arquivos armazenados no container. Para isso, execute a linha abaixo:
# Vendo o detalhes do arquivo
Get-AzureStorageBlob
-Container
nome_do_container
Além do upload, também é possível fazer download de um arquivo no blob, para isso basta utilizar o cmdlet Get-AzureStorageBlobContent, conforme abaixo:
# Fazendo download do arquivo
Get-AzureStorageBlobContent
-Container
nome_do_container -Blob teste.txt
-Destination
C:\temp\teste2.txt
Uma outra possibilidade interessante é combinar comandos tradicionais do PowerShell com comandos do Windows Azure. Por exemplo, é possível fazer upload de vários arquivos combinando o cmdlet Get-ChildItem através de piping com o cmdlet Set-AzureStorageBlobContent:
# Fazendo upload de todos os arquivos texto de um diretório
Get-ChildItem
C:\Temp\*.txt
|
foreach {
Set-AzureStorageBlobContent
-Blob
$_.Name
-File
$_.FullName -BlobType
Block
-Container
files
}
De maneira similar é possível fazer download de todos os blobs de um container:
# Fazendo download de todos os blobs de um container
Get-AzureStorageBlob
-Container
files
|
foreach {
$filePath
=
"c:\temp\download\"
+
$_.Name
Get-AzureStorageBlobContent
-Container
files
-Blob
$_.Name -Destination $filePath
}
No próximo post pretendo falar como criar máquinas virtuais no Windows Azure através do PowerShell.
RG