首页 > 解决方案 > 将 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 密钥进行硬编码。

标签: c#.netamazon-web-servicesapicircleci

解决方案


我使用circleci,但我不使用dot.net。

我已将 AWS 凭证添加为 circleci 项目的环境变量。之后,我不包括我的 nodejs 代码的凭据部分。aws-sdkfor将nodejs使用环境变量来获取凭据。我相信基于 dot.net 的应用程序的行为也应该相同。

希望这可以帮助。

参考: 通过 CircleCI 部署无服务器框架


推荐阅读