如何在Pulumi中将待创建Service Bus的连接字符串加入FunctionApp的AppSettings?
如何将Service Bus连接字符串添加到Function App的应用设置中?
由于Service Bus连接字符串是资源部署完成后才能获取的Output类型值,无法直接与普通的应用设置同步合并,需要通过Apply方法处理输出值,再合并到Function App的应用设置里,具体步骤如下:
1. 合并原有应用设置与Service Bus连接字符串
通过Apply访问连接字符串的实际值,复制原有应用设置并添加新的连接字符串项:
// 合并原有appSettings和Service Bus连接字符串 var mergedAppSettings = connectionString.Apply(connStr => { // 复制现有应用设置到新的InputMap var settings = new InputMap<string>(appSettings); // 添加Service Bus连接字符串,键名可根据业务需求自定义 settings["ServiceBusConnectionString"] = connStr; return settings; });
2. 更新Function App的资源声明
将原来的AppSettings参数替换为合并后的mergedAppSettings:
var functionAppName = appProfile.Items.Single(p => p.Key == "Name").Value; return new FunctionApp(functionAppName, new() { Name = functionAppName, Location = resourceGroup.Location, ResourceGroupName = resourceGroup.Name, AppServicePlanId = plan.Id, StorageAccountName = storageAccount.Name, AppSettings = mergedAppSettings, // 使用合并后的应用设置 StorageAccountAccessKey = storageAccount.PrimaryAccessKey, });
关键说明
- 必须使用
Apply方法处理connectionString这个Output类型的值,因为它的实际内容只有在部署阶段才能确定,无法同步读取 InputMap<string>的构造函数支持传入现有设置集合,方便保留原有配置的同时添加新项- 连接字符串的键名(示例中为
ServiceBusConnectionString)可以根据你的Function App代码需求自行修改
内容的提问来源于stack exchange,提问作者Scott Nimrod
相关产品推荐
相关产品推荐

