Gắn thẻ tài nguyên đối tác Azure thông qua tiêu đề Tác nhân người dùng


8

Tôi đang cố gắng thực hiện gắn thẻ đối tác các tài nguyên Azure bằng cách thêm sản phẩm đối tác GUID vào tiêu đề Tác nhân người dùng khi tạo tài nguyên qua API của Trình quản lý tài nguyên , nhưng nó không có bất kỳ hiệu ứng rõ ràng nào. Tôi đã kiểm tra mẫu ARM của tài nguyên "được gắn thẻ", nhưng GUID không có ở đó. Phương pháp xác minh được mô tả trong bài viết cũng cho kết quả âm tính.

Nó làm việc cho bất cứ ai?

Đây là mã Powershell dựa trên hướng dẫn ở trên để tái tạo vấn đề:

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.

Lưu ý: GUID ở trên là ngẫu nhiên - không phải là thực tế. Nó nên được thay thế bằng một đối tác đã đăng ký GUID.

Câu trả lời:


2

Khi gắn thẻ các tài nguyên để phân bổ trong quá trình triển khai, không có bất kỳ thứ gì hiển thị trên chính tài nguyên đó cho biết sự liên kết, đó là một triển khai nội bộ.

Nếu mục tiêu của bạn là xác minh rằng mã bạn đã viết đang hoạt động chính xác (chẳng hạn như tài nguyên sẽ được phân bổ chính xác) thì hiện tại không có cách nào để thực hiện điều này bên ngoài cho phương thức UserAgent - chúng tôi chỉ có thể thực hiện bên trong. Bạn có thể xác minh để triển khai mẫu bằng cách sử dụng tập lệnh trong tài liệu bạn đã liên kết, nhưng điều đó sẽ chỉ hoạt động đối với việc triển khai mẫu không, các lệnh gọi API (TF, SDK, v.v.).

Bạn sẽ không thấy bất cứ điều gì trong Cổng thông tin đối tác trừ khi 1) GUID được đăng ký và 2) có sử dụng hóa đơn cho tài nguyên.

Tất cả những gì đã nói - Tôi đã xem nhanh nhật ký và tôi thấy một số tài nguyên được cung cấp với 3fd1a53d-3ef0-4111-8a66-211ed6470935 trong userAgent.

Điều đó có giúp được không?


0

Đây không phải là một ví dụ hoạt động và không phù hợp với ý kiến.

Dòng Get-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -Name $partnerIDcố gắng tìm kiếm một triển khai có tên như $partnerIDtrong nhóm tài nguyên, nhưng New-AzVM có thể đang sử dụng một tên như thế nào virtualmachine-<some_random_id>. Để sử dụng lệnh như bạn đang cố gắng, việc triển khai phải có cùng tên. Tên này có thể được đặt trong mẫu ARM hoặc sử dụng lệnh New-AzResourcegroupDeployment .

Tôi không biết nhiều về gắn thẻ đối tác, nhưng lệnh thường không hoạt động giống như bạn đang cố gắng sử dụng nó.

Ngoài ra, nếu $productIDgiá trị của bạn giữ nguyên cho nhiều lần triển khai, nhưng sử dụng cùng tên để triển khai sẽ ghi đè lên các lần triển khai trước đó (về cơ bản bạn chỉ mất lịch sử triển khai). Tôi đề nghị kiểm tra nhóm tài nguyên trong cổng thông tin và nhận tên triển khai hoặc sử dụng Get-AzResourcegroupDeployment không có Nametham số để nhận tất cả các triển khai và tìm triển khai liên quan theo thời gian triển khai.

Tôi cũng sẽ chỉ ra rằng dường như bạn đang sử dụng quy trình API của Trình quản lý tài nguyên, nhưng các trạng thái tài liệu tuân theo phương pháp xác minh -

Bạn có thể sử dụng tập lệnh để xác minh rằng GUID được thêm thành công vào mẫu Trình quản lý tài nguyên của bạn. Kịch bản không áp dụng cho các triển khai API của Trình quản lý tài nguyên hoặc Terraform.

Mã của bạn có thể đang hoạt động, nhưng tôi không thấy một phương thức xác minh rõ ràng trong khi sử dụng phương thức Tác nhân người dùng. (Có thể kiểm tra các báo cáo trong Bảng điều khiển Trung tâm phân tích theo tài liệu?). Vì các mẫu ARM dường như có một phương thức xác minh, bạn có thể thử sử dụng phương thức đó.


Phương pháp với tác nhân người dùng được đề xuất trong bài viết: Gắn thẻ triển khai bằng cách sử dụng Azure PowerShell Nếu bạn triển khai tài nguyên qua Azure PowerShell, hãy thêm GUID của bạn bằng cách sử dụng phương pháp sau: PowerShell Sao chép [Microsoft.Azure.Common.Authentication.AzureSession]: : ClientFactory.AddUserAgent ("pid-eb7927c8-dd66-43e1-b0cf-c346a422063
Ruslan Mukhamedov

Có, tôi đã thấy điều đó, nhưng không thấy một phương thức xác minh rõ ràng khi sử dụng phương pháp Tác nhân người dùng được đề cập trong tài liệu. Nếu bạn đã biết một phương pháp xác minh, tôi khuyên bạn nên sử dụng phương pháp đó. Các Get-AzResourceGroupDeploymentlệnh như bạn đã viết trong mã dự kiến sẽ thất bại, kể từ khi bạn đang cố gắng để có được một triển khai với tên như bạn productIDmà không cần tạo nó lần đầu tiên.
stackoverflowusrone

Hãy thử kiểm tra báo cáo của bạn như được đề cập trong cùng một bài viết và xem nếu có kết quả dự định .- docs.microsoft.com/en-us/azure/marketplace/ Kẻ
stackoverflowusrone
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.