C# 通过C删除为lambda配置的环境变量#
我想通过C#.NET工具从lambdas“$latest”版本中删除所有环境变量。为此,我使用以下代码:C# 通过C删除为lambda配置的环境变量#,c#,aws-lambda,environment-variables,C#,Aws Lambda,Environment Variables,我想通过C#.NET工具从lambdas“$latest”版本中删除所有环境变量。为此,我使用以下代码: using (var lambdaClient = new AmazonLambdaClient(awsCredentials, RegionEndpoint.EUCentral1)) { // Get the lambda config. var lambdaConfig = lambdaClient.GetFunctionConfigurationAsync(lambda
using (var lambdaClient = new AmazonLambdaClient(awsCredentials, RegionEndpoint.EUCentral1))
{
// Get the lambda config.
var lambdaConfig = lambdaClient.GetFunctionConfigurationAsync(lambdaName).Result;
var request = new UpdateFunctionConfigurationRequest()
{
FunctionName = lambdaName,
Environment = new Amazon.Lambda.Model.Environment()
{
// Remove all environment variables.
Variables = new Dictionary<string, string>(),
}
};
var response = lambdaClient.UpdateFunctionConfigurationAsync(request).Result;
// This is currently hit every time, as the environment variables are not deleted.
if (response.Environment.Variables != null && response.Environment.Variables.Any())
Debug.LogError("Could not delete lambda environment variables!");
}
使用(var lambdClient=new amazonlambdClient(awsCredentials,RegionEndpoint.EUCentral1))
{
//获取lambda配置。
var lambdaConfig=lambdClient.GetFunctionConfigurationAsync(lambdaName).Result;
var request=new UpdateFunctionConfigurationRequest()
{
FunctionName=lambdaName,
Environment=新的Amazon.Lambda.Model.Environment()
{
//删除所有环境变量。
变量=新字典(),
}
};
var response=lambdClient.UpdateFunctionConfigurationAsync(请求).Result;
//由于环境变量未被删除,因此当前每次都会点击此按钮。
if(response.Environment.Variables!=null&&response.Environment.Variables.Any())
LogError(“无法删除lambda环境变量!”);
}
我知道我可以通过AWS web控制台手动完成这项工作,但我希望每个新的lambda部署都能自动完成这项工作,以便在lambda上只配置所需的环境变量
我想从“$latest”版本中删除变量,而不是从发布的版本中删除变量,因为我知道发布的版本不能更改其环境变量,只能更改“$latest”版本
我正在使用适用于.NET Core的NuGet软件包AWSSDK.Lambda,版本为3.3.103.25。显然,这在其他语言中有效,但在C#中无效。AWS支持部门确认,这是一个bug。 服务团队自发布以来发布了一个新版本,AWSSDK.Lambda版本3.3.104.1,我可以确认它现在可以工作了 他们添加了一个新属性“IsVariableSet”,如果要更改lambda上的环境变量,则必须将该属性设置为“true”。现在,以下请求将从所选lambda中删除所有环境变量:
var request = new UpdateFunctionConfigurationRequest()
{
FunctionName = lambdaName,
Environment = new Amazon.Lambda.Model.Environment()
{
Variables = new Dictionary<string, string>(),
IsVariablesSet = true,
}
};
var request=new UpdateFunctionConfigurationRequest()
{
FunctionName=lambdaName,
Environment=新的Amazon.Lambda.Model.Environment()
{
变量=新字典(),
IsVariableSet=true,
}
};