SlideShare una empresa de Scribd logo
1 de 32
http://vic.ms
vitorcia@microsoft.com
<?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="localStorageUm" sizeInMB="10" />
      <LocalStorage name="localStorageDois" sizeInMB="10"
cleanOnRoleRecycle="false" />
    </LocalResources>
  </WebRole>
</ServiceDefinition>
var localStorageUm = RoleEnvironment.GetLocalResource("localStorageUm");
  var nomeArquivo = "MeuArquivo.txt";
  var caminhoArquivo = Path.Combine(localStorageUm.RootPath, nomeArquivo);

  using (var fileStream = File.Open(caminhoArquivo, FileMode.OpenOrCreate,
  FileAccess.ReadWrite))
  {
      fileStream.Position = fileStream.Length;
      using (var streamWriter = new StreamWriter(fileStream))
      {
        streamWriter.WriteLine("Nova linha! {0}", DateTime.Now);
      }
  }




var   localStorageUm = RoleEnvironment.GetLocalResource("localStorageUm");
var   pastas = @"Pasta1Pasta2";
var   nomeArquivo = "MeuArquivo.txt";
var   caminhoArquivo = Path.Combine(localStorageUm.RootPath, pastas, nomeArquivo);


 Ex.: C:Resourcesdirectoryf335471d5a5845aaa4e66d0359e69066.MyService_WebRole.
 localStorageUmPasta1Pasta2MeuArquivo.txt
http://azXXXX.vo.msecnd.net/meucontainer/minhaimagem.png




        minhaimagem.png
                       Localidade 2                     Localidade 3
                 TTL
                                 Content Delivery Network
  Localidade 1                 http://minhaconta.blob.core.windows.net/
                                         
                               http://azXXXX.vo.msecnd.net/




                                               minhaimagem.png
                 http://minhaconta.blob.core.windows.net/meucontainer/minhaimagem.png
                                  Windows Azure Blob Service
Conta    Tabela     Entidade

                     Name =…
                     Email = …
         clientes
                     Name =…
                    EMailAdd= …
 conta
                    Photo ID =…
                      Date =…
          fotos
                    Photo ID =…
                      Date =…
<ConfigurationSettings>

     <Setting
       name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"
       value="UseDevelopmentStorage=true" />

     <Setting name="Conta1"
       value="DefaultEndpointsProtocol=https;AccountName=techedvc;AccountK
       ey=iqFj1tz09TWhIqfBls++q/cSUNTsklL0Yeh525LQQb8Cy4IvvIpdsfg+/DMcm+/a
       3NHOkA1hS0InGy2A7iug==" />

</ConfigurationSettings>
public class ProdutoEntity : TableServiceEntity
{
    public ProdutoEntity(string partitionKey, string rowKey)
        : base(partitionKey, rowKey)
    {
    }

    public ProdutoEntity()
        : base("particao1", Guid.NewGuid().ToString())
    {
    }

    public string Nome { get; set; }

    public int Quantidade { get; set; }
}
internal class ProdutoContext : TableServiceContext
{
    public ProdutoContext(string baseAddress, StorageCredentials
credentials)
        : base(baseAddress, credentials)
    {
    }

    internal const string NomeTabelaProdutos = "TabelaProdutos";

    public IQueryable<ProdutoEntity> Produtos
    {
        get
        {
            return this.CreateQuery<ProdutoEntity>(NomeTabelaProdutos);
        }
    }
}
var storageAccount = CloudStorageAccount.FromConfigurationSetting("conta1");
var produtoContext = new
ProdutoContext(storageAccount.TableEndpoint.ToString(),
storageAccount.Credentials);

storageAccount.CreateCloudTableClient().CreateTableIfNotExist(ProdutoContext.
NomeTabelaProdutos);

var novoProduto1 = new ProdutoEntity() { Nome = "Produto 1", Quantidade = 10
};
produtoContext.AddObject(ProdutoContext.NomeTabelaProdutos, novoProduto1);

