Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
了解如何使用 Bicep 通过 Azure Cache for Redis 部署缓存。 部署缓存后,将其与现有存储帐户一起使用以保留诊断数据。 了解如何定义要部署的资源以及如何定义执行部署时指定的参数。 可以将此 Bicep 文件用于自己的部署,或对其进行自定义以满足要求。
Bicep 是一种特定于域的语言 (DSL),使用声明性语法来部署 Azure 资源。 它提供简明的语法、可靠的类型安全性以及对代码重用的支持。 Bicep 会针对你的 Azure 基础结构即代码解决方案提供最佳创作体验。
先决条件
- Azure 订阅:如果没有 Azure 订阅,可在开始前创建一个试用帐户。
- 存储帐户:若要创建帐户,请参阅创建 Azure 存储帐户。 存储帐户用于诊断数据。 在名为“exampleRG”的新资源组中创建存储帐户。
适用于 Redis 的 Azure 缓存
查阅 Bicep 文件
本快速入门中使用的 Bicep 文件来自 Azure 快速入门模板。
@description('Specify the name of the Azure Redis Cache to create.')
param redisCacheName string = 'redisCache-${uniqueString(resourceGroup().id)}'
@description('Location of all resources')
param location string = resourceGroup().location
@description('Specify the pricing tier of the new Azure Redis Cache.')
@allowed([
'Basic'
'Standard'
'Premium'
])
param redisCacheSKU string = 'Standard'
@description('Specify the family for the sku. C = Basic/Standard, P = Premium.')
@allowed([
'C'
'P'
])
param redisCacheFamily string = 'C'
@description('Specify the size of the new Azure Redis Cache instance. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4, 5)')
@allowed([
0
1
2
3
4
5
6
])
param redisCacheCapacity int = 1
@description('Specify name of Built-In access policy to use as assignment.')
@allowed([
'Data Owner'
'Data Contributor'
'Data Reader'
])
param builtInAccessPolicyName string = 'Data Reader'
@description('Specify name of custom access policy to create.')
param builtInAccessPolicyAssignmentName string = 'builtInAccessPolicyAssignment-${uniqueString(resourceGroup().id)}'
@description('Specify the valid objectId(usually it is a GUID) of the Microsoft Entra Service Principal or Managed Identity or User Principal to which the built-in access policy would be assigned.')
param builtInAccessPolicyAssignmentObjectId string = newGuid()
@description('Specify human readable name of principal Id of the Microsoft Entra Application name or Managed Identity name used for built-in policy assignment.')
param builtInAccessPolicyAssignmentObjectAlias string = 'builtInAccessPolicyApplication-${uniqueString(resourceGroup().id)}'
@description('Specify name of custom access policy to create.')
param customAccessPolicyName string = 'customAccessPolicy-${uniqueString(resourceGroup().id)}'
@description('Specify the valid permissions for the customer access policy to create. For details refer to https://aka.ms/redis/ConfigureAccessPolicyPermissions')
param customAccessPolicyPermissions string = '+@connection +get +hget allkeys'
@description('Specify name of custom access policy to create.')
param customAccessPolicyAssignmentName string = 'customAccessPolicyAssignment-${uniqueString(resourceGroup().id)}'
@description('Specify the valid objectId(usually it is a GUID) of the Microsoft Entra Service Principal or Managed Identity or User Principal to which the custom access policy would be assigned.')
param customAccessPolicyAssignmentObjectId string = newGuid()
@description('Specify human readable name of principal Id of the Microsoft Entra Application name or Managed Identity name used for custom policy assignment.')
param customAccessPolicyAssignmentObjectAlias string = 'customAccessPolicyApplication-${uniqueString(resourceGroup().id)}'
resource redisCache 'Microsoft.Cache/redis@2023-08-01' = {
name: redisCacheName
location: location
properties: {
enableNonSslPort: false
minimumTlsVersion: '1.2'
sku: {
capacity: redisCacheCapacity
family: redisCacheFamily
name: redisCacheSKU
}
redisConfiguration: {
'aad-enabled': 'true'
}
}
}
resource redisCacheBuiltInAccessPolicyAssignment 'Microsoft.Cache/redis/accessPolicyAssignments@2023-08-01' = {
name: builtInAccessPolicyAssignmentName
parent: redisCache
properties: {
accessPolicyName: builtInAccessPolicyName
objectId: builtInAccessPolicyAssignmentObjectId
objectIdAlias: builtInAccessPolicyAssignmentObjectAlias
}
}
resource redisCacheCustomAccessPolicy 'Microsoft.Cache/redis/accessPolicies@2023-08-01' = {
name: customAccessPolicyName
parent: redisCache
properties: {
permissions: customAccessPolicyPermissions
}
dependsOn: [
redisCacheBuiltInAccessPolicyAssignment
]
}
resource redisCacheCustomAccessPolicyAssignment 'Microsoft.Cache/redis/accessPolicyAssignments@2023-08-01' = {
name: customAccessPolicyAssignmentName
parent: redisCache
properties: {
accessPolicyName: customAccessPolicyName
objectId: customAccessPolicyAssignmentObjectId
objectIdAlias: customAccessPolicyAssignmentObjectAlias
}
dependsOn: [
redisCacheCustomAccessPolicy
]
}
Bicep 文件中定义了以下资源:
部署 Azure Cache for Redis Bicep 文件
请将 Bicep 文件保存到您的本地计算机,并命名为 main.bicep。
使用 Azure CLI 或 Azure PowerShell 来部署该 Bicep 文件。
az deployment group create --resource-group exampleRG --template-file main.bicep --parameters existingDiagnosticsStorageAccountName=<storage-name> existingDiagnosticsStorageAccountResourceGroup=<resource-group>
注释
将 <storage-name> 替换为在本快速入门开始时创建的存储帐户的名称。 将 <resource-group> 替换为存储帐户所在资源组的名称。
部署完成后,可看到一条指示部署成功的消息。
Azure 托管 Redis
查阅 Bicep 文件
@description('Specify the name of the Azure Redis Cache to create.')
param redisCacheName string = 'redisCache-${uniqueString(resourceGroup().id)}'
@description('Location of all resources')
param location string = resourceGroup().location
resource redisEnterprise 'Microsoft.Cache/redisEnterprise@2024-05-01-preview' = {
name: redisCacheName
location: location
sku: {
name: 'Balanced_B5'
}
identity: {
type: 'None'
}
properties: {
minimumTlsVersion: '1.2'
}
}
resource redisEnterpriseDatabase 'Microsoft.Cache/redisEnterprise/databases@2024-05-01-preview' = {
name: 'default'
parent: redisEnterprise
properties:{
clientProtocol: 'Encrypted'
port: 10000
clusteringPolicy: 'OSSCluster'
evictionPolicy: 'NoEviction'
persistence:{
aofEnabled: false
rdbEnabled: false
}
}
}
Bicep 文件中定义了以下资源:
部署 Bicep 文件
请将 Bicep 文件保存到您的本地计算机,并命名为 main.bicep。
使用 Azure CLI 或 Azure PowerShell 来部署该 Bicep 文件。
az deployment group create --resource-group exampleRG --template-file main.bicep
查看已部署的资源
使用 Azure 门户、Azure CLI 或 Azure PowerShell 列出资源组中已部署的资源。
az resource list --resource-group exampleRG
清理资源
如果不再需要资源组,可以将其删除,这将删除资源组中的资源。
az group delete --name exampleRG
后续步骤
本教程介绍了如何使用 Bicep 通过 Azure Cache for Redis 部署缓存。 若要详细了解 Azure Cache for Redis 和 Bicep,请参阅以下文章:
- 详细了解 Azure Cache for Redis。
- 详细了解 Bicep。