问题标签 [azure-management-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - 使用管理 API 在 Azure 托管缓存中创建和更新命名缓存
我正在尝试使用 PowerShell 和 Azure 管理 API 创建Azure 托管缓存,这两种方法是必需的,因为官方 Azure PowerShell Cmdlet对 Azure 托管缓存的创建和更新的支持非常有限。然而,从 PowerShell 调用 Azure 管理 API有一个既定模式。
Azure Managed Cache API 上的有限文档阻碍了我查找要调用的正确 API 的尝试。然而,在使用源代码和-Debug
PowerShell 中的选项完成 cmdlet 之后,我已经能够找到似乎正确的 API 端点,因此我开发了一些代码来访问这些端点。
但是,在 Azure API 接受 PUT 请求后,我就卡住了,因为对管理 API /操作端点的后续调用显示此操作的结果是Internal Server Error
.
我一直在使用Joseph Alabarhari 的LinqPad 来探索 API,因为它允许我使用尽可能少的代码快速迭代解决方案,因此要执行以下代码片段,您将需要LinqPad和 My Extensions 脚本中的以下扩展:
包括包含在内的完整源代码如下所示:
- 我的扩展- 您可以通过右键单击左下方窗格中的我的扩展并选择“在 Windows 资源管理器中打开脚本位置”来替换“我的扩展”,然后用这个替换突出显示的文件。或者,您可能希望将我的扩展合并到您自己的中。
- Azure 托管缓存脚本- 您应该能够下载并双击它,一旦打开并且上述扩展和证书到位,您将能够执行该脚本。
在整个脚本中使用了以下设置,任何使用自己的 Azure 订阅 ID 和管理证书的人都需要以下变量:
首先,我在HttpClient上做了一些设置:
这会将 HttpClient 配置为同时使用客户端证书和x-ms-version
标头,第一次调用 API 会获取包含 Azure 托管缓存的现有 CloudService。请注意,这使用的是空的 Azure 订阅。
该请求返回成功StatusCode: 200, ReasonPhrase: 'OK'
,然后我从请求中解析出一些关键信息:CloudService Name、Cache Name 和 Cache ETag:
我预先创建了一个 XML 文件,其中包含以下 PUT 请求的有效负载:
我用上面的 Payload 和一个由 CloudService 和缓存名称组成的 URL构造了一个HttpRequestMessage :
Azure 服务管理 API 在返回响应时名义上接受此请求StatusCode: 202, ReasonPhrase: 'Accepted'
;这实质上意味着负载已被接受并将离线处理,操作 ID 可以从 HTTP 标头中解析出来以获取更多信息:
这requestId
可用于请求更新操作状态:
对 /operations 端点的请求会产生以下负载:
这就是我被卡住的地方,我很可能会以某种方式巧妙地破坏请求,以至于底层请求会引发 500 Internal Server Error,但是如果没有更详细的错误消息或 API 文档,我认为没有我可以去任何地方。
c# - 如何使用访问令牌管理每个 Microsoft Azure 用户资源?
我想创建一个 MVC 应用程序,用户可以在其中获得 Azure 订阅授权,之后我的应用程序可以管理托管在 Microsoft Azure 中的资源(VM-s、网站等)
我在本教程的帮助下创建了一个应用程序。
我可以创建云存储、虚拟机等,所以看起来效果很好。
之后,我尝试使用不同的 Azure 帐户登录。我可以获得订阅,但我无法管理该用户的资源,我总是遇到异常:
似乎使用这种技术我只能管理我的资源。
我的问题是如何对其他所有用户执行以下操作?我可以用这种方法做到这一点还是我必须用另一种方法做到这一点?
azure - 将管理证书与 azure REST API 一起使用
我在我的应用程序中使用 azure 服务管理 REST API。我在 azure 上上传了管理证书,并在本地有一份副本。我将认证保存在应用程序本身的单独文件夹 (AzureCertificate) 中,并引用该位置。例如:
string certificatePath = Server.MapPath("~/AzureCertificate/") + certificateName;
X509Certificate2 证书 = 新 X509Certificate2(certificatePath);
AzureCertificate -- 文件夹名称 certificateName - MyCertificateName.cer
当我在本地开发环境中运行应用程序时,它工作正常。但是当我在 azure 网站中部署相同的内容时,我得到了以下错误。
远程服务器返回错误:(403) Forbidden
这就是我提出请求的方式
字符串 uri = apiURL + subscriptionId + "/services/hostedservices";
HttpWebRequest 请求 = (HttpWebRequest)HttpWebRequest.Create(uri);
X509Certificate2 证书 = 新 X509Certificate2(certificatePath);
req.ClientCertificates.Add(证书);
req.Headers.Add("x-ms-version", "2009-10-01"); HttpWebResponse res =
(HttpWebResponse)req.GetResponse();
但它在最后一行 (req.GetResponse()) 抛出上述异常。
我们可以这样使用管理证书吗?
我的要求是开发一个使用 azure REST API 并在 azure 中部署的应用程序。
azure - Create Azure ServiceBus Namaspace
Is it possible to programmatically create a ServiceBus namspace, create identities, assign Send/Listen permissions, etc?
I found the following SO question from two years ago but I suspect things have changed in the mean time and the answer might be different.
azure - 如何在 Azure 角色中以编程方式获取订阅 ID?
我有这个使用 REST 管理 API(通过https://github.com/Azure/azure-sdk-for-net)的 Worker Role,其最基本的先决条件是订阅 ID。
有没有办法从运行(工作者)角色获取订阅 ID?例如,通过 RoleEnvironment?
azure - 如何以编程方式查找到目前为止我已使用了多少 Azure 存储空间?
每个 Azure 存储帐户的卷限制为 200 TB(200 TB)。这听起来确实很大,但是如果您将文件存储在每个 25 兆字节的 blob 存储中,您可以存储大约 400 万个文件,这很好,但并非不可能耗尽。
我想编写一些代码来定期检查我使用了多少空间并发出警报。
如何以编程方式查找存储帐户中已使用的空间量?
rest - 如何禁用对 Azure RESTful 服务的后端访问?
我计划使用 Azure REST API 管理。
除其他事项外,还可以在调用 RESTful 服务时标准化安全性。但是,我似乎无法弄清楚如何阻止对实际 REST API 的访问(将实际服务锁定在 REST API 管理后面)。
这方面的最佳做法是什么?
azure - 如何以编程方式重新启动 Azure VM 角色 (PaaS VM)
我有一个需要使用 Azure 管理库重新启动的 PaaS VM 角色。我尝试了以下代码,但由于“BadRequest:MyPaaSVmName 类型的角色不支持该操作”而失败。但是我使用下面的方法 1 成功地重新启动了 IaaS VM。是否可以使用 Azure 管理库重新启动 PaaS VM 角色?如果没有,有没有其他方法可以使用 c# 来实现它。
1.
2.
谢谢你。
azure - 在 Azure Web 角色实例上运行脚本
有没有办法在 Azure Web 角色实例上执行一些脚本?我对 Azure 和 Azure 管理 API 很陌生。
基本上我想要实现的是,根据环境类型,我想在所有 Azure Web 角色实例中打开/关闭几个服务。因此,例如,如果我有一个包含 5 个实例的 Web 角色,那么脚本应该在所有 5 个实例中执行。
- 确定登台/生产环境
- 获取登台和生产环境的所有 Web 角色
- 对于每个角色,获取所有实例
- 在所有实例中运行脚本(远程)
在这里的任何帮助将不胜感激。
编辑:我还能够获取每个环境的暂存/生产环境详细信息和 Web 角色详细信息。我正在使用 Service Management Rest API 和 Get Cloud Service Properties 方法:
https://management.core.windows.net/ /services/hostedservices/?embed-detail=true
上面的 URL 返回一个角色实例列表及其 IP 地址。
但是当我尝试访问云服务(Web API)时,它会出现 404 错误。不确定我们是否可以使用 IP 访问托管在 IIS 上的 Web api 项目。
在此先感谢,贾什
azure - Azure 云服务的更新和创建和删除部署选项之间的区别
更新部署和删除然后为云服务创建新部署之间有什么区别?
我们有一个云服务设置,在部署期间,首先删除暂存中的现有部署,然后创建一个新部署。因此,用于分期的 VIP 总是在变化。我们有一个要求,我们希望确保 PROD 和 Staging VIP 始终保持不变。
在更改部署选项之前,我想知道真正的区别是什么以及需要这两个选项。
我试图搜索但没有找到任何东西。
编辑:在 Azure Pub XML 中,我们有一个名为“AzureDeploymentReplacementMethod”的节点,该字段的不同选项是“createanddelete”、“automaticupgrade”和“blastupgrade”
现在我们正在使用'createanddelete'并且我们有兴趣使用blastupgrade。
任何帮助将非常感激。
谢谢,贾维德