Python应用访问国内Azure站点

本文档详细介绍了如何使用Python连接并操作国内的Windows Azure平台,包括存储服务和管理服务的调用。针对国内与国外Azure URL的差异,提供了解决方案,并给出了具体的代码示例。同时,建议通过查阅开源的Python API库来获取更多API的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Windows Azure为6种语言提供了native的访问接口:.NET/Java/Python/Ruby/Nodejs. 其中存储的API更是有十几种语言。在使用各种语言开发基于WindowsAzure的应用时,我们都会遇到一个问题,就是国内和国外的Azure URL不一样,会造成无法顺利调用。Windows Azure中国门户里面有一个文档,解释了这些差异:http://windowsazure.cn/zh-cn/develop/other/developerdifferences/


不过,对于Python来说,这个文档并没有给出详细的说明。下面我就给出几个例子,看看如何利用Python连接国内的Windows Azure平台。


1. 调用Azure存储服务

在Windows Azure的文档中心中(http://www.windowsazure.com/en-us/develop/python/tutorials/web-app-with-blob-storage/?fb=zh-cn),我们可以看到常规的调用方法如下:

from azure.storage import TableService

table_service = TableService(account_name='myaccount', account_key='mykey')

blob_service = BlobService(account_name='myaccount', account_key='mykey')

queue_service = QueueService(account_name='myaccount', account_key='mykey')

显然,如果直接运行,这个API会连接国外的Azure存储账户。我们可以修改一下,让它连接国内的Azure

from azure.storage import TableService

table_service = TableService(account_name='myaccount', account_key='mykey',host_base='.table.core.chinacloudapi.cn')

blob_service = BlobService(account_name='myaccount', account_key='mykey',host_base='.blob.core.chinacloudapi.cn')

queue_service = QueueService(account_name='myaccount', account_key='mykey', host_base='.queue.core.chinacloudapi.cn')
我们增加了一个参数,即国内存储服务的URL。这样就可以顺利连接国内站点

2. 调用Azure管理服务

同样的,如果希望调用Azure管理服务,比如创建虚拟机,我们可以将缺省的代码:

from azure import *
from azure.servicemanagement import *

sms = ServiceManagementService(subscription_id, certificate_path)
修改为

from azure import *
from azure.servicemanagement import *

sms = ServiceManagementService(subscription_id, certificate_path, 'management.core.chinacloudapi.cn')


对于其他的API怎么办呢?目前Windows Azure Python库的API文档并不是很完善,但是这个API库是开源的,我们可以直接查看其代码,很方便的

这个地址是Python API的文档:https://github.com/WindowsAzure/azure-sdk-for-python

如果我们要看具体的API,可以直接浏览代码目录:https://github.com/WindowsAzure/azure-sdk-for-python/tree/master/azure

比如我们可以在service bus里面,找到其初始化函数,然后我们就知道它可以接受一个host_base参数作为Azure端点

https://github.com/WindowsAzure/azure-sdk-for-python/blob/master/azure/servicebus/servicebusservice.py



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值