我正在尝试连接到我的azure订阅,我有一个代码,允许我获取令牌
var authContext = new AuthenticationContext(string.Format
("https://login.windows.net/{0}", tenantId));
var credential = new ClientCredential(applicationId, password);
AuthenticationResult token = authContext.AcquireTokenAsync
("https://management.core.windows.net/", credential).Result;
if (token == null)
{
Console.WriteLine("Failed to obtain the token");
return;
}
Run Code Online (Sandbox Code Playgroud)
从这一步我不知道如何使用ResourceManagementClient类来连接...
我使用Azure资源管理模板设置了Azure IOThub.我需要获取"共享访问策略" - "iothubowner"的主键值,并将其用于设置下游的另一个资源.
我可以使用Azure ARM模板json中的listkeys函数将所有共享访问策略及其各自的主键作为数组/对象获取,如下所示
"outputs": {
"IoT_hub_ownerkey1": {
"value": "[listkeys(resourceId('Microsoft.Devices/IotHubs',variables('vHubName')),'2016-02-03').value]",
"type": "array"
}
}
Run Code Online (Sandbox Code Playgroud)
结果
Name Type Value
=============== ========================= ==========
ioT_hub_ownerkey1 Array [
{
"keyName": "iothubowner",
"primaryKey": "mKAQTt9U5XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"secondaryKey": "DpFgimzXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"rights": "RegistryWrite, ServiceConnect, DeviceConnect"
},
{
"keyName": "service",
"primaryKey": "hrsK7laMIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"secondaryKey": "omm3RTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"rights": "ServiceConnect"
},
{
"keyName": "device",
"primaryKey": "sfE9QbhLDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"secondaryKey": "v5Oyw3XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"rights": "DeviceConnect"
},
Run Code Online (Sandbox Code Playgroud)
....]
我需要知道如何只过滤"iothubowner"政策的主键?
我试过这个,但得到了错误
"IoT_hub_ownerkey2": {
"value": "[listkeys(resourceId('Microsoft.Devices/IotHubs',variables('vHubName')),'2016-02-03').value.keyName['iothubowner'].primaryKey]",
"type": "string"
}
Run Code Online (Sandbox Code Playgroud)
错误
{
"code": "DeploymentOutputEvaluationFailed",
"target": "IoT_hub_ownerkey2",
"message": "The template output 'IoT_hub_ownerkey2' is …
Run Code Online (Sandbox Code Playgroud) azure azure-sdk-.net azure-resource-manager azure-iot-hub azure-resource-group
我想将网站 (Microsoft.Web/sites) 资源部署到现有托管计划 (Microsoft.Web/serverfarms),而无需在 ARM 模板中定义 sku、workersize 等。它应该按原样使用托管计划,而无需更改它。但是托管计划定义似乎需要 sku,而网站定义似乎需要托管计划定义。
目前我们读取了托管计划的sku,并将其设置为ARM模板中的参数,但有时它仍然会在azure中触发缩放操作并重新启动托管计划上的所有网站。
希望有人可以告诉我此ARM模板部署在做什么。
使用问题底部的模板,我可以部署带有应用程序服务计划和存储帐户的功能应用程序,但是出现以下错误。
STATUS BadRequest
PROVISIONING STATE Failed
TIMESTAMP 4/19/2017, 1:33:00 PM
DURATION 1 second
TYPE Microsoft.Web/sites/config
RESOURCE ID /subscriptions/blah-blah-blah/resourceGroups/blah/providers/Microsoft.Web/sites/functionname/config/appsettings
STATUSMESSAGE {
"Code": "BadRequest",
"Message": "There was a conflict. The remote server returned an error: (400) Bad Request.",
"Target": null,
"Details": [
{
"Message": "There was a conflict. The remote server returned an error: (400) Bad Request."
},
{
"Code": "BadRequest"
},
{
"ErrorEntity": {
"ExtendedCode": "01020",
"MessageTemplate": "There was a conflict. {0}",
"Parameters": [
"The remote server returned an error: …
Run Code Online (Sandbox Code Playgroud) 我最近使用ARM模板将多个资源部署到Azure中。部署存储帐户时,我遇到了一个问题,这是由于Azure提出了一些限制,例如
我需要用户提供此名称,并且可以使用“参数”上的“ maxLength”属性来处理第二个问题。但是对于小写字母,“参数”中没有此类属性,我也找不到任何将用户输入的值转换为小写字母的函数。
我的期望:
提前致谢。
我想完全自动化我的资源创建过程.不幸的是,全新订阅默认情况下没有注册一些资源提供程序.例如SQL.这很容易解决,如下所述:https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-common-deployment-errors#noregisteredproviderfound
但是,这仅概述了使用手动使用门户或使用Powershell的方法.
我正在寻找一个解决方案 Microsoft.Azure.Management.ResourceManager.Fluent
似乎不一致,我无法使用C#,但我似乎无法在任何地方找到功能.
如何使用Azure流畅资源管理为新订阅注册资源提供程序?
c# azure azure-management azure-management-api azure-resource-manager
我已经为服务总线成功完成了此操作,但仅针对高级RootManageSharedAccessKey了。
但是,对于事件中心,我希望使用SendOnly共享访问策略的主连接字符串。
我尝试了许多组合,但是在部署部署时找不到SendOnly共享访问策略。
这是我的SendOnly共享访问策略的json。
任何帮助将不胜感激。
azure azure-eventhub azure-resource-manager azure-keyvault azure-rm-template
我想使用ARM模板部署包含代码的功能应用程序,该模板将作为托管应用程序在Azure市场中发布。
我在文档中看到,您可以在ARM模板中添加sourcecontrols元素,该元素可用于指向例如GitHub存储库。但是,我不想使用存储库,我想将代码上传到Function App。
我也知道您可以使用Azure CLI或Powershell上载代码,但是在市场上发布应用程序时这是不可能的。
有没有办法提供一个包含所有内容的程序包,包括所有代码,并使用Azure市场中的ARM模板将其全部上传到Function App?
azure azure-marketplace azure-resource-manager azure-functions
我已经使用以下ARM模板代码段设置了应用服务:
{
"name": "[variables('webBackEnd')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('location')]",
"apiVersion": "2015-08-01",
"dependsOn": [
"[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]"
],
"tags": {
"[concat('hidden-related:', resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName')))]": "Resource",
"displayName": "BackendWebApp"
},
"properties": {
"name": "[variables('webBackEnd')]",
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]"
}
},
Run Code Online (Sandbox Code Playgroud)
这将部署一个应用程序服务。但是,默认情况下,它将设置为使用.Net Framework。下面是我的Azure门户的视图:
为了运行基于ASP.Net Core的Web服务器,我必须手动将堆栈设置从“ .Net”切换为“ .Net Core”。这是一件微不足道的事情,但是我宁愿通过ARM模板正确配置它。我搜索了Microsoft的文档,但找不到正确的属性。如何做到这一点?