你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
如何发布自定义计算机配置包项目
在开始之前,最好先阅读计算机配置的概述页面。
机器配置自定义 .zip
包必须存储在托管计算机可通过 HTTPS 访问的位置。 示例包括 GitHub 存储库、Azure 存储库、Azure 存储或专用数据中心中的 Web 服务器。
支持 Audit
和 AuditandSet
的配置包以相同的方式发布。 在发布过程中,无需根据包模式执行任何特殊操作。
发布配置包
用于存储配置包的首选位置是 Azure Blob 存储。 对存储帐户没有特殊要求,但最好将该文件托管在计算机附近的某个区域中。 如果不想公开包,可以在 URL 中包含 SAS 令牌,或在专用网络中为计算机实现服务终结点。
若要将配置包发布到 Azure Blob 存储,可以按照以下利用 Az.Storage 模块的步骤进行操作。
如果没有存储帐户,请使用以下示例创建一个存储帐户。
# Creates a new resource group, storage account, and container
$ResourceGroup = '<resource-group-name>'
$Location = '<location-id>'
New-AzResourceGroup -Name $ResourceGroup -Location $Location
$newAccountParams = @{
ResourceGroupname = $ResourceGroup
Location = $Location
Name = '<storage-account-name>'
SkuName = 'Standard_LRS'
}
$container = New-AzStorageAccount @newAccountParams |
New-AzStorageContainer -Name machine-configuration -Permission Blob
接下来,获取要在其中存储包的存储帐户的上下文。 如果在前面的示例中创建了存储帐户,则可以从保存在 $container
变量中的存储容器对象获取上下文:
$context = $container.Context
如果使用现有存储容器,可以将容器的连接字符串与 New-AzStorageContext
cmdlet 配合使用:
$connectionString = @(
'DefaultEndPointsProtocol=https'
'AccountName=<storage-account-name>'
'AccountKey=<storage-key-for-the-account>' # ends with '=='
) -join ';'
$context = New-AzStorageContext -ConnectionString $connectionString
接下来,将配置包添加到存储帐户。 本示例将 zip 文件 ./MyConfig.zip
上传到 blob 容器 machine-configuration
。
$setParams = @{
Container = 'machine-configuration'
File = './MyConfig.zip'
Context = $context
}
$blob = Set-AzStorageBlobContent @setParams
$contentUri = $blob.ICloudBlob.Uri.AbsoluteUri
注意
如果在 Cloudshell 中运行这些示例,但在本地创建了 zip 文件,则可以将文件上传到 Cloudshell。
虽然下一步是可选的,但应在 URL 中添加共享访问签名 (SAS) 令牌,以确保对包的安全访问。 以下示例生成具有读取访问权限的 blob SAS 令牌,并返回具有共享访问签名令牌的完整 blob URI。 在此示例中,令牌的时间限制为三年。
$startTime = Get-Date
$endTime = $startTime.AddYears(3)
$tokenParams = @{
StartTime = $startTime
ExpiryTime = $endTime
Container = 'machine-configuration'
Blob = 'MyConfig.zip'
Permission = 'r'
Context = $context
FullUri = $true
}
$contentUri = New-AzStorageBlobSASToken @tokenParams
重要
创建 SAS 令牌后,记下返回的 URI。 创建令牌后,无法检索令牌。 只能创建新令牌。 有关 SAS 令牌的详细信息,请参阅使用共享访问签名 (SAS) 授予对 Azure 存储资源的有限访问权限。