gpt4 book ai didi

c# - 通过 C# 删除为 lambda 配置的环境变量

转载 作者:行者123 更新时间:2023-12-04 10:58:51 24 4
gpt4 key购买 nike

我想通过我们的 C# .NET 工具从 lambdas“$latest”版本中删除所有环境变量。为此,我使用以下代码:

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!");
}

我知道我可以通过 AWS Web 控制台手动执行此操作,但我希望为每个新的 lambda 部署自动执行此操作,以便仅在 lambda 上配置所需的环境变量。

我想从“$latest”版本中删除变量,而不是已发布的版本,因为我知道已发布的版本不能更改其环境变量,只能更改“$latest”版本。

我正在使用适用于 .NET Core 版本 3.3.103.25 的 NuGet 包 AWSSDK.Lambda。

最佳答案

所以显然这适用于其他语言,但不适用于 C#。 AWS 支持确认,这是一个错误。
此后,服务团队发布了一个新版本 AWSSDK.Lambda 版本 3.3.104.1,我可以确认它现在有效。

他们添加了一个新属性“IsVariablesSet”,如果您想更改 lambda 上的环境变量,则必须将其设置为“true”。以下请求现在从选定的 lambda 中删除所有环境变量:

var request = new UpdateFunctionConfigurationRequest()
{
FunctionName = lambdaName,
Environment = new Amazon.Lambda.Model.Environment()
{
Variables = new Dictionary<string, string>(),
IsVariablesSet = true,
}
};

关于c# - 通过 C# 删除为 lambda 配置的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58970176/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com