写点什么

Windows Azure 已经使用 Python 包装

2008 年 11 月 16 日

微软项目经理 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:52646
用户头像

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

关注

评论

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

(28DW-S8-Day14) 数据孤岛

mtfelix

28天写作 数据孤岛

5个身份和访问管理的最佳实践

龙归科技

数字身份 身份认证 身份安全 统一身份认证

[TcaplusDB知识库]TcapRecord引擎计算层的介绍

TcaplusDB

数据库 TcaplusDB Tcaplus

插入排序

大忽悠

3月日更

LARAVEL SMTP 服务泄露,laravel env暴露

kaer

laravel 信息安全 漏洞 ENV SMTP

互联网信贷风险与大数据 风险管理&信贷准入

张老蔫

28天写作

LeetCode题解:309. 最佳买卖股票时机含冷冻期,动态规划,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

在一个操蛋(执行力极差)的团队工作是一种怎样的体验?

冰河

团队管理 程序人生 执行力 问题总结 团队成长

进程调度算法

Arvin

算法

说完列表说字典,说完字典说集合,滚雪球学 Python

梦想橡皮擦

28天写作 3月日更

四、查询

Kylin

读书笔记 数据库开发 分布式数据库mongodb 读书总结 3月日更

麻木得那么快应不应该——韦伯-费希纳定律

Justin

心理学 28天写作 游戏设计

【LeetCode】下一个更大元素 II Java题解

HQ数字卡

算法 LeetCode 28天写作

2021最新一线大厂面试真题已经为大家整理完毕!涵盖蚂蚁金服,百度,唯品会等诸多大厂

程序员小毕

Java spring 程序员 面试 分布式

架构大作业1

J

《经济学人》2021年3月6日刊精彩文章导读及资源下载

wbliu85

Spark性能调优-RDD算子调优篇(深度好文,面试常问,建议收藏)

五分钟学大数据

大数据 spark 28天写作 3月日更

区块链电子合同应用平台-助力企业数字化转型

13530558032

需要对未知保持敬畏「Day 14」

道伟

如何写 Go 代码

Rayjun

Go

程序员之禅(四)

每天读本书

读书笔记 每天读本书

区块链药品溯源解决方案-区块链技术监管医药溯源

13530558032

该死的端口占用!教你用 Shell 脚本一键干掉它!

星安果

Shell 脚本 shell脚本编写 端口 端口占用

聊聊交易中台系统设计与思考

架构精进之路

中台 七日更

该不该签竞业协议?

石云升

程序员 话题讨论 28天写作 职场经验 3月日更

2021年阿里巴巴Java百亿级并发系统设计笔记(全彩版)

Java架构追梦

Java 阿里巴巴 面试 架构师 百亿级并发

方法论分享之:刻意练习,微小改进

boshi

方法论 经验分享 七日更

Git 常用记录

Leo

git 前端 前端进阶训练营

写作对我来说是什么?

lenka

产品经理 写作 3月日更

OSPF路由协议基本知识点大全

架构大作业2

J

亚马逊云科技 Webinar 电商专场

亚马逊云科技 Webinar 电商专场

Windows Azure已经使用Python包装-InfoQ