Amazon web services 在AWS中,toolkit_artifact_guid是什么意思?
我正在为AWS开发一个.NET核心应用程序。阅读之后,我在文件夹“C:\Users\Daan\”中添加了一个名为“credentials”(无扩展名)的文件。在这个文本文件中,访问密钥和秘密访问密钥都存在。不幸的是,在运行我的代码后,没有设置凭据属性。其他属性,如区域和配置文件根据我的appsettings文件正确设置。很明显,我的程序通过添加到凭据文件来修改凭据文件 工具箱\工件\ guid=[A guid] 有人能给我解释一下这是什么意思以及我是如何解决的吗?通过修复,我的意思是不修改我的凭据文件,而只是读取以设置awsoptions变量的我的凭据属性 重要的是要知道,这个文件是我自己创建的(不是使用CLI),我仔细检查了凭据是否正确,这是我的代码。此外,我有.NET的经验,但我刚刚开始使用AWSAmazon web services 在AWS中,toolkit_artifact_guid是什么意思?,amazon-web-services,asp.net-core,.net-core,aws-sdk,Amazon Web Services,Asp.net Core,.net Core,Aws Sdk,我正在为AWS开发一个.NET核心应用程序。阅读之后,我在文件夹“C:\Users\Daan\”中添加了一个名为“credentials”(无扩展名)的文件。在这个文本文件中,访问密钥和秘密访问密钥都存在。不幸的是,在运行我的代码后,没有设置凭据属性。其他属性,如区域和配置文件根据我的appsettings文件正确设置。很明显,我的程序通过添加到凭据文件来修改凭据文件 工具箱\工件\ guid=[A guid] 有人能给我解释一下这是什么意思以及我是如何解决的吗?通过修复,我的意思是不修改我的凭
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
var awsOptions = Configuration.GetAWSOptions();
services.AddDefaultAWSOptions(awsOptions);
services.AddAWSService<Amazon.S3.IAmazonS3>();
}
public void配置服务(IServiceCollection服务)
{
services.AddMvc();
var awsOptions=Configuration.GetAWSOptions();
服务。添加默认AWS选项(AWS选项);
services.AddAWSService();
}
-由于第三方扩展和更新,“toolkit\u artifact\u guid”可能会填充到“credentials”文件中
最有可能的原因是AWS Visual Studio工具包 我相信您很久以前就明白了它不起作用的原因,但只是以防万一:通常,凭据和配置文件放在名为.aws的文件夹中,该文件夹位于C:\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创建的,我认为它可以将每个概要文件映射到toolkit用作“上次使用”的概要文件。如果查看C:\Users\YourUser\AppData\Local\AWSToolkit文件夹,您将看到一个“MiscSettings.json”,其中有一个“LastAcountSelectedKey”节点,该节点可能显示凭据文件中的一个GUID(假设您使用Visual Studio中的AWS Explorer窗口/窗格进行任何操作)
在与MiscSettings.json相同的文件夹中,您可能会看到一个名为RegisteredAccounts.json的文件,该文件可以存储AWS凭据(访问密钥和密钥)。这是存储您使用AWS Tools for PowerShell创建的新配置文件的地方(但密钥在此文件中加密),我相信如果您在Visual Studio的AWS资源管理器中创建配置文件,它也会将它们存储在此处。您的.NET应用程序在本地运行时,将首先检查RegisteredAccounts.json文件(不是直接检查,而是通过AWS.NET库检查),然后返回到纯文本.AWS\credentials文件 根据,文件上说:
Visual Studio工具包支持多组凭据
从任何数量的帐户。每一组被称为一个配置文件。
将概要文件添加到VisualStudio工具包时
可以使用两种机制存储凭据:
加密并存储在SDK凭据存储中
此存储区还用于.NET的AWS SDK和.NET的AWS工具
Windows PowerShell。SDK凭据存储特定于您的应用程序
无法解密或使用计算机上的Windows用户帐户
其他地方
其他AWS SDK使用的纯文本共享AWS凭据文件,以及
AWS CLI
要使用VisualStudio工具包,至少需要一个凭据配置文件
必须可从SDK凭据存储库或共享
AWS凭据文件
SDK凭据存储的位置是C:\Users\\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>"
}
}
这个问题有答案吗?我自己也遇到过这种情况,浪费了一天时间试图找出是什么原因造成的。不。答案仍然没有答案。但是,如果您在本页上看到下面的内容,那么很明显您也可以创建一个凭证对象和一个客户端对象,而无需调用GetAWSOptions。这将帮助您使用aws服务。实际问题应得到解决,但如上所述,问题仍未得到回答。
[default]
aws_access_key_id = ""
aws_secret_access_key = ""
region = us-east-1
toolkit_artifact_guid = GUID-we-see