首页 > 编程问答 >如何使用 Python 创建新的 Azure 订阅?

如何使用 Python 创建新的 Azure 订阅?

时间:2024-07-25 04:40:07浏览次数:8  
标签:python azure-sdk-python azure-subscription

我正在尝试使用 Python SDK 以编程方式创建新的 Azure 订阅。我发现的对 Azure Python SDK 的唯一引用是 这个

这是我最终得到的结果:

import azure.mgmt.billing
import azure.mgmt.subscription

creds = AzureCliCredential()
client_name = 'test'


def create_subscription(creds, client_name):
    subscription_client = azure.mgmt.subscription.SubscriptionClient(creds)
    creation_parameters = azure.mgmt.subscription.models.SubscriptionCreationParameters(
        offer_type = 'MS-AZR-0003P')
    creation_result = subscription_client.subscription_factory.create_subscription_in_enrollment_account(
        client_name,
        creation_parameters)
    
    return creation_result

output = create_subscription(creds, client_sub)

print(output)

错误: AttributeError: module 'azure.mgmt.subscription.models' has no attribute 'SubscriptionCreationParameters'

但是查看 文档 显示该类 azure.mgmt.subscription.models 有一个 SubscriptionCreationParameters 模块。

我在这里缺少什么?


遇到的错误是由于 azure-mgmt-subscription 包的版本不兼容导致的。 SubscriptionCreationParameters 类在旧版本中不可用。

尽管链接的文档显示 SubscriptionCreationParameters 类存在,但它可能引用的是尚未安装的更新版本。

解决方法:

需要安装 azure-mgmt-subscription 的最新版本才能访问 SubscriptionCreationParameters 类。 但是, 请注意,即使使用最新版本,也可能无法直接通过 Python SDK 创建新的 Azure 订阅。 创建订阅通常需要更高的权限,并且通常通过 Azure 门户、Azure CLI 或 REST API 的特定 API 进行管理。

验证和更新包版本:

  1. 检查已安装的版本: bash pip show azure-mgmt-subscription

  2. 升级到最新版本: bash pip install --upgrade azure-mgmt-subscription

替代方法:使用 Azure REST API

如果需要以编程方式创建 Azure 订阅,更可靠的方法是直接使用 Azure REST API。可以使用 Python 的 requests 库发送 HTTP 请求来实现。

以下是一个使用 REST API 创建 Azure 订阅的示例:

import requests
from azure.identity import ClientSecretCredential

# 替换为的 Azure 租户 ID、客户端 ID 和客户端密钥
tenant_id = "YOUR_TENANT_ID"
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"

# 创建身份验证凭据
credentials = ClientSecretCredential(tenant_id, client_id, client_secret)

# 创建请求标头和正文
headers = {"Authorization": f"Bearer {credentials.get_token().token}"}
data = {
    "properties": {
        "displayName": "My New Subscription",
        "offerType": "MS-AZR-0003P"  # 替换为需要的产品/服务
    }
}

# 发送 REST API 请求
response = requests.post(
    f"https://management.azure.com/providers/Microsoft.Subscription/createSubscription?api-version=2021-10-01",
    headers=headers,
    json=data,
)

# 处理响应
print(response.json())

请注意,需要具有足够的 Azure 权限才能执行此操作。 确保使用具有创建订阅权限的帐户或服务主体。

请记住查阅 Azure REST API 文档以获取有关创建订阅的最新信息和要求:https://docs.microsoft.com/zh-cn/rest/api/azure/

标签:python,azure-sdk-python,azure-subscription
From: 70138455

相关文章

  • 用于打印脚本输出的 Python 实用程序
    我可以发誓有一个实用程序可以打印一个python脚本,其输出交织在一起。例如,给定一个脚本:a=2b=3print(a+b)print(a*b)该实用程序将输出a=2b=3print(a+b)#>5print(a*b)#>6有人知道该实用程序的名称吗?我最难找到它。谢谢你!描述的实用程序没有标......
  • a method to make some handy tools with python
    Inmyworkingofcomputer,therearealotofsimplejobsthatarefrequentlyrepeated.Itriedtofindawaytomakethesejobbeenprocessedeasily.Method1:Themethodiswritingascripttodothejob,andexecutingthescriptbyutoolsextensionuto......
  • Python网络爬虫详解:实战豆瓣电影信息采集
    文章目录前言一、爬虫是什么?二、常用库及其作用1.Requests2.BeautifulSoup3.lxml4.Scrapy5.Selenium6.PyQuery7.Pandas8.JSON9.Time三、实现步骤步骤一:环境准备步骤二:数据采集步骤三:数据处理步骤四:数据存储总结前言随着互联网的迅猛发展和数据分析需求的不......
  • python学习之内置函数
    Python拥有许多内置函数,这些函数是Python的一部分,不需要额外导入即可直接使用。这些函数提供了对Python解释器功能的直接访问,涵盖了从数学计算到类型检查、从内存管理到异常处理等各个方面。下面是一些常用的Python内置函数及其简要说明:一、Printprint函数大家都不会......
  • Python中以函数为作用域
    点击查看代码#第一题foriteminrange(10):#不报错,没有函数,所有操作在全局作用域里面执行,item最后赋值为:9,此时item在缩进与全局都可以使用passprint(item)#第二题item=10deffunc():foriteminrange(10):#优先在本地查找,找不到在到全局查找p......
  • 掌握IPython宏:%%macro命令的高效使用指南
    掌握IPython宏:%%macro命令的高效使用指南在编程中,宏是一种允许你定义可重用代码片段的强大工具。IPython,这个增强版的Python交互式环境,提供了一个名为%%macro的魔术命令,允许用户创建宏,从而提高代码的可重用性和效率。本文将详细介绍如何在IPython中使用%%macro命令创建宏,并......
  • 7月24号python:库存管理
    7月24号python:库存管理题目:​ 仓库管理员以数组stock形式记录商品库存表。stock[i]表示商品id,可能存在重复。原库存表按商品id升序排列。现因突发情况需要进行商品紧急调拨,管理员将这批商品id提前依次整理至库存表最后。请你找到并返回库存表中编号的最小的元素以便及......
  • IPython的Bash之舞:%%bash命令全解析
    IPython的Bash之舞:%%bash命令全解析IPython的%%bash魔术命令为JupyterNotebook用户提供了一种在单元格中直接执行Bash脚本的能力。这个特性特别适用于需要在Notebook中运行系统命令或Bash特定功能的场景。本文将详细介绍如何在IPython中使用%%bash命令,并提供实际的代码示......
  • Python数据分析与可视化大作业项目说明(含免费代码)
    题目:对全球和中国互联网用户的数据分析与可视化代码下载链接:https://download.csdn.net/download/s44359487yad/89574688一、项目概述1.1.项目背景:互联网是当今时代最重要和最有影响力的技术之一,它已经深刻地改变了人们的生活、工作、学习等方面。互联网用户数据是反映......
  • IPython的跨界魔术:%%javascript命令深度解析
    IPython的跨界魔术:%%javascript命令深度解析IPython,作为Python编程的强大交互式工具,提供了多种魔术命令来扩展其功能。其中,%%javascript魔术命令允许用户在IPythonNotebook中直接执行JavaScript代码,打通了Python和JavaScript两个世界,为数据可视化、Web内容操作等提供了便......