c# - 将 CircleCi 环境变量用于 aws 访问/密钥
问题描述
我创建了一个简单的 API 测试来发布文档。端点需要使用 AWS 访问和密钥进行身份验证。这是我的 API 测试代码。
public static async Task<HttpResponseMessage> PostRequest(string requestUrl, dynamic json = null, byte[] file = null)
{
var credentials = new ImmutableCredentials(accessKey, secretKey, null);
var url= url.SetQueryParams(json);
var httpContent = new ByteArrayContent(file );
var response = await client.PostAsync(
postUrl,
httpContent,
regionName: regionName,
serviceName: serviceName,
credentials: credentials);
return response;
}
目前,这些凭据是硬编码的(我知道不是很好)。在我的 CI 管道中,我使用的是 CircleCi,并且我已将 AWS 密钥存储在环境变量部分中。我现在的问题是如何访问这些变量并将其实现到我的测试代码中?
我正在尝试做的事情是我不想在源代码控制中对我的 AWS 密钥进行硬编码。
解决方案
我使用circleci,但我不使用dot.net。
我已将 AWS 凭证添加为 circleci 项目的环境变量。之后,我不包括我的 nodejs 代码的凭据部分。aws-sdk
for将nodejs
使用环境变量来获取凭据。我相信基于 dot.net 的应用程序的行为也应该相同。
希望这可以帮助。