produtoContext.SaveChangesWithRetries();

var query = from produto in produtoContext.Produtos
            where produto.PartitionKey.Equals("particao1") &&
            produto.Quantidade > 5
            select produto;
var tableQuery = query.AsTableServiceQuery<ProdutoEntity>();
var produtos = tableQuery.Execute().ToList();
var query = from produto in produtoContext.Produtos
            where produto.PartitionKey.Equals("particao1") &&
            produto.Quantidade > 5
            select produto;

var tableQuery = query.AsTableServiceQuery<ProdutoEntity>();
var produtos = tableQuery.Execute().ToList();

var produtoParaExcluir = produtos[0];
produtoContext.DeleteObject(produtoParaExcluir);

var produtoParaAlterar = produtos[1];
produtoParaAlterar.Quantidade++;
produtoContext.UpdateObject(produtoParaAlterar);

produtoContext.SaveChanges();
Conta       Fila        Mensagem



                         ID cliente
                         ID pedido
                          http://…
        processamento
conta     depedidos
                         ID cliente
                         ID pedido
                          http://…
var storageAccount =
CloudStorageAccount.FromConfigurationSetting("conta1");
var clienteDaQueue = storageAccount.CreateCloudQueueClient();
var queue = clienteDaQueue.GetQueueReference("minhafila");

queue.CreateIfNotExist();

var novaMensagem1 = new CloudQueueMessage("Mensagem 1");
queue.AddMessage(novaMensagem1);

var mensagens = queue.GetMessages(10, TimeSpan.FromMinutes(5)).ToList();

foreach (var mensagem in mensagens)
{
    //processa a mensagem
    queue.DeleteMessage(mensagem);
}
Windows Azure 5/8 - Recursos adicionais do Windows Azure
Windows Azure 5/8 - Recursos adicionais do Windows Azure

Más contenido relacionado

La actualidad más candente

11 Java Script - Exemplos com eventos
11 Java Script - Exemplos com eventos11 Java Script - Exemplos com eventos
11 Java Script - Exemplos com eventosCentro Paula Souza
 
Como conectar programas em linguagem java a bases de dados
Como conectar programas em linguagem java  a bases de dadosComo conectar programas em linguagem java  a bases de dados
Como conectar programas em linguagem java a bases de dadosHenrique Fernandes
 
JQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEBJQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEBLuciano Borges
 
Programação web ii aulas 05 e 06
Programação web ii   aulas 05 e 06Programação web ii   aulas 05 e 06
Programação web ii aulas 05 e 06Yuri Bispo
 
Backbone.js - Desenvolvimento de Sistemas Corporativos - UFPB - Campus IV
Backbone.js - Desenvolvimento de Sistemas Corporativos - UFPB - Campus IVBackbone.js - Desenvolvimento de Sistemas Corporativos - UFPB - Campus IV
Backbone.js - Desenvolvimento de Sistemas Corporativos - UFPB - Campus IVJoão Helis Bernardo
 
Autenticação e Controle de Acesso
Autenticação e Controle de AcessoAutenticação e Controle de Acesso
Autenticação e Controle de AcessoDenis L Presciliano
 
Angular JS - Fundamentos
Angular JS - FundamentosAngular JS - Fundamentos
Angular JS - FundamentosEduardo Mendes
 
Combatendo code smells em aplicações Java
Combatendo code smells em aplicações JavaCombatendo code smells em aplicações Java
Combatendo code smells em aplicações JavaEmmanuel Neri
 
Play Framework - FLISOL
Play Framework - FLISOLPlay Framework - FLISOL
Play Framework - FLISOLgrupoweblovers
 
Desenvolvimento de um CRUD utilizando Stored Procedure
Desenvolvimento de um CRUD utilizando Stored ProcedureDesenvolvimento de um CRUD utilizando Stored Procedure
Desenvolvimento de um CRUD utilizando Stored ProcedureFernando Roberto Proença
 
