c# - 如何获取 Azure 订阅的 OfferDurableId?
问题描述
在尝试调用 Azure 中的 RateCard API 时,需要一些典型的 Azure 管理员不会轻易掌握的参数。这些包括:
- OfferDurableId
- 货币
- 语言环境
- 区域信息
如果我们只有订阅 ID,我们如何以编程方式获取上述信息,以便获取订阅的价目表?
虽然 GitHub 上的 Microsoft 示例 ( https://github.com/Azure-Samples/billing-dotnet-ratecard-api ) 使用 app.config 演示了这一点,但现实情况是,要求管理员进行挖掘存在很多摩擦。必须有一种方法来获取这些信息,而不必一直询问管理员。
调用费率卡 API 的典型 URL 类似于:
string url = $"https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/RateCard?api-version=2015-06-01-preview&$filter=OfferDurableId=\'{offerId}\' and Currency eq {currency} and Locale eq=\'{locale}\' and RegionInfo eq \'{regionInfo}\'";
任何想法我可以调用哪些 API 来从订阅 ID 获取此信息?
解决方案
我认为除了参数(您可以在Microsoft Azure Offer DetailsOfferDurableId
中查看可用值)之外,其余参数应具有固定值,具体取决于与您的组织相关的位置。
例如,如果您的组织位于美国,那么您可能会使用:
货币:美元
语言环境:en-US
地区信息:美国
更新
不幸的是,API 参考页面明确指出要查阅优惠详情页面以获取所需的 ID:
将 {OfferDurableId} 设置为有效的商品 ID 代码(例如 MS-AZR-0026P)。有关可用优惠 ID、国家/地区可用性和计费货币列表的更多信息,请参阅Microsoft Azure 优惠详情。报价 ID 参数由“MS-AZR-”前缀和报价 ID 号组成。
关于它是否允许您使用订阅未使用的 Currency/Locale/RegionInfo 值进行查询,我认为它应该是可能的(至少在某种程度上),因为您只是查询一般元数据。
希望能帮助到你!
推荐阅读
- excel - mail.envelope 抛出错误的 VBA 代码
- sql - sql脚本中的正则表达式语法
- r - R 中的 API 身份验证
- javascript - Photoshop Javascript 使用未保存的打开文档制作 pdf 演示文稿
- ios - springboard.icons["appName"] 无法识别 XCUITest 中已安装的应用程序
- php - 如果添加日期和当前日期之间的持续时间不大于或等于 2 小时,则获取数据
- excel - 如何在 for 循环中使用上面列的求和公式时遍历一行?
- python - 如何在sails.js 应用程序中使用python-shell 访问python 脚本?
- vb.net - 如何使用 taglib 将图片添加到 ID3 相册标签#
- mongodb - 参考猫鼬