Desenvolvimento de aplicações para a Cloud. Blob

Documentos relacionados
Desenvolvimento de aplicações para a Cloud. Queue

Desenvolvimento de aplicações para a Cloud. Introdução

UNIDADE III JAVA SERVER PAGES

Base de dados I. Uma base de dados é um simples repositório de informação relacionado com um determinado assunto ou finalidade

Serviços Web: Arquitetura

Desenvolvimento de aplicações para a Cloud. Windows Azure

PROGRAMA. Aquisição dos conceitos teóricos mais importantes sobre bases de dados contextualizados à luz de exemplos da sua aplicação no mundo real.

Universidade Fernando Pessoa

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

DSS 08/09. Camada de Dados - JDBC. Aula 1. António Nestor Ribeiro /António Ramires Fernandes/ José Creissac Campos {anr,arf,jfc}@di.uminho.

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes

Introdução. Servlet. Ciclo Vida. Servlet. Exemplos. Prof. Enzo Seraphim

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas

SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum

30/11/2011. DataSnap e Cloud. Deep Dive. Agenda. RAD Cloud Overview DBExpress Novo API Cloud Novidades no DataSnap

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Relatório referente a compreensão da programação JSP. Realizado do dia de 22 abril de 2010 a 03 de maio de 2010.

Vetores. Professor Dr Francisco Isidro Massettto

TUTORIAL JAVA AS - HTTP CLIENT COMPOSITION ENVIROMENT 7.1

Exercícios de Revisão Java Básico

Sessões. Cookies HTTP Sessões Atributos de sessão

ÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos TUDO É UM OBJECTO TUDO É UM OBJECTO ÍNDICE.

Encapsulamento de Dados

Prof. Manuel Portelinha. Sumário

INSTALAÇÃO E USO DO GOOGLE APP ENGINE PLUGIN utilizando o Eclipse Galileo

AULA 16 - Sistema de Arquivos

Diagrama de contexto

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON)

Engenharia da Programação Problemas (2002/2003)

Aula de JavaScript 05/03/10

DotNetNuke. Gestão de Conteúdos. Módulos - II. Inserção de conteúdos nos módulos. Módulo de Text/HTML. Módulo de Sre-Notícias. Módulo de Sre-Formação

J550 Integração com Bancos de Dados

Microsoft S+S Day Data: 09 de dezembro de 2008

Noções Várias em Visual Basic

Sistemas Distribuídos na Web. Pedro Ferreira DI - FCUL

Descrição da aplicação

Ferramentas Web, Web 2.0 e Software Livre em EVT

REST. Representational State Transfer. É um estilo arquitetural usado por muitas aplicações Web para estender as suas funcionalidades.

Sistemas de Ficheiros. 1. Ficheiros 2. Directórios 3. Implementação de sistemas de ficheiros 4. Exemplos de sistemas de ficheiros

Bacharelado em Ciência e Tecnologia BC Processamento da Informação Teoria Arquivos Prof. Edson Pinheiro Pimentel edson.pimentel@ufabc.edu.

Tipo de Dados em Linguagem C

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível.

O que é o DigaaiDATAVERSE?

Programação Na Web. Servlets: Como usar as Servlets. Agenda. Template genérico para criar Servlets Servlet 2.4 API

SISTEMAS DISTRIBUÍDOS

MANUAL DE NORMAS PARA DESENVOLVIMENTO DE CÓDIGO DA FÁBRICA VIRTUAL DE SOFTWARE DA FIPP. Curso Superior de Tecnologia em Sistemas para Internet 2/2012

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha

Conversão de Tipos e Arrays

Manual de introdução de Bomgar B300v

Multithreading. Programação Orientada por Objectos com Java. Ademar Aguiar. MRSC - Programação em Comunicações

PHP (PHP Hypertext Preprocessor)

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

ÍNDICE. Delphi... 3 CAPÍTULO 1 INTRODUÇÃO CAPÍTULO 2 INSTALANDO O DELPHI... 10

2ºCiclo (5º e 6º Anos de escolaridade) 3ºCiclo (7º e 8º Anos de escolaridade)

Tarefa Orientada 4 Criação das restantes tabelas

Tecnologias de Informação e Comunicação Unidade 4 Processador de Texto

