1

我正在关注.NET 开发人员的 AWS 教程,发现它同时使用了.NETSharedCredentialsFileNetSDKCredentialsFile. 这两个API有什么区别吗?在我的代码中,它们可以互换,没有任何明显的区别:

    public CredentialProfile GetProfile(string profileName)
    {
        // Which one should I use?
        var sharedFile = new SharedCredentialsFile();
        //var sharedFile = new NetSDKCredentialsFile();

        if (!sharedFile.TryGetProfile(profileName, out var result))
        {
            var options = new CredentialProfileOptions
            {
                AccessKey = Configuration.AccessKey,
                SecretKey = Configuration.SecretKey
            };

            var profile = new CredentialProfile(profileName, options);
            profile.Region = RegionEndpoint.EUWest1;
            sharedFile .RegisterProfile(profile);

            result = profile;
        }

        return result;
    }

其中一个已经过时了吗?是否有应该使用的最佳实践?还是它们相同?

请注意,我正在 Windows PC 上开发,但该应用程序将在 Linux 服务器上运行。这有什么不同吗?

4

2 回答 2

2

AWS Toolkit for Visual Studio 与 NetSDKCredentialsFile 和 SharedCredentialsFile 集成。在 AWS SDK 围绕 SharedCredentialsFile 管理的 .aws/credentials 文件统一之前,NetSDKCredentialsFile 是 .NET SDK 的原始凭证存储。在这一点上,我建议使用 SharedCredentialsFile,这样您的凭证将与所有其他 AWS 工具和 SDK 兼容。

于 2020-03-18T07:33:25.610 回答
0

我想我在这里找到了答案:Linux 上的 AWS .NET SDK

  • NetSDKCredentialsFile使用与 AWS Toolkit for Visual Studio 相同的存储,但它不适用于 Linux。
  • SharedCredentialsFile未与 AWS Toolkit for Visual Studio 集成,但适用于所有平台。
于 2020-03-16T14:31:33.107 回答