리소스에서 apiVersion에 대해 변수를 사용하지 마세요.Don't use variables for apiVersion on a resource.API 버전은 리소스의 스키마를 결정합니다.The API version determines the schema of the resource.종종 리소스에 대한 속성을 변경하지 않고 버전을 변경할 수 없습니다.Often, you can't change the version without changing the properties for the resource.

템플릿에서 공용 엔드포인트(예: Azure Blob 스토리지 공용 엔드포인트)를 사용하는 경우 네임스페이스를 하드 코딩하지 마세요.If you use a public endpoint in your template (such as an Azure Blob storage public endpoint), don't hard-code the namespace.reference 함수를 사용하여 네임스페이스를 동적으로 검색합니다.Use the reference function to dynamically retrieve the namespace.이 방법을 사용하면 템플릿의 엔드포인트를 수동으로 변경하지 않고 다른 공용 네임스페이스 환경에 템플릿을 배포할 수 있습니다.You can use this approach to deploy the template to different public namespace environments without manually changing the endpoint in the template.템플릿에서 저장소 계정에 사용하는 것과 동일한 버전으로 API 버전을 설정합니다.Set the API version to the same version that you're using for the storage account in your template:

템플릿의 다른 값을 공용 네임스페이스를 사용하도록 구성한 경우 동일한 reference 함수를 반영하도록 이러한 값을 변경합니다.If you have other values in your template that are configured to use a public namespace, change these values to reflect the same reference function.가상 머신 진단 프로필의 storageUri 속성을 설정할 수 있습니다.For example, you can set the storageUri property of the virtual machine diagnostics profile:

"parameters": {
"dnsPrefixString": {
"type": "string",
"maxLength": 50,
"metadata": {
"description": "The DNS label for the public IP address. It must be lowercase. It should match the following regular expression, or it will raise an error: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$"
}
}
},
"variables": {
"dnsPrefix": "[concat(parameters('dnsPrefixString'),uniquestring(resourceGroup().id))]"
}

VM 및 확장에 매개 변수로 전달되는 비밀이 암호화되도록 하려면 관련 확장의 protectedSettings 속성을 사용합니다.To ensure that secrets are encrypted when they are passed as parameters to VMs and extensions, use the protectedSettings property of the relevant extensions.