JavaScript - Introdução com Orientação a Objetos
JavaScript - Introdução com Orientação a ObjetosJavaScript - Introdução com Orientação a Objetos
JavaScript - Introdução com Orientação a ObjetosEduardo Mendes
 

La actualidad más candente (20)

Sessões
SessõesSessões
Sessões
 
Vraptor
VraptorVraptor
Vraptor
 
11 Java Script - Exemplos com eventos
11 Java Script - Exemplos com eventos11 Java Script - Exemplos com eventos
11 Java Script - Exemplos com eventos
 
Jquery 2
Jquery 2Jquery 2
Jquery 2
 
Java script aula 07 - eventos
Java script   aula 07 - eventosJava script   aula 07 - eventos
Java script aula 07 - eventos
 
Como conectar programas em linguagem java a bases de dados
Como conectar programas em linguagem java  a bases de dadosComo conectar programas em linguagem java  a bases de dados
Como conectar programas em linguagem java a bases de dados
 
JQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEBJQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEB
 
Programação web ii aulas 05 e 06
Programação web ii   aulas 05 e 06Programação web ii   aulas 05 e 06
Programação web ii aulas 05 e 06
 
Backbone.js - Desenvolvimento de Sistemas Corporativos - UFPB - Campus IV
Backbone.js - Desenvolvimento de Sistemas Corporativos - UFPB - Campus IVBackbone.js - Desenvolvimento de Sistemas Corporativos - UFPB - Campus IV
Backbone.js - Desenvolvimento de Sistemas Corporativos - UFPB - Campus IV
 
Programação Web com jQuery
Programação Web com jQueryProgramação Web com jQuery
Programação Web com jQuery
 
Autenticação e Controle de Acesso
Autenticação e Controle de AcessoAutenticação e Controle de Acesso
Autenticação e Controle de Acesso
 
Angular JS - Fundamentos
Angular JS - FundamentosAngular JS - Fundamentos
Angular JS - Fundamentos
 
MondoDB
MondoDBMondoDB
MondoDB
 
AngularJS - Rotas
AngularJS - RotasAngularJS - Rotas
AngularJS - Rotas
 
Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
 
Combatendo code smells em aplicações Java
Combatendo code smells em aplicações JavaCombatendo code smells em aplicações Java
Combatendo code smells em aplicações Java
 
Play Framework - FLISOL
Play Framework - FLISOLPlay Framework - FLISOL
Play Framework - FLISOL
 
Desenvolvimento de um CRUD utilizando Stored Procedure
Desenvolvimento de um CRUD utilizando Stored ProcedureDesenvolvimento de um CRUD utilizando Stored Procedure
Desenvolvimento de um CRUD utilizando Stored Procedure
 
Ns tutorial so
Ns tutorial soNs tutorial so
Ns tutorial so
 
JavaScript - Introdução com Orientação a Objetos
JavaScript - Introdução com Orientação a ObjetosJavaScript - Introdução com Orientação a Objetos
JavaScript - Introdução com Orientação a Objetos
 

Destacado

The road to Smarter Computing by Gary Barnett
The road to Smarter Computing by Gary BarnettThe road to Smarter Computing by Gary Barnett
The road to Smarter Computing by Gary BarnettKarl Roche
 
Twitter Workshop
Twitter WorkshopTwitter Workshop
Twitter WorkshopKarl Roche
 
Advanced cloud services development (PaaS)
Advanced cloud services development (PaaS)Advanced cloud services development (PaaS)
Advanced cloud services development (PaaS)Vitor Ciaramella
 
Introduction to blogging and networks
Introduction to blogging and networksIntroduction to blogging and networks
Introduction to blogging and networksKarl Roche
 
