【问题标题】:What does toolkit_artifact_guid mean in AWS?在 AWS 中 toolkit_artifact_guid 是什么意思?
【发布时间】:2020-06-19 18:39:21
【问题描述】:

我正在为 AWS 开发一个 .NET Core 应用程序。阅读this post后,我在文件夹“C:\Users\Daan\”中添加了一个名为“credentials”(不带扩展名)的文件。在这个文本文件中,访问密钥和秘密访问密钥都在那里。不幸的是,Credentials 属性在运行我的代码后没有设置。 RegionProfile 等其他属性已根据我的 appsettings 文件正确设置。显而易见的是,我的程序通过添加到凭证文件来修改凭证文件。

toolkit_artifact_guid=[一个 GUID]

谁能解释一下这是什么意思以及如何解决?通过修复,我的意思是我的凭据文件没有被修改,而只是读取以设置我的 awsoptions 变量的凭据属性。

重要的是要知道我自己创建了这个文件(而不是使用 CLI),我仔细检查了凭据是否正确并且这是我的代码。此外,我确实有 .NET 经验,但我刚刚开始使用 AWS。

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();
    var awsOptions = Configuration.GetAWSOptions();        
    services.AddDefaultAWSOptions(awsOptions);
    services.AddAWSService<Amazon.S3.IAmazonS3>();
}

-

【问题讨论】:

  • 这个问题有答案吗?我自己也遇到过这种情况,并浪费了一天的时间试图找出造成这种情况的原因。
  • 没有。答案仍然没有答案。但是,如果您在此页面上看到下面的github.com/aws/aws-sdk-java/issues/969,那么很明显您也可以在不调用 GetAWSOptions 的情况下创建凭证对象和客户端对象。这将帮助您使用 aws 服务。实际问题将得到解决,但上述问题仍未得到解答。

标签: amazon-web-services asp.net-core .net-core aws-sdk


【解决方案1】:

“toolkit_artifact_guid”可能会由于第 3 方扩展和更新而填充到“凭据”文件中。

很可能是由于 AWS Toolkit for Visual Studio。

【讨论】:

    【解决方案2】:

    我相信您很久以前就知道它为什么不工作了,但以防万一:通常凭据和配置文件放在 C 中名为 .aws 的文件夹中:\Users\YourUser\ 文件夹。因此,凭证文件的完整路径将是 C:\Users\YourUser.aws\credentials

    (注意:对于 Linux 用户,它在 ~/.aws 中,所以 ~/.aws/credentials )

    您不能创建以“.”开头的文件夹名称。使用资源管理器,但您可以从命令行创建它。只需打开命令提示符,执行

     CD C:\Users\YourUser
     mkdir .aws 
    

    然后您可以使用资源管理器将您的凭据文件和配置文件拖到那里。您可以在配置文件中为每个配置文件设置一个默认区域(这只是一个没有扩展名的文本文件,与凭据相同),如下所示:

    [default]
    region = us-west-2
    
    [staging]
    region = us-east-2
    

    我相信,toolkit_artifact_guid 是由 AWS Toolkit for Visual Studio 创建的,我认为它可以将每个配置文件映射到工具包用作“上次使用”的配置文件。如果您查看 C:\Users\YourUser\AppData\Local\AWSToolkit 文件夹,您将看到一个“MiscSettings.json”,它有一个“LastAcountSelectedKey”节点,可能显示您的凭证文件中的一个 guid(假设您使用 Visual Studio 中的 AWS Explorer 窗口/窗格进行任何操作)。

    在与 MiscSettings.json 相同的文件夹中,您可能会看到一个名为 RegisteredAccounts.json 的文件,other 可以在其中存储您的 AWS 凭证(访问密钥和秘密密钥)。这是您使用适用于 PowerShell 的 AWS 工具创建的新配置文件的存储位置(但密钥在此文件中加密),我相信如果您在 Visual Studio 的 AWS Explorer 中创建配置文件,它也会将它们存储在这里。您的 .NET 应用程序在本地运行时,将首先检查 RegisteredAccounts.json 文件(不是直接检查,而是通过 AWS .NET 库),然后回退到纯文本 .aws\credentials 文件。

    【讨论】:

      【解决方案3】:

      根据this link,文档说:

      Visual Studio 工具包支持多组凭据 从任意数量的帐户。每个集合称为一个配置文件。 将配置文件添加到 Toolkit for Visual Studio 时, 可以使用两种机制存储凭据:

      加密并存储在 SDK Credential Store 中。

      适用于 .NET 的 AWS 开发工具包和适用于 Windows PowerShell。 SDK Credential Store 是特定于您的 您计算机上的 Windows 用户帐户,无法解密或使用 其他地方。

      其他 AWS 开发工具包使用的纯文本共享 AWS 凭证文件和 AWS CLI。

      要使用 Toolkit for Visual Studio,至少需要一个凭据配置文件 必须可从 SDK Credential Store 或共享的 AWS 凭证文件。

      SDK Credential Store 的位置是C:\Users\&lt;your-windows-logon&gt;\AppData\Local\AWSToolkit。在该文件夹中,您将看到几个 JSON 文件:MiscSettings.json 和 RegisteredAccounts.json。在 MiscSettings.json 文件中,有一个名为“LastAcountSelectedKey”的参数,它有一个 guid。示例:

      {
          "MiscSettings" : {
              "AnalyticsCognitoIdentityId" : "<string redacted>",
              "AnalyticsMostRecentlyUsedCognitoIdentityPoolId" : "<string redacted>",
              "AnalyticsAnonymousCustomerId"                   : "<string redacted>",
              "lastselectedregion"                             : "us-east-1",
              "AnalyticsPermitted"                             : "true",
              "HostedFilesLocation"                            : "file://C:\\Users\\<your-windows-logon>\\.aws",
              "LastAcountSelectedKey"                          : "<GUID-we-see>"
          }
      }
      

      我们看到的这个 GUID 就是出现在凭证文件中的内容:

      [default]
      aws_access_key_id = ""
      aws_secret_access_key = ""
      region = us-east-1
      toolkit_artifact_guid = GUID-we-see
      

      【讨论】:

        猜你喜欢
        • 2017-11-03
        • 2011-08-12
        • 2017-06-11
        • 2018-03-05
        • 2023-03-27
        • 2016-08-17
        • 2010-12-28
        • 2018-04-24
        • 1970-01-01
        相关资源
        最近更新 更多