User-AgentヘッダーによるAzureパートナーリソースのタグ付け


8

Resource Manager APIを介してリソースを作成するときに、User-Agentヘッダーにパートナー製品のGUIDを追加して、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に置き換える必要があります。

回答:


2

デプロイ中にリソースに属性をタグ付けする場合、関連付けを示すリソース自体には何も表示されません。これは内部実装です。

作成したコードが正しく機能している(リソースが適切に割り当てられる)ことを確認することが目的である場合、UserAgentメソッドでこれを外部で行う方法は現在ありません。内部でしか実行できません。リンクしたドキュメントのスクリプトを使用して、テンプレートの展開を確認できますが、これは、テンプレートの展開でのみ機能し、API呼び出し(TF、SDKなど)では機能しません。

パートナーポータルには、1)GUIDが登録されていて、2)リソースの課金対象の使用量がない限り、何も表示されません。

以上のことをすべて言った-ログをざっと見たところ、userAgentに3fd1a53d-3ef0-4111-8a66-211ed6470935でプロビジョニングされたリソースがいくつか表示されています。

助けて?


0

これは実際の例ではなく、コメントに適合しません。

この行Get-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -Name $partnerID$partnerID、リソースグループと同じ名前のデプロイメントを検索しようとしますが、New-AzVM などの名前を使用している可能性がありますvirtualmachine-<some_random_id>。試行しているようにコマンドを使用するには、デプロイメントに同じ名前を付ける必要があります。この名前は、ARMテンプレートで指定するか、New-AzResourceGroupDeploymentコマンドを使用して指定できます。

パートナーのタグ付けについてはあまり詳しくありませんが、コマンドは通常、使用しようとしているようには機能しません。

また、$productID値が複数のデプロイメントで同じままであるが、デプロイメントに同じ名前を使用すると、以前のデプロイメントが上書きされます(基本的に、デプロイメント履歴のみが失われます)。ポータルでリソースグループを確認してデプロイメント名を取得するか、パラメーターなしでGet-AzResourceGroupDeploymentName使用してすべてのデプロイメントを取得し、デプロイメントの時間ごとに関連するデプロイメントを見つけることをお勧めします。

Resource Manager APIプロセスを使用しているようですが、ドキュメントには確認方法について次のように記載されています-

スクリプトを使用して、GUIDがResource Managerテンプレートに正常に追加されたことを確認できます。このスクリプトは、Resource Manager APIまたはTerraformデプロイメントには適用されません。

コードは機能している可能性がありますが、User-Agentメソッドを使用しているときの明確な検証方法がわかりません。(おそらく、ドキュメントに従ってPartner Center Analyzeダッシュボードのレポートを確認してください)。 ARMテンプレートには検証方法があるようですので、それを使用してみることができます。


ユーザーエージェントを使用する方法は、記事「Azure PowerShellを使用してデプロイにタグを付ける」で提案されています。AzurePowerShellを使用してリソースをデプロイする場合は、次のメソッドを使用してGUIDを追加します。 :ClientFactory.AddUserAgent( "pid-eb7927c8-dd66-43e1-b0cf-c346a422063
Ruslan Mukhamedov

はい、見ましたが、ドキュメントに記載されているUser-Agentメソッドを使用すると、明確な検証メソッドが表示されません。確認方法がわかっている場合は、それを使用することをお勧めします。Get-AzResourceGroupDeploymentあなたのように名前の展開を取得しようとしているので、あなたがコードで書かれているように、コマンドは、失敗することが予想されてproductID最初に作成せず。
stackoverflowusrone

同じ記事で述べられているようにレポートをチェックして、意図した結果が存在するかどうかを確認してください。
-
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.