问题标签 [azure-bicep]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - Azure 二头肌资源模块的依赖性问题
我正在创建三个资源:cosmos 帐户、cosmos 数据库和 cosmos 容器。除了我将其模块化的容器外,我将它们全部放在一个文件夹中。
主二头肌
cosmos-db.二头肌
这没有问题,但是 main.bicep 仍然很大,我想继续对其进行模块化,并且无法将其他资源移动到 cosmos-db.bicep 中。如果我要将 cosmos 数据库资源添加到文件中:
cosmos-db.二头肌
主二头肌
我params
在 main.bicep 中的 cosmosdb 和 cosmosContainersUser 模块中的关键字下都有一条红线。对于 cosmosdb 模块,它说:The specified "object" declaration is missing the following required properties: "cosmosContainerName", "id", "partitionKey".bicep(BCP035)
并且params
cosmosContainersUser 模块中的关键字说The specified "object" declaration is missing the following required properties: "cosmosDbName", "databaseName".bicep(BCP035)
。
我猜这是一个依赖问题,因为这些资源相互依赖。我不能在 main.bicep 中使用 parent 关键字,因为模块不支持它。我尝试使用dependsOn
并尝试将父级添加到 cosmos-db.bicep 中的 cosmosContainerUser 并且仍然收到相同的错误消息。
azure - 使用 Bicep 设置 Azure 存储帐户装载路径
以前,使用 Azure CLI 脚本,我有以下存储帐户配置:
现在,我正在尝试用 Bicep 编写这个,但我找不到任何mount-path
. 有没有可能在二头肌文件中设置它?
azure - 筛选详细 Azure ARM 模板
导出的 Azure ARM 模板包含很多无用的信息,比如说快照。我只想导出实际的资源定义。
是否可以过滤掉不必要的项目?我想将此模板转换为 Bicep(将所有资源部署到另一个订阅中),现在我必须从导出的 ARM 模板中手动清除所有未使用的项目。
azure - Azure ARM 策略部署拒绝特定 sku.name
我对策略的 arm 部署感到非常困惑,我希望有人可以帮助我解决这个问题。
我想制定一项政策,根据他们的 Sku.name 拒绝数据库部署。
对,不,我想允许创建它们是standard
或的数据库Basic
,并拒绝所有其他 sku。
我有这个json
配置,但它部分工作。
参数:
和规则:
当我部署此策略时,我只能部署基本 Sku,而所有其他(包括标准)都被拒绝。
我怎样才能允许同时创建Basic
and Standard
?
非常感谢愿意花费宝贵时间帮助我理解这一点的人。
azure-storage - 部署存储帐户的前提条件失败
我正在尝试部署第一次成功部署的存储帐户,但是当我尝试重新部署它时,它失败并抱怨二头肌模板的以下部分的默认 blob 部署先决条件失败
此子 blob 资源是存储帐户部署模板的一部分,它是存储帐户整体部署失败的原因,并显示错误消息
{ "status": "Failed", "error": { "code": "ContainerOperationFailure", "message": "不满足使用 HTTP 条件标头指定的条件。\nRequestId:5d03a3d7-e01e-0052- 65d4-a8f390000000\n时间:2021-09-13T19:20:18.8705109Z" } }
sql-server - 在 Azure Bicep 模块中使用资源 Id 和 apiVersion
我目前有一个名为 main.bicep 的大型 .bicep 文件,我正在对其进行模块化。具体来说,我一直致力于将 Cosmos 资源移动到一个名为 cosmos-db.bicep 的自己的文件中,并在 main.bicep 中使用它。
cosmos-db.二头肌
主二头肌
此代码工作并创建一个 Cosmos 帐户、一个 Cosmos 数据库和三个 Cosmos 容器。尽管 Cosmos 部署通过了,但由于我的密钥保管库机密资源,整个管道失败了。
主二头肌
我从listConnectionString()
函数中得到一个错误说:The type "module" does not contain property "apiVersion". Available properties include "name", "outputs".
为了摆脱这个错误,我试图改变listConnectionString(cosmos.name, '2020-06-01-preview')
给出错误的值:
然后我尝试将其更改2020-06-01-preview
为2020-06-01
返回错误:
"No HTTP resource was found that matches the request URI 'https://management.azure.com/subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Resources/deployments/gbt-nprod-iac-eastus2-dealservice-cosmos/listConnectionStrings?api-version=2020-06-01'.\"
我知道问题是因为模块不包含 id 和 apiVersion 属性,所以我尝试使用资源组的输出。
我在 cosmos-db.bicep 中添加了以下行:
并且还在 main.bicep 中添加了以下内容:
这导致了一个不同的错误:
This expression is being used in an argument of the function "listConnectionStrings", which requires a value that can be calculated at the start of the deployment. You are referencing a variable which cannot be calculated at the start ("apiVersion" -> "cosmos"). Properties of cosmos which can be calculated at the start include "name".
我的问题是,是否有另一种方法可以检索密钥库机密的 Cosmos 连接字符串?如果没有,我怎样才能正确地将 Cosmos 的 API 版本添加到这个listConnectionStrings()
函数中?
azure-resource-manager - 应用服务证书出现错误“参数 KeyVault 证书的值无效”
我在 Azure Key Vault 中创建了一个包含从 .pfx 转换为 base64 字符串的 ssl 证书的机密。现在我尝试使用它来创建一个使用二头肌文件链接到应用服务的证书。
我还尝试在密钥库中手动导入证书并重新导出它以确保 base64 字符串正确并且看起来没问题。
但是我收到错误“参数 KeyVault 证书的值无效。”
你知道我错过了什么吗?
arm-template - Bicep create random string with length of x
Trying to create a storage account and I run into problems that StorageAccountAlredyTaken.
What is best practice of doing this?
#xA;ex storageName = rg-supercode-dev-westeurope-(storageName has the total of 24 characters length)
azure - Azure BICEP 部署(如果尚不存在)
我不确定这是否可能,但我想做的是从一个virtualNetwork.main.bicep
文件创建一个虚拟网络,然后从虚拟网络中的另一个文件创建一个子网subnet.main.bicep
。现在我可以做到这一点,但我遇到的问题是,如果我重新运行虚拟网络virtualNetwork.main.bicep
,它将删除subnet.main.bicep
文件创建的所有子网
我知道我可以将所有子网添加到其中,virtualNetwork.main.bicep
但我的想法是我可以将子网的创建交给其他人,同时保持全局网络配置。
那么有什么方法可以阻止虚拟网络文件删除已经存在的文件吗?
希望这是有道理的。
干杯