写点什么

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

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

关注

评论

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

产品经理第二周作业

朱琴

Spring Boot 搭建实际项目开发中的架构

武哥聊编程

Java 架构 springboot SpringBoot 2 28天写作

聊聊架构模式的变迁:从分层架构到微服务架构

华为云开发者联盟

架构 软件 微服务 分布式架构 软件设计

面试官:你说说ReentrantLock和Synchronized区别

叫练

AQS 多线程 ReentrantLock lock 独占锁

Mybatis系列全解(三):Mybatis简单CRUD使用介绍

潘大壮

Java 后端 mybatis mybatis源码

Mybatis系列全解(四):全网最全!Mybatis配置文件XML全貌详解

潘大壮

Java 后端 mybatis mybatis源码

开发质量提升系列:问题登记列表(上)

罗小龙

生产事故 28天写作 解决思路

实习流水帐(一)

YUKI0506

MapReduce练习案例1-统计求和

小马哥

大数据 mapreduce 七日更

产品经理训练营 - 第二周作业

泡面加煎蛋

融资融券系统搭建

v16629866266

《分布式云边缘容器服务能力要求》《分布式云运维服务能力要求》标准研讨会成功召开

云计算 分布式

SpringBoot 2.0 中 HikariCP 数据库连接池原理解析

vivo互联网技术

数据库 ThreadLocal springboot Spring Boot 2 HikariCP

一点点感慨--移民二代

张老蔫

28天写作

产品训练营 - 对二次作业

Wangyunnfei

CNCF CTO解读:2021云原生最新趋势

华为云原生团队

开源 Kubernetes 开发者 云原生 边缘技术

Mybatis系列全解(一):手写一套持久层框架

潘大壮

Java 后端 mybatis mybatis源码

【Skeleton】布局

德育处主任

CSS 大前端 html/css 28天写作 纯CSS

Mybatis【15】-- Mybatis一对一多表关联查询

秦怀杂货店

mybatis

Mybatis系列全解(二):Mybatis简介与环境搭建

潘大壮

Java 后端 mybatis mybatis源码

拆解 抽奖助手 的利益相关者

小匚

产品经理 产品经理训练营 无码科技

从JAVA内存到垃圾回收,带你深入理解JVM

华为云开发者联盟

Java JVM 内存 虚拟机 垃圾回收

从关键技术到实践成果,华为云下一代视频编解码技术优化应用的探索

华为云开发者联盟

AI 5G RTC 视频编码 vr

Spring 是如何解决循环依赖的?

程序员小航

Java spring 源码 循环依赖

如何方便记忆和理解类图里的线条

华为云开发者联盟

Java 函数 二叉箭头 类对象

anyRTC在音频领域的探索

anyRTC开发者

ios android 音视频 WebRTC 在线教育

产品经理训练营 - 第二章作业

Ryun

一看就懂的网络传输介质介绍

Java 程序经验小结:反射机制勿滥用

后台技术汇

28天写作

面试必问:如何实现Redis分布式锁

华为云开发者联盟

redis 分布式锁 redisson

作业

让我思考一会儿

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