Smarter computing : an introduction to a new era of IT
Smarter computing : an introduction to a new era of ITSmarter computing : an introduction to a new era of IT
Smarter computing : an introduction to a new era of ITKarl Roche
 

Destacado (6)

The road to Smarter Computing by Gary Barnett
The road to Smarter Computing by Gary BarnettThe road to Smarter Computing by Gary Barnett
The road to Smarter Computing by Gary Barnett
 
Twitter Workshop
Twitter WorkshopTwitter Workshop
Twitter Workshop
 
Advanced cloud services development (PaaS)
Advanced cloud services development (PaaS)Advanced cloud services development (PaaS)
Advanced cloud services development (PaaS)
 
Introduction to blogging and networks
Introduction to blogging and networksIntroduction to blogging and networks
Introduction to blogging and networks
 
Smarter computing : an introduction to a new era of IT
Smarter computing : an introduction to a new era of ITSmarter computing : an introduction to a new era of IT
Smarter computing : an introduction to a new era of IT
 
Skaul Outline
Skaul OutlineSkaul Outline
Skaul Outline
 

Similar a Windows Azure 5/8 - Recursos adicionais do Windows Azure

ASP .NET 4.0 WebForms, Novas funcionalidades
ASP .NET 4.0 WebForms, Novas funcionalidadesASP .NET 4.0 WebForms, Novas funcionalidades
ASP .NET 4.0 WebForms, Novas funcionalidadesC. Augusto Proiete
 
Javascript truquesmagicos
Javascript truquesmagicosJavascript truquesmagicos
Javascript truquesmagicosponto hacker
 
Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Luis Gustavo Almeida
 
LambdaDay: Backbone.js
LambdaDay: Backbone.jsLambdaDay: Backbone.js
LambdaDay: Backbone.jsGiovanni Bassi
 
DevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webappsDevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webappsSuissa
 
Meu projeto final - Neobase 2.0
Meu projeto final - Neobase 2.0Meu projeto final - Neobase 2.0
Meu projeto final - Neobase 2.0Saulo Vallory
 
365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 Overview365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 OverviewAlexsandro Almeida
 
Minicurso de PHP Com Ajax
Minicurso de PHP Com AjaxMinicurso de PHP Com Ajax
Minicurso de PHP Com AjaxAdler Medrado
 
Aula09 phonegap storage_connection
Aula09 phonegap storage_connectionAula09 phonegap storage_connection
Aula09 phonegap storage_connectionRoberson Alves
 
Spring + Tapestry Um novo paradigma de desenvolvimento web
Spring + Tapestry Um novo paradigma de desenvolvimento webSpring + Tapestry Um novo paradigma de desenvolvimento web
Spring + Tapestry Um novo paradigma de desenvolvimento webelliando dias
 
Evento Front End SP - Arquitetura de Front
Evento Front End SP - Arquitetura de FrontEvento Front End SP - Arquitetura de Front
Evento Front End SP - Arquitetura de FrontMichel Ribeiro
 
Pilares do desenvolvimento Mobile no Nubank
 Pilares do desenvolvimento Mobile no Nubank Pilares do desenvolvimento Mobile no Nubank
Pilares do desenvolvimento Mobile no NubankDevCamp Campinas
 
Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'C. Augusto Proiete
 
Persistência de Dados no SQLite com Room
Persistência de Dados no SQLite com RoomPersistência de Dados no SQLite com Room
Persistência de Dados no SQLite com RoomNelson Glauber Leal
 

Similar a Windows Azure 5/8 - Recursos adicionais do Windows Azure (20)

ASP .NET 4.0 WebForms, Novas funcionalidades
ASP .NET 4.0 WebForms, Novas funcionalidadesASP .NET 4.0 WebForms, Novas funcionalidades
ASP .NET 4.0 WebForms, Novas funcionalidades
 
Javascript truquesmagicos
Javascript truquesmagicosJavascript truquesmagicos
Javascript truquesmagicos
 