Material de Apoio 5. int getres() { return res; O que estas classes possuem em comum? 1) 2) 3)

MANTENHA-SE INFORMADO

Pilhas. Fabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes

Informática Documental 2. Documental 2

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente

Análise de Programação

Estrutura Interna do KernelUNIX Sistema O. Estrutura Interna de Arquivos (1) Estrutura Seqüência. User application. Standard Unix libraries

MOODLE: actividade WiKi

Desenvolvimento de aplicações Web. Java Server Pages

10 Guia do Usuário Finalidade do Guia Criando sua Conta no Azure

Os produtos FORMAT constituem-se como banco de recursos, à disposição dos formadores de Mecanização Agrícola.

UML: Diagrama de Casos de Uso, Diagrama de Classes

Partilha online 3.1. Edição 1

Guia rápido de criação e gestão de um espaço no SAPO Campus

CÓDIGO DO REGISTO COMERCIAL

Gerador de código JSP baseado em projeto de banco de dados MySQL

extensible Markup Language (XML) XML é uma linguagem de anotação. XML utiliza tags para descrever informação.

Tarefa Orientada 2 Criar uma base de dados

Fernando Albuquerque - fernando@cic.unb.br ADMINISTRAÇÃO TCP/IP. Fernando Albuquerque fernando@cic.unb.br

6127. Redes comunicação de dados. 2014/2015. Acesso à Internet.

Sistemas de Ficheiros. Sistemas de Bases de Dados

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:

BC0505 Processamento da Informação

Introdução ao PHP. Prof. Késsia Marchi

O COMPUTADOR. Introdução à Computação

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010

Java & Bancos de Dados Adaptado de Slides da Universidade Salgado de Oliveira Goiânia

implementação Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa Fernando Ramos, Nuno Neves, Sistemas Operativos,

1 - SISTEMA DE FICHEIROS NO WINDOWS

Introdução a classes e objetos by Pearson Education do Brasil

Documentação da API Likestore

Caso não exista nenhum listener registado no objecto que gera o evento, este não terá qualquer efeito.

Tipos de Dado Abstrato: Listas, Filas e Pilhas

MATRIZ DE EXAME DE EQUIVALÊNCIA À FREQUÊNCIA

Desenvolvimento OO com Java Orientação a objetos básica

LTP-IV. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

Como criar uma conta gratuita e subir uma foto no Windows Azure

DOMINE O EXCEL Fascículo 1

Gateway de Pagamentos Manual do comerciante

Sistemas de Arquivos. Arquivos e Diretórios Características e Implementação Tadeu Ferreira Oliveira - tadeu.ferreira@ifrn.edu.br

Prof. Jhonatan Fernando

INTRODUÇÃO À LINGUAGEM C++

Transcrição:

Desenvolvimento de aplicações para a Cloud Blob

O serviço Blob } O serviço Blob é desenhado para armazenar um conjunto largo de objectos binários, como documentos, imagens, vídeos e músicas. Esquema URL http://[storageaccount].blob.core. windows.net/[containername]/[blobname] Tamanho Máximo 200GB(block blob)/1tb (page blob) Referência API http://msdn.microsoft.com/ en-us/library/dd135733.aspx 2 Cátia Vaz 2012

Blob Account 3 Cátia Vaz 2011/2012

Arquitectura do Serviço Storage 4 Cátia Vaz 2011/2012

Limitações e restrições do Blob } As limitações de armazenamento do serviço Blob são as seguintes: } O tamanho máximo de cada block blob é 200GB e cada página } blob é 1TB. Para blobs com tamanho menor ou igual 64MB, o upload necessita apenas de uma operação PUT. O upload de blobs maiores terá de ser realizado como um conjunto de blocos, em que cada bloco não pode ser maior do que 4MB. } O serviço Blob de desenvolvimento suporta apenas blobs com um tamanho máximo de 2GB. 5 Cátia Vaz 2011/2012

Arquitectura Blob 6 Cátia Vaz 2011/2012

Contentores Blob } É um agrupamento lógico de um conjunto de Blobs } Podem ser públicos ou privados } Restrições nos nomes dos Blobs: } O nome tem de ser único no contexto da conta } Tem de iniciar com uma letra ou número e apenas letras minúsculas, com dimensão entre 3 e 63. } Não pode conter caracteres especiais excepto (-), o qual tem de ser seguido por um caracter ou número. 7 Cátia Vaz 2011/2012

