Python possui um Wrapper para o Windows Azure
Sriram Krishnan, um Program Manager na Microsoft, escreveu um wrapper Phyton para o Windows Azure Data Storage. Python é uma das linguagens suportadas pelo Windows Azure.
De acordo com web site do Microsoft Azure, Python é uma das ferramentas e linguagens a serem suportadas pelo Windows Azure:
Windows Azure é uma plataforma aberta que suportará linguagens e ambientes Microsoft e não-Microsoft. Windows Azure é aberto a ferramentas e linguagens de terceiros, como Eclipse, Ruby, PHP e Python. ...
Milhões de desenvolvedores ao redor do mundo já usam o .NET Framework e o ambiente de desenvolvimento Visual Studio. Utilize estas mesmas habilidades para desenvolver aplicações cloud-enabled que podem ser escritas, testadas e instaladas direto do Visual Studio. Num futuro próximo, os desenvolvedores serão capazes de realizar deploy de aplicações Ruby on Rails e Python também.
Sriram escreveu um data storage wrapper em Python para o Windows Azure e publicou o código no GitHub. Armazenar/Retornar dados é feito como no seguinte exemplo:
conn = WAStorageConnection(DEVSTORE_HOST, DEVSTORE_ACCOUNT, DEVSTORE_SECRET_KEY)
for (container_name,etag, last_modified ) in conn.list_containers():
print container_name
print etag
print last_modified
conn.create_container("testcontainer", False)
conn.put_blob("testcontainer","test","Hello World!" )
print conn.get_blob("testcontainer", "test")
Signing-in é feito como no seguinte exemplo:
def _get_auth_header(self, http_method, path, data, headers):
# As documented at http://msdn.microsoft.com/en-us/library/dd179428.aspx
string_to_sign =""#First element is the method
string_to_sign += http_method + NEW_LINE#Second is the optional content MD5
string_to_sign += NEW_LINE#content type - this should have been initialized atleast to a blank value
if headers.has_key("content-type"):
string_to_sign += headers["content-type"]
string_to_sign += NEW_LINE# date - we don't need to add header here since the special date storage header
# always exists in our implementation
string_to_sign += NEW_LINE# Construct canonicalized storage headers.
# TODO: Note that this doesn't implement parts of the spec -
# combining header fields with same name,
# unfolding long lines and trimming white spaces around the colon
ms_headers =[header_key for header_key in headers.keys()
if header_key.startswith(PREFIX_STORAGE_HEADER)]
ms_headers.sort()
for header_key in ms_headers:
string_to_sign += "%s:%s%s" % (header_key, headers[header_key], NEW_LINE)# Add canonicalized resource
string_to_sign += "/" + self.account_name + path
utf8_string_to_sign = unicode(string_to_sign).encode("utf-8")
hmac_digest = hmac.new(self.secret_key,
utf8_string_to_sign,
hashlib.sha256).digest()
return base64.encodestring(hmac_digest).strip()
Parece que os planos da Microsoft para o Windows Azure supera a oferta do Google. Atualmente, o Google App Engine suporta apenas Phyton, mas há planos para suportar mais linguagens no futuro, de acordo com o Google.
Conteúdo educacional
Lean na Globo.com
Bernardo Heynemann 24 Mai, 2013
Mobilidade: Frameworks, SOs e o Mercado
Ricardo Ogliari 23 Mai, 2013
Caminhos de uma estratégia mobile
Sérgio Lopes 23 Mai, 2013
Complexidade organizacional no Século 21
Alexandre Magno 16 Mai, 2013

Olá visitante
Você precisa cadastrar-se no InfoQ Brasil ou Login para enviar comentários. Há muitas vantagens em se cadastrar.Obtenha o máximo da experiência do InfoQ Brasil.
Dê sua opinião