QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

Windows Azure 已经使用 Python 包装

  • 2008-11-16
  • 本文字数:1518 字

    阅读完需:约 5 分钟

微软项目经理 Sriram Krishnan 已经为 Windows Azure 数据存储编写了一个 Python 包装。Python 是 Windows Azure 支持的语言之一。

根据微软的 Azure 网站,Python 是 Windows Azure 所支持的工具和语言之一:

Windows Azure 是一个开放的平台,将同时支持微软和非微软的语言和环境。Windows Azure 欢迎第三方的工具和语言,例如 Eclipse,Ruby,PHP 和Python…… 世界各地有数百万的开发人员使用.NET Framework 和 Visual Studio 开发环境。开发者可以用相同的技能使用 Visual Studio 创建云化的应用程序,直接使用 Visual Studio 编写,测试和部署。在不久的将来开发人员能够部署用 RubyOn Rails 和Python编写的应用程序。

Sriram 已经用 Python 编写了一个 Windows Azure 的数据存储包装并放在 GitHub 的代码库上。下面的例子演示了存储和查询数据:

复制代码
conn = WAStorageConnection(DEVSTORE_HOST, DEVSTORE_ACCOUNT, DEVSTORE_SECRET_KEY) <br></br>    for (container_name,etag, last_modified ) in  conn.list_containers(): <br></br>        print container_name <br></br>        print etag <br></br>        print last_modified <br></br>    conn.create_container("testcontainer", False) <br></br>    conn.put_blob("testcontainer","test","Hello World!" ) <br></br>    print conn.get_blob("testcontainer", "test")

下面的例子演示登录:

复制代码
def _get_auth_header(self, http_method, path, data, headers): <br></br>   # As documented at http://msdn.microsoft.com/en-us/library/dd179428.aspx <br></br>   string_to_sign =""
<p>#First element is the method <br></br>   string_to_sign += http_method + NEW_LINE</p>
<p>   #Second is the optional content MD5 <br></br>   string_to_sign += NEW_LINE</p>
<p>   #content type - this should have been initialized atleast to a blank value <br></br>   if headers.has_key("content-type"): <br></br>    string_to_sign += headers["content-type"] <br></br>   string_to_sign += NEW_LINE</p>
<p>   # date - we don't need to add header here since the special date storage header <br></br>   # always exists in our implementation <br></br>   string_to_sign += NEW_LINE</p>
<p>   # Construct canonicalized storage headers. <br></br>   # TODO: Note that this doesn't implement parts of the spec - <br></br>   # combining header fields with same name, <br></br>   # unfolding long lines and trimming white spaces around the colon <br></br>   ms_headers =[header_key for header_key in headers.keys() <br></br>   if header_key.startswith(PREFIX_STORAGE_HEADER)] <br></br>   ms_headers.sort() <br></br>   for header_key in ms_headers: <br></br>    string_to_sign += "%s:%s%s" % (header_key, headers[header_key], NEW_LINE)</p>
   # Add canonicalized resource <br></br>   string_to_sign += "/" + self.account_name + path <br></br>   utf8_string_to_sign = unicode(string_to_sign).encode("utf-8") <br></br>   hmac_digest = hmac.new(self.secret_key, <br></br>    utf8_string_to_sign, <br></br>    hashlib.sha256).digest() <br></br>   return base64.encodestring(hmac_digest).strip()

微软的 Windows Azure 计划看起来像是要超越 Google 所提供的。Google 的 App Engine 目前只支持 Python,但是 Google 在将来有支持多语言的计划

查看英文原文: Python Has Wrapped Itself Around Windows Azure

2008-11-16 19:521163
用户头像

发布了 45 篇内容, 共 78953 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

Weex开发:页面跳转以及Android端多应用选择窗口的处理

AR7

android Vue 大前端 跨平台 Weex

ARTS_20200529

凌轩

Java ARTS 打卡计划

探索 Go 语言数据类型的内部实现

TuringTuring

内存模型 高效 Go 语言

GrowingIO 大数据多维分析自动化测试实践

GrowingIO技术专栏

大数据 自动化测试 parewise

kudmp介绍和安装

唯爱

2020智源-京东多模态对话挑战赛开战 产学研联合推动AI技术发展

DT极客

工厂模式(三)泛型工厂的概念以及示例代码

LSJ

Nginx 基础原理和命令行的真相

子杨

nginx 运维

阿里巴巴为什么让初始化集合时必须指定大小?

王磊

Java 性能

Server Queue 提高 QPS

风含叶

Python kafka 后端 队列

卧槽,接到一个阎王的需求

码农神说

程序员

「首度揭秘」大规模HPC生产环境 IO 特征

焱融科技

sds io 高性能 存储 焱融科技

从位图到布隆过滤器

wangkx

位图 布隆过滤器

我们可能都误解了什么是情商

董一凡

情绪

游戏夜读 | 改写图形API的意义

game1night

“Plus Token”传销主犯被公诉!警惕,区块链不是“取款链”!

CECBC

1024讲话 CECBC 区块链技术 人才发展 培训

Mysql常用删除方式比较

云也退

MySQL

神经网络中为什么不能将权重初始值设置为一样的值

wangkx

神经网络 学习

备案问题汇总

云也退

网站 备案

一个在游戏行业摸爬滚打了十几年的人,为何我对这本书情有独钟

图灵社区

游戏开发 游戏制作 世嘉培训教材

Android 通过opencv实现人脸识别,追踪

sar

android OpenCV 人脸识别

10分钟了解Flink

代码诗人

架构师训练营0期开营

刁架构

架构师

为什么你要学习 Go?

司徒公子

编程语言 谷歌Google Go 语言

奈学干货分享:分布式CAP实践分析

奈学教育

分布式

基于 Markdown 的中文文档排版规范

Murphy

markdown 排版规范 GitHub GFM 物联网学前班

Cassandra可调一致性的使用及原理

老任物联网杂谈

大数据 分布式 Cassandra 可调一致性

Nginx 入门及命令行操作

子杨

nginx 运维

用户故事为什么要关联开发数据?

易成研发中心

敏捷开发 开发数据

你有信息焦虑症吗?

Neco.W

学习 创业 知识体系

幂等问题及解决方案

Joker

幂等 解决方案

Windows Azure已经使用Python包装_.NET_Abel Avram_InfoQ精选文章