在通过Resource Manager API创建资源时,我试图通过将合作伙伴产品 GUID 添加到 User-Agent 标头来实现Azure 资源合作伙伴标记,但它没有任何可见的效果。 我检查了“标记”资源的 ARM 模板,但没有 GUID。 文章中描述的验证方法也给出了否定的结果。

它对任何人都有效吗?

这是基于上面重现问题的指南的 Powershell 代码:

Install-Module -Name Az -AllowClobber -Scope CurrentUser # installs Azure Powerhsell module
$partnerID = "pid-3fd1a53d-3ef0-4111-8a66-211ed6470935" # Product GUID
$VMLocalAdminUser = "partneridtest" # test VM username
$VMLocalAdminSecurePassword = ConvertTo-SecureString "Pa$$word123" -AsPlainText -Force # test VM password
$resourceGroupName=[guid]::NewGuid().ToString() # randomly generated resource group name
Import-Module -Name Az # import Azure Powerhsell module
[Microsoft.Azure.Common.Authentication.AzureSession]::ClientFactory.AddUserAgent($partnerID) # add user-agent for partner tracking

Connect-AzAccount # login to Azure

New-AzResourceGroup -Name $resourceGroupName -Location eastus # create a resource group
Write-Host Resource group name $resourceGroupName

$vmParams = @{
  ResourceGroupName = $resourceGroupName
  Name = 'PartnerIdTest1'
  Location = 'eastus'
  ImageName = 'Win2016Datacenter'
  PublicIpAddressName = 'partnerIdTestPublicIp'
  Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword)
  OpenPorts = 3389
}
$newVM1 = New-AzVM @vmParams # create a test VM (should be tagged with the partner product guid)

Get-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -Name $partnerID # fails with Get-AzResourceGroupDeployment : Deployment 'pid-3fd1a53d-3ef0-4111-8a66-211ed6470935' could not be found.

注意:上面的 GUID 是随机的 - 不是真实的。 它应该替换为注册的合作伙伴 GUID。

#1楼 票数:2 已采纳

在部署期间标记资源以进行归属时,资源本身没有任何可见的指示关联的内容,这是一个内部实现。

如果您的目标是验证您编写的代码是否正常工作(这样资源将被正确归因),目前无法在外部为 UserAgent 方法执行此操作 - 我们只能在内部执行此操作。 您可以使用链接到的文档中的脚本验证模板部署,但这仅适用于模板部署,不适用于 API 调用(TF、SDK 等)。

您不会在合作伙伴门户中看到任何内容,除非 1) 注册了 GUID 并且 2) 有资源的可计费使用。

所有这一切 - 我快速浏览了日志,我确实在 userAgent 中看到了一些使用 3fd1a53d-3ef0-4111-8a66-211ed6470935 配置的资源。

这种帮助?

#2楼 票数:0

这不是一个工作示例,不适合评论。

Get-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -Name $partnerID尝试在资源组中搜索名称为$partnerID New-AzVM的部署,但New-AzVM可能使用类似virtualmachine-<some_random_id>的名称。 要像您尝试一样使用命令,部署必须具有相同的名称。 可以在 ARM 模板中或使用New-AzResourceGroupDeployment命令指定此名称。

我不太了解合作伙伴标记,但该命令通常不会像您尝试使用它那样工作。

此外,如果您的$productID值在多个部署中保持不变,但对部署使用相同的名称将覆盖之前的部署(基本上您只会丢失部署历史记录)。 我建议在门户中查看资源组并获取部署名称,或者使用不带Name参数的Get-AzResourceGroupDeployment获取所有部署并根据部署时间查找相关部署。

我还要指出您似乎正在使用资源管理器 API 流程,但文档说明以下验证方法 -

您可以使用脚本来验证 GUID 是否已成功添加到您的资源管理器模板。 该脚本不适用于 Resource Manager API 或 Terraform 部署。

您的代码可能正在运行,但在使用 User-Agent 方法时我没有看到明确的验证方法。 (可能根据文档检查合作伙伴中心分析仪表板中的报告?)。 由于 ARM 模板似乎有一种验证方法,您可以尝试使用它。

  ask by Ruslan Mukhamedov translate from so

未解决问题?本站智能推荐:

1回复

Azure 资源图资源管理器中缺少资源 createdTime 属性

我正在尝试通过 Azure 资源图资源管理器获取 Azure 资源的createdTime字段,但似乎 Azure 资源图资源管理器不支持此值。 我在任何地方都找不到它。 奇怪的是resources端点确实有这个值,所以它确实存在于某处。 在此处查看此端点的文档: https : //docs.m
1回复

更改 Azure 网络接口的 IP 地址

我被要求更改 Azure 网络接口 IP 地址。 我知道它可以通过门户网站或 Powershell 轻松完成,如here所述。 但是,我想通过 REST 进行相同的操作。 根据我的发现,只能通过 REST( https://docs.microsoft.com/en-us/rest/api/vir
1回复

从 .NET 应用程序调用 Azure 资源图 API

我正在尝试编写一个应用程序,该应用程序允许用户从我的应用程序中查询其 Azure 订阅中的网站列表。 我不想将他们的凭据存储在我的应用程序中(他们也不应该希望我这样做),而是要求他们从他们的 Azure AD 实例中注册一个应用程序,然后让他们存储在我的应用程序中生成的 ClientID 和 Ten
1回复

如何使用 python 为任何资源以及“标签”生成 Azure 日志活动数据的报告?

我的同事使用以下 powershell 查询来检索过去 4 天(不包括今天)的日志数据,这些数据匹配资源的操作并收集诸如 EventTimeStamp、Caller、SubscriptionId 等功能。 我是 azure 的新手,想要生成一份报告,我还可以在该报告中针对过去 90 天的资源获取
1回复

列出提供者资源类型的可用子资源

我正在尝试在给定的订阅中收集我的Azure资源的完整JSON表示形式,但是无法弄清楚如何枚举给定资源类型的可用子资源。 例如,我可以获取Microsoft.Web / sites / {name}资源,但是该响应中没有任何内容告诉我Microsoft.Web / sites / {name
1回复

Azure 顾问 REST API 建议扩展属性不填充?

我正在从 Azure Advisor Rest Api 中提取建议,但无法检索 extendedProperties 值。 具体来说,我正在寻找成本类别建议中的节省数据。 在以下 58 秒的视频中,有一个预期响应的示例。 https://www.youtube.com/watch?v=hAx
6回复

如何检查 Azure 中 SQL 导入导出操作的状态?

我正在使用 REST 管理 API 使用 BacPac 文件向 Azure 执行 SQL 数据库导入。 我需要能够检查导入的状态,因为在导入成功时 Azure 不允许我发送事件。 这是我正在执行的操作的文档: https : //docs.microsoft.com/en-us/rest/api/
1回复

如何获取在Azure门户上为诊断设置列出的资源列表

使用azure rest API,我们不会在azure门户的诊断设置下显示列表 我尝试使用azure rest API进行诊断设置列表 我想要使​​用azure rest API从azure门户进行诊断设置下的资源列表。 所以附上的快照就是我们想要的