我从Azure Usage Billing API收到错误的Meter ID.错误的确切响应条目如下所示.请注意,它是文本"1core"而不是Guid.因此,我无法从Rate Card API数据中找到它的速率.我还注意到许多其他属性如Resource Category也是null.同一条目在不同的日子里重复.
谁能告诉我为什么会这样呢?在尝试计算月度账单时,我该如何对待这个条目呢?
{
"id":"/subscriptions/1a11aa11-5c9b-4c94-b875-b7b55af5d316/providers/Microsoft.Commerce/UsageAggregates/Daily_BRSDT_20160312_0000",
"name":"Daily_BRSDT_20160312_0000",
"type":"Microsoft.Commerce/UsageAggregate",
"properties":{
"subscriptionId":"1a11aa11-5c9b-4c94-b875-b7b55af5d316",
"usageStartTime":"2016-03-11T00:00:00+00:00",
"usageEndTime":"2016-03-12T00:00:00+00:00",
"instanceData":"{\"Microsoft.Resources\":{\"resourceUri\":\"/subscriptions/1a11aa11-5c9b-4c94-b875-b7b55af5d316/resourceGroups/OPENTEXT-RESOURCE/providers/Microsoft.Compute/virtualMachines/OpenText-Test01\",\"location\":\"eastus\",\"partNumber\":\"1AA1A1X2X3J6Z5CTGYDP3JINVU3KI3SQMOF62ZDVD4WHVECLMDI72J5ZD42PMNW4IEDRHARE6JZZ3LHM65KKHRDNLEL5EOQALXEFO5A\",\"orderNumber\":\"a1aa1111-bed9-4451-bdf7-274f05f35201\",\"additionalInfo\":{\"ImageType\":\"\",\"ServiceType\":\"Standard_A1\",\"VMName\":\"\",\"UsageType\":\"ComputeHR_SW\"}}}",
"meterId":"1core",
"infoFields":{
},
"quantity":8.0
}
},
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用C#中的.net应用程序中的Graph REST API自动获取AD报告.
我在新的Azure门户中创建了一个服务主体(使用应用程序注册).此服务主体具有为OAuth 2.0配置的所有必需信息:
服务主体还具有为"Microsoft Graph"适当设置的权限,作为"读取目录数据".
我能够从.net应用程序使用REST API获取令牌,但是当我尝试在我的代码中使用此令牌时,我收到错误:" 无法检查appId的目录读取权限 ".
我使用令牌进行REST API调用的代码是(我已经更改了租户ID等的GUID):
var client2 = new RestClient("https://graph.windows.net/a0a00aa0-aaaa-0000-0000-00000e0000aa/reports?api-version=beta");
var request2 = new RestRequest(Method.GET);
request2.AddHeader("cache-control", "no-cache");
request2.AddHeader("authorization", "Bearer " + token);
request2.AddHeader("content-type", "application/json");
IRestResponse response2 = client2.Execute(request2);
Console.WriteLine(response2.Content);
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
{
"error":{
"code":"Unable to check Directory Read access for appId: 00000aa-aaaa-0a0a-0000-000000000000","message":"message:Unable to check Directory Read access for appId: 00000aa-aaaa-0a0a-0000-000000000000\n client-request-id:00aa0a0a-48bf-4bf8-ae40-a2976a3c6910 timestamp:2017-04-28 01:38:52Z"
}
}
Run Code Online (Sandbox Code Playgroud)
我已经检查过,凭据没有按照某些博客的指示缓存.我甚至从一个空白的VM运行代码并得到了同样的错误.任何指针来解决此错误或可能导致此错误的原因.
我解决了这个问题.我知道解决这个问题的确切步骤.但我不知道潜在的概念.如果有人能通过PowerShell或GUI向我解释以及如何做到这一点(即使是2行),我会接受这个作为答案.我采取的步骤是:
使用Connect-AzureAD连接到 Azure AD 后,如果运行命令Get-AzureADPolicy,PowerShell 会提示消息“Get-AzureADPolicy:术语‘Get-AzureADPolicy’无法识别”
我可以重载PowerShell内置类的方法吗?如果是,那怎么样?任何代码示例都会很棒.
本质上,我试图重载Hashtable Dictionary PowerShell对象的Equals方法来进行适当的比较.
我知道您可以在PowerShell中重载cmdlet或函数,以及所采用的最新定义.但我试图重载不是cmdlet或函数,但尝试重载现有类的内置方法.我已经检查了这篇文章:PowerShell中的函数重载