Mini curso de c#.net
Mini curso de c#.netMini curso de c#.net
Mini curso de c#.net
 
Java e Cloud Computing
Java e Cloud ComputingJava e Cloud Computing
Java e Cloud Computing
 
Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017
 
LambdaDay: Backbone.js
LambdaDay: Backbone.jsLambdaDay: Backbone.js
LambdaDay: Backbone.js
 
DevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webappsDevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webapps
 
Meu projeto final - Neobase 2.0
Meu projeto final - Neobase 2.0Meu projeto final - Neobase 2.0
Meu projeto final - Neobase 2.0
 
NoSQL azure
NoSQL azureNoSQL azure
NoSQL azure
 
365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 Overview365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 Overview
 
Minicurso de PHP Com Ajax
Minicurso de PHP Com AjaxMinicurso de PHP Com Ajax
Minicurso de PHP Com Ajax
 
Aula09 phonegap storage_connection
Aula09 phonegap storage_connectionAula09 phonegap storage_connection
Aula09 phonegap storage_connection
 
Tutorial.yii
Tutorial.yiiTutorial.yii
Tutorial.yii
 
Spring + Tapestry Um novo paradigma de desenvolvimento web
Spring + Tapestry Um novo paradigma de desenvolvimento webSpring + Tapestry Um novo paradigma de desenvolvimento web
Spring + Tapestry Um novo paradigma de desenvolvimento web
 
Evento Front End SP - Arquitetura de Front
Evento Front End SP - Arquitetura de FrontEvento Front End SP - Arquitetura de Front
Evento Front End SP - Arquitetura de Front
 
Pilares do desenvolvimento Mobile no Nubank
 Pilares do desenvolvimento Mobile no Nubank Pilares do desenvolvimento Mobile no Nubank
Pilares do desenvolvimento Mobile no Nubank
 
Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'
 
Componentes para a Web
Componentes para a WebComponentes para a Web
Componentes para a Web
 
Persistência de Dados no SQLite com Room
Persistência de Dados no SQLite com RoomPersistência de Dados no SQLite com Room
Persistência de Dados no SQLite com Room
 
Spring MVC - QConSP
Spring MVC - QConSPSpring MVC - QConSP
Spring MVC - QConSP
 

Más de Vitor Ciaramella

Business Process Management (BPM) CBOK - Microsoft - Vitor Ciaramella
Business Process Management (BPM) CBOK - Microsoft - Vitor CiaramellaBusiness Process Management (BPM) CBOK - Microsoft - Vitor Ciaramella
Business Process Management (BPM) CBOK - Microsoft - Vitor CiaramellaVitor Ciaramella
 
Oportunidades de negócio na Plataforma Microsoft
Oportunidades de negócio na Plataforma MicrosoftOportunidades de negócio na Plataforma Microsoft
Oportunidades de negócio na Plataforma MicrosoftVitor Ciaramella
 
Microsoft research e inovação
Microsoft research e inovaçãoMicrosoft research e inovação
Microsoft research e inovaçãoVitor Ciaramella
 
Windows Azure 8/8 - Como continuar aprendendo
Windows Azure 8/8 - Como continuar aprendendoWindows Azure 8/8 - Como continuar aprendendo
Windows Azure 8/8 - Como continuar aprendendoVitor Ciaramella
 
Windows Azure 7/8 - Benefícios da Parceria Microsoft
Windows Azure 7/8 - Benefícios da Parceria MicrosoftWindows Azure 7/8 - Benefícios da Parceria Microsoft
Windows Azure 7/8 - Benefícios da Parceria MicrosoftVitor Ciaramella
 
Windows Azure 2/8 - Recursos básicos do Windows Azure
Windows Azure 2/8 - Recursos básicos do Windows AzureWindows Azure 2/8 - Recursos básicos do Windows Azure
Windows Azure 2/8 - Recursos básicos do Windows AzureVitor Ciaramella
 
