Computação
Banco de
Dados
Máquinas
Virtuais
Armazenamento
Rede de Entrega
de Conteúdo
Caching
Rede Virtual
Barramento de
Serviços
Controle de
Acesso
Business
Inteligence
Marketplace
Computação
Banco de
Dados
Máquinas
Virtuais
Armazenamento
Rede de Entrega
de Conteúdo
Caching
Rede Virtual
Barramento de
Serviços
Controle de
Acesso
Business
Inteligence
Marketplace
Screenshot do painel de controle ou mini demo
var stringDeConexao =
“Server=tcp:servidor123.database.windows.net;Database=nomeDoBancoDeDados;
User ID=usuario@servidor123;Password=senha;Trusted_Connection=False;
Encrypt=True;MultipleActiveResultSets=True;”;
using (var conexao = new SQLConnection(stringDeConexao))
{
using (var comando = new conexao.CreateCommand())
{
comando.CommandText = “select count(*) from TabelaX”;
var resultado = comando.ExecuteScalar();
}
}
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition
xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefiniti
on" name="MyService">
<WebRole name="MyService_WebRole" vmsize="Medium">
<InputEndpoints>
<InputEndpoint name="HttpIn" port="80" protocol="http" />
</InputEndpoints>
<ConfigurationSettings>
<Setting name="SimpleConfigSetting" />
</ConfigurationSettings>
<LocalResources>
<LocalStorage name="localStoreUm" sizeInMB="10" />
<LocalStorage name="localStoreDois" sizeInMB="10"
cleanOnRoleRecycle="false" />
</LocalResources>
</WebRole>
</ServiceDefinition>
var localStoreUm = RoleEnvironment.GetLocalResource("localStoreUm");
var nomeArquivo = “MeuArquivo.txt";
var caminhoArquivo = Path.Combine(localStoreUm.RootPath, nomeArquivo);
using (var fileStream = File.Create(caminhoArquivo))
{
using (var streamWriter = new StreamWriter(fileStream))
{
streamWriter.WriteLine(“Nova linha!”);
}
}
var localStoreUm = RoleEnvironment.GetLocalResource("localStoreUm");
var pastas = “\Pasta1\Pasta2”;
var nomeArquivo = “MeuArquivo.txt";
var caminhoArquivo = Path.Combine(localStoreUm.RootPath, pastas,
nomeArquivo);
Ex.: C:\Resources\directory\f335471d5a5845aaa4e66d0359e69066.MyService_WebRole.
localStoreUm\Pasta1\Pasta2\MeuArquivo.txt
http://<conta>.blob.core.windows.net/<container>/<nomeDoBlob>
Conta
Container
Blob
Pages/
Blocks
img01.jpg
imagens
Block/Page
img02.jpg
conta
Block/Page
videos
vid1.avi
Screenshot ou mini-demo de criação de conta
var stringDeConexao =
“DefaultEndpointsProtocol=https;AccountName=contaDoBlob;AccountKey=chaveDo
Blob”;
var uriDoContainer = “ArquivosTexto”;
var nomeDoArquivo = “/Pasta1/Pasta2/MeuArquivo.txt”;
var contaDeStorage = CloudStorageAccount.Parse(stringDeConexao);
var clienteDoBlob = contaDeStorage.CreateCloudBlobClient();
var container = new CloudBlobContainer(uriDoContainer.ToLower(),
clienteDoBlob);
container.CreateIfNotExist();
var blob = container.GetBlobReference(nomeDoArquivo.ToLower());
blob.UploadText(“Conteúdo do arquivo”);
http://guid01.vo.msecnd.net/imagens/pic.1jpg
Localidade 3
Localidade 2
TTL
Localidade 1
Content Delivery Network
http://conta.blob.core.windows.net/

http://guid01.vo.msecnd.net/
img1.jpg
http://conta.blob.core.windows.net/imagens/img1.jpg
Windows Azure Blob Service
Screenshot ou mini-demo
var localStoreCache = RoleEnvironment.GetLocalResource(“LocalStoreCache”);
CloudDrive.InitializeCache(localStoreCache.RootPath,
localStoreCache.MaximumSizeInMegabytes);
var stringDeConexao =
“DefaultEndpointsProtocol=https;AccountName=contaDoBlob;AccountKey=chaveDo
Blob”;
var contaDeStorage = CloudStorageAccount.Parse(stringDeConexao);
var clienteDoBlob = contaDeStorage.CreateCloudBlobClient();
var container = new CloudBlobContainer(“meusvhds”, clienteDoBlob);
container.CreateIfNotExist();
var blobDoVHD = container.GetBlobReference(“drive01.vhd”);
var drive01 = new CloudDrive(blobDoVHD.Uri, contaDeStorage.Credentials);
drive01.Create(1000); //em MB
var caminhoMapeado = drive01.Mount(localStoreCache.MaximumSizeInMegabytes,
DriveMountOptions.Force);
var nomeArquivo = “MeuArquivo.txt";
var caminhoArquivo = Path.Combine(caminhoMapeado, nomeArquivo);
using (var fileStream = File.Create(caminhoArquivo))
{
using (var streamWriter = new StreamWriter(fileStream))
{
streamWriter.WriteLine(“Nova linha!”);
}
}
drive01.Unmount();
Conta
Tabela
Entidade
Name =…
Email = …
clientes
Name =…
EMailAdd= …
conta
Photo ID =…
Date =…
fotos
Photo ID =…
Date =…
var stringDeConexao =
“DefaultEndpointsProtocol=https;AccountName=contaDoBlob;AccountKey=chaveDo
Blob”;
var contaDeStorage = CloudStorageAccount.Parse(stringDeConexao);
Conta
conta
Fila
processament
odepedidos
Mensagem
ID cliente
ID pedido
http://…
ID cliente
ID pedido
http://…
var stringDeConexao =
“DefaultEndpointsProtocol=https;AccountName=contaDoBlob;AccountKey=chaveDo
Blob”;
var contaDeStorage = CloudStorageAccount.Parse(stringDeConexao);
Memória
Rede
Disco
var stringDeConexao =
“DefaultEndpointsProtocol=https;AccountName=contaDoBlob;AccountKey=chaveDo
Blob”;
var contaDeStorage = CloudStorageAccount.Parse(stringDeConexao);
Resumão
SQL Azure
Praticamente o SQL Server 2008 R2 que você
está acostumado a trabalhar
Local Store
O “C:\Temp” que cada instância de computação
possui
Blob Storage
Sistema de arquivos distribuido acessado via
REST ou SDK
CDN
Sistema de replicação de blobs em servidores
mais próximos do usuário final
Azure Drive
VHD montado como um drive de rede e persistido
num Page Blob
Table Storage
Sistema de tabelas distribuido acessado via REST
ou SDK
Queue Storage
Sistema de fila distribuido acessado via REST ou
SDK
AppFabric Caching
Sistema de cache distribuido acessado via SDK
http://www.microsoft.com/windowsazure/pt/br/
http://msdn.microsoft.com/pt-br/hh292576
http://www.microsoft.com/download/en/details.aspx?id=8396
http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-583
http://vic.ms
Get the free mobile app for your phone
http:/ / gettag.mobi
http://technet.microsoft.com/pt-br
Get the free mobile app for your phone
http:/ / gettag.mobi
http://msdn.microsoft.com/pt-br
Não esqueça de
preencher sua avaliação
online
www.teched.com.br/avaliacao
Get the free mobile app for your phone
http:/ / gettag.mobi
Download

Como utilizar o Windows Azure Storage nas suas aplicações