Tipos de Blobs } Existem 2 tipos de blobs: } page } block Account Container Blob Block pictures IMG01.jpg IMG02.jpg myaccount V1Block1.wmv videos Video1.wmv V1Block2.wmv 8 Cátia Vaz 2011/2012

API REST } A API REST do serviço Blob suporta os serguintes verbos HTTP: } GET, } PUT, } DELETE. } Um request ao serviço inclui: } } verbo HTTP } URI pretendido } Parâmetros de URI } Request headers API REST 9 Cátia Vaz 2011/2012

Exemplo Request: GET http://proazurestorage.blob.core.windows.net/?comp=list Response: <?xml version="1.0" encoding="utf-8"?> <EnumerationResults AccountName="http://proazurestorage.blob.core.windows.net/"> <MaxResults>3</MaxResults> <Containers> <Container> <Name>000000004c00f241-staging</Name> <Url>http://proazurestorage.blob.core.windows.net/000000004c00f241-staging</Url> <LastModified>Sun, 26 Apr 2009 15:05:44 GMT</LastModified> <Etag>0x8CB94979BAAA0F0</Etag> </Container> <Container> <Name>05022009-staging</Name> <Url>http://proazurestorage.blob.core.windows.net/05022009-staging</Url> <LastModified>Sun, 03 May 2009 04:50:07 GMT</LastModified> <Etag>0x8CB99C1C3ECE538</Etag> </Container> <Container> <Name>050320090743-staging</Name> <Url>http://proazurestorage.blob.core.windows.net/050320090743-staging</Url> <LastModified>Sun, 03 May 2009 14:44:28 GMT</LastModified> <Etag>0x8CB9A14CC091F60</Etag> </Container> </Containers> <NextMarker>/proazurestorage/050320091143-staging</NextMarker> </EnumerationResults> 10 Cátia Vaz 2011/2012

Storage Client API } Microsoft.WindowsAzure.StorageClient abstrai a interface REST ao fornecer um client no topo da API REST Classes Descrição CloudStorageAccount Uma classe utilitária que retorna a informação de um account através de um ficheiro de configuração ou cria uma instância de um storage account a partir dos parâmetros da account. CloudBlobClient CloudBlobContainer CloudBlob Uma classe wrapper para obter as referências dos objectos blob principais. Exemplo de métodos: GetContainerReference() e GetBlobReference(). A classe consiste de operações de contentor, tais como: Create(), Delete(), ListBlobs(), e GetBlobReference(). A class consiste de operações tais como: Create(), Copy(), UploadFromFile(), UploadByteArray(), UploadStream() 11 Cátia Vaz 2011/2012

Operações Comuns de um contentor } ListContainers } Create } CreateIfNotExist } Delete } SetMetadata Ver mais: CloudBlobContainer

Listar contentores

Criar um contentor

Criar um contentor static void CreateContainerAsync(Uri blobendpoint, string accountname, string accountkey) { CloudBlobClient blobclient = new CloudBlobClient(blobEndpoint, new StorageCredentialsAccountAndKey(accountName, accountkey)); CloudBlobContainer container = blobclient.getcontainerreference("newcontainer"); container.begincreate(createcontainercallback, container); } static void CreateContainerCallback(IAsyncResult result) { CloudBlobContainer container = (CloudBlobContainer)result.AsyncState; try { container.endcreate(result); Console.WriteLine("Container " + container.name + " created successfully."); } catch (StorageClientException e) { if (e.errorcode == StorageErrorCode.ContainerAlreadyExists) { Console.WriteLine("Cannot create the container because it already exists."); } else { Console.WriteLine(e.ErrorCode); } } } 15 Cátia Vaz 2011/2012

Eliminar um contentor

Uploading de um BLOB

Estabelecer as permissões de um container

Shared Access Signatures } Permite definir um nível de segurança mais granular para cada utilizador registado numa determinada aplicação } São uma série de parâmetros do URL especificados no URI do recurso para controlar privilégios de acesso aos recursos } As políticas de acesso consistem em: } StartTime } EndTime } Permissions } As políticas de acesso pode ser: } Incluidas nas queries como parâmetros } Aplicadas ao nível do contentor.

Exemplo