Windows Azure 1/8 - Visão geral do Windows Azure
Windows Azure 1/8 - Visão geral do Windows AzureWindows Azure 1/8 - Visão geral do Windows Azure
Windows Azure 1/8 - Visão geral do Windows AzureVitor Ciaramella
 
Windows Azure 0/8 - Treinamento de Windows Azure
Windows Azure 0/8 - Treinamento de Windows AzureWindows Azure 0/8 - Treinamento de Windows Azure
Windows Azure 0/8 - Treinamento de Windows AzureVitor Ciaramella
 

Más de Vitor Ciaramella (8)

Business Process Management (BPM) CBOK - Microsoft - Vitor Ciaramella
Business Process Management (BPM) CBOK - Microsoft - Vitor CiaramellaBusiness Process Management (BPM) CBOK - Microsoft - Vitor Ciaramella
Business Process Management (BPM) CBOK - Microsoft - Vitor Ciaramella
 
Oportunidades de negócio na Plataforma Microsoft
Oportunidades de negócio na Plataforma MicrosoftOportunidades de negócio na Plataforma Microsoft
Oportunidades de negócio na Plataforma Microsoft
 
Microsoft research e inovação
Microsoft research e inovaçãoMicrosoft research e inovação
Microsoft research e inovação
 
Windows Azure 8/8 - Como continuar aprendendo
Windows Azure 8/8 - Como continuar aprendendoWindows Azure 8/8 - Como continuar aprendendo
Windows Azure 8/8 - Como continuar aprendendo
 
Windows Azure 7/8 - Benefícios da Parceria Microsoft
Windows Azure 7/8 - Benefícios da Parceria MicrosoftWindows Azure 7/8 - Benefícios da Parceria Microsoft
Windows Azure 7/8 - Benefícios da Parceria Microsoft
 
Windows Azure 2/8 - Recursos básicos do Windows Azure
Windows Azure 2/8 - Recursos básicos do Windows AzureWindows Azure 2/8 - Recursos básicos do Windows Azure
Windows Azure 2/8 - Recursos básicos do Windows Azure
 
Windows Azure 1/8 - Visão geral do Windows Azure
Windows Azure 1/8 - Visão geral do Windows AzureWindows Azure 1/8 - Visão geral do Windows Azure
Windows Azure 1/8 - Visão geral do Windows Azure
 
Windows Azure 0/8 - Treinamento de Windows Azure
Windows Azure 0/8 - Treinamento de Windows AzureWindows Azure 0/8 - Treinamento de Windows Azure
Windows Azure 0/8 - Treinamento de Windows Azure
 

