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:521095
用户头像

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

关注

评论

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

【9月Android面经分享】惜挂阿里三面,Android最新实习面试经验总结

android 程序员 移动开发

【Android 功能库】1,醍醐灌顶

android 程序员 移动开发

【Android高级架构师系统学习文章】Android基础-Activity全方位解析

android 程序员 移动开发

直播回顾 | MatrixDB 定义下一代时序架构(内附PPT下载)

YMatrix 超融合数据库

车联网 物联网 时序数据库 MatrixDB 超融合时序数据库

【Android Jetpack高手日志】ViewModel 从入门到精通,kotlin中文文档

android 程序员 移动开发

【Flutter 专题】113 图解自定义 ACEPieWidget 饼状图 (二)

android 程序员 移动开发

35w奖金池,腾讯云TDSQL精英挑战赛等你来战!

腾讯云数据库

数据库 腾讯云 tdsql

【Java转Android】60,androidx86输入法

android 程序员 移动开发

技术创新+开放共赢 华为云GaussDB加速企业数字化转型

华为云数据库小助手

GaussDB GaussDB(for openGauss) 华为云数据库

【Android】金三银四面试集合,android面试题大全

android 程序员 移动开发

【Android面试技巧】当面试官问你glide的时候,android嵌入式开发实战pdf

android 程序员 移动开发

【Java转Android】29,2021最新网易Android面试题目

android 程序员 移动开发

【中级—(1),Android资深架构师分享学习经验及总结

android 程序员 移动开发

『Android 技能篇』优雅的转场动画之 Transition,kotlin安卓开发教程视频

android 程序员 移动开发

GaussDB的技术发展以及在金融核心数据库国产化的最佳实践丨DAMS峰会

华为云数据库小助手

GaussDB 大会 华为云数据库

技术面试感觉什么都会,面试官一问回答不上来怎么办?

Java高级开发

面试 性能优化 编程语言 Java 分布式

【从入门到实用】android启动优化深入解析,安卓系列学习进阶视频

android 程序员 移动开发

Vue3.x 关于组件的那些变化(新手必看篇)

码仔

vue.js 大前端 组件化 组件

【Android面试】热修复,赶紧收藏备战金三银四

android 程序员 移动开发

MSE | 阿里巴巴云原生网关三位一体的选择与实践

阿里巴巴中间件

阿里云 微服务 云原生 中间件 网关

薪水被应届生倒挂,四年Java老鸟,28岁的我裸辞了,在闭关三个后拿到阿里Offer

收到请回复

程序员 java面试 Java后端

【Flutter 专题】114 图解自定义 ACEProgressPainter 对比进度图

android 程序员 移动开发

喜报!百度获国家技术发明奖

百度大脑

人工智能 百度

【中级—,android项目驱动式开发教程

android 程序员 移动开发

【原理+实战(1),fluttertextfield高度

android 程序员 移动开发

【原理+实战,android音视频开发何俊林

android 程序员 移动开发

【 Flutter 手势探索】我的第二本小册来了,看完我工资从12K变成了20K

android 程序员 移动开发

【Flutter 专题】126 图解自定义两侧对齐 ACETabBar 标签导航栏

android 程序员 移动开发

百度智能云天工获评2021世界物联网新技术新产品新应用成果金奖

百度大脑

人工智能 百度

【Jetpack篇】LiveData取代EventBus,2021年Android知识体系总结

android 程序员 移动开发

【孔乙已】生产者消费者有四样写法,android插件化和组件化

android 程序员 移动开发

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