C# 对aws访问/密钥使用CircleCi环境变量
我创建了一个简单的API测试来发布文档。端点需要使用AWS访问和密钥进行身份验证。这是我的API测试代码C# 对aws访问/密钥使用CircleCi环境变量,c#,.net,amazon-web-services,api,circleci,C#,.net,Amazon Web Services,Api,Circleci,我创建了一个简单的API测试来发布文档。端点需要使用AWS访问和密钥进行身份验证。这是我的API测试代码 public static async Task<HttpResponseMessage> PostRequest(string requestUrl, dynamic json = null, byte[] file = null) { var credentials = new ImmutableCredentials(accessKe
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;
}
公共静态异步任务PostRequest(字符串requestUrl,动态json=null,字节[]文件=null)
{
var credentials=新的不可变凭证(accessKey、secretKey、null);
var url=url.SetQueryParams(json);
var httpContent=newbytearraycontent(文件);
var response=wait client.PostAsync(
姿势,
httpContent,
regionName:regionName,
serviceName:serviceName,
全权证书:全权证书);
返回响应;
}
目前这些凭证是硬编码的(我知道不是很好)。在我的CI管道中,我使用了CircleCi,并将AWS密钥存储在环境变量部分。我现在的问题是如何在测试代码中访问和实现这些变量
我想做的是,我不想在源代码管理中硬编码我的AWS密钥 我使用circleci,但我不使用.net 我已经为circleci项目添加了AWS凭据作为环境变量。之后,我的nodejs代码中不再包含凭证部分。
nodejs的aws sdk
将使用环境变量获取凭据。我认为,基于.net的应用程序的行为也应该相同
希望这有帮助
参考:
您可以使用存储AWS密钥,然后在CircleCI配置中指定上下文。这将防止将它们保存在代码中。这很有帮助!非常感谢。