Windows Azure 5/8 - Recursos adicionais do Windows Azure

  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. <?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="localStorageUm" sizeInMB="10" /> <LocalStorage name="localStorageDois" sizeInMB="10" cleanOnRoleRecycle="false" /> </LocalResources> </WebRole> </ServiceDefinition>
  • 9. var localStorageUm = RoleEnvironment.GetLocalResource("localStorageUm"); var nomeArquivo = "MeuArquivo.txt"; var caminhoArquivo = Path.Combine(localStorageUm.RootPath, nomeArquivo); using (var fileStream = File.Open(caminhoArquivo, FileMode.OpenOrCreate, FileAccess.ReadWrite)) { fileStream.Position = fileStream.Length; using (var streamWriter = new StreamWriter(fileStream)) { streamWriter.WriteLine("Nova linha! {0}", DateTime.Now); } } var localStorageUm = RoleEnvironment.GetLocalResource("localStorageUm"); var pastas = @"Pasta1Pasta2"; var nomeArquivo = "MeuArquivo.txt"; var caminhoArquivo = Path.Combine(localStorageUm.RootPath, pastas, nomeArquivo); Ex.: C:Resourcesdirectoryf335471d5a5845aaa4e66d0359e69066.MyService_WebRole. localStorageUmPasta1Pasta2MeuArquivo.txt
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. http://azXXXX.vo.msecnd.net/meucontainer/minhaimagem.png minhaimagem.png Localidade 2 Localidade 3 TTL Content Delivery Network Localidade 1 http://minhaconta.blob.core.windows.net/  http://azXXXX.vo.msecnd.net/ minhaimagem.png http://minhaconta.blob.core.windows.net/meucontainer/minhaimagem.png Windows Azure Blob Service
  • 15.
  • 16.
  • 17.
  • 18.
  • 19. Conta Tabela Entidade Name =… Email = … clientes Name =… EMailAdd= … conta Photo ID =… Date =… fotos Photo ID =… Date =…
  • 20. <ConfigurationSettings> <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" /> <Setting name="Conta1" value="DefaultEndpointsProtocol=https;AccountName=techedvc;AccountK ey=iqFj1tz09TWhIqfBls++q/cSUNTsklL0Yeh525LQQb8Cy4IvvIpdsfg+/DMcm+/a 3NHOkA1hS0InGy2A7iug==" /> </ConfigurationSettings>
  • 21. public class ProdutoEntity : TableServiceEntity { public ProdutoEntity(string partitionKey, string rowKey) : base(partitionKey, rowKey) { } public ProdutoEntity() : base("particao1", Guid.NewGuid().ToString()) { } public string Nome { get; set; } public int Quantidade { get; set; } }
  • 22. internal class ProdutoContext : TableServiceContext { public ProdutoContext(string baseAddress, StorageCredentials credentials) : base(baseAddress, credentials) { } internal const string NomeTabelaProdutos = "TabelaProdutos"; public IQueryable<ProdutoEntity> Produtos { get { return this.CreateQuery<ProdutoEntity>(NomeTabelaProdutos); } } }
  • 23. var storageAccount = CloudStorageAccount.FromConfigurationSetting("conta1"); var produtoContext = new ProdutoContext(storageAccount.TableEndpoint.ToString(), storageAccount.Credentials); storageAccount.CreateCloudTableClient().CreateTableIfNotExist(ProdutoContext. NomeTabelaProdutos); var novoProduto1 = new ProdutoEntity() { Nome = "Produto 1", Quantidade = 10 }; produtoContext.AddObject(ProdutoContext.NomeTabelaProdutos, novoProduto1); produtoContext.SaveChangesWithRetries(); var query = from produto in produtoContext.Produtos where produto.PartitionKey.Equals("particao1") && produto.Quantidade > 5 select produto; var tableQuery = query.AsTableServiceQuery<ProdutoEntity>(); var produtos = tableQuery.Execute().ToList();
  • 24. var query = from produto in produtoContext.Produtos where produto.PartitionKey.Equals("particao1") && produto.Quantidade > 5 select produto; var tableQuery = query.AsTableServiceQuery<ProdutoEntity>(); var produtos = tableQuery.Execute().ToList(); var produtoParaExcluir = produtos[0]; produtoContext.DeleteObject(produtoParaExcluir); var produtoParaAlterar = produtos[1]; produtoParaAlterar.Quantidade++; produtoContext.UpdateObject(produtoParaAlterar); produtoContext.SaveChanges();
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. Conta Fila Mensagem ID cliente ID pedido http://… processamento conta depedidos ID cliente ID pedido http://…
  • 30. var storageAccount = CloudStorageAccount.FromConfigurationSetting("conta1"); var clienteDaQueue = storageAccount.CreateCloudQueueClient(); var queue = clienteDaQueue.GetQueueReference("minhafila"); queue.CreateIfNotExist(); var novaMensagem1 = new CloudQueueMessage("Mensagem 1"); queue.AddMessage(novaMensagem1); var mensagens = queue.GetMessages(10, TimeSpan.FromMinutes(5)).ToList(); foreach (var mensagem in mensagens) { //processa a mensagem queue.DeleteMessage(mensagem); }