【发布时间】:2022-07-06 05:15:16
【问题描述】:
我有一些 SSM 参数存储在 LocalStack 中,但是当应用程序运行时无法获取参数,尽管参数在那里。
应用程序日志甚至说:[AWSSDK] Found AWS credentials for the profile local
参数在那里,如下所示。
知道为什么会发生这种情况吗?
$ aws ssm get-parameters-by-path --path "/app-local/dynamodb" --endpoint-url http://127.0.0.1:4566 --profile local --recursive
{
"Parameters": [
{
"Name": "/app-local/dynamodb/urls/expire",
"Type": "String",
"Value": "1.00:00:00",
"Version": 1,
"LastModifiedDate": 1656607246.131,
"ARN": "arn:aws:ssm:us-west-2:000000000000:parameter/app-local/dynamodb/urls/expire",
"DataType": "text"
}
]
}
程序.cs
config.AddSystemsManager("/app-local");
应用设置.json
{
"AWS": {
"Profile": "local",
"ServiceURL": "http://127.0.0.1:4566",
"UseHttp": "true"
}
}
在我的 Main.cs 中设置此代码:
var awsFile = new SharedCredentialsFile();
if (awsFile.TryGetProfile(awsOptions.Profile, out var profile))
{
Console.WriteLine($"Found credentials for '{awsOptions.Profile}' in credentials file '{awsFile.FilePath}'.");
}
它打印:
Found credentials for 'local' in credentials file '/root/.aws/credentials'.
root@8bb9c17a7179:/app# cat /root/.aws/credentials
[local]
aws_access_key_id = local
aws_secret_access_key = local
region=us-west-2
【问题讨论】:
标签: amazon-web-services .net-core aws-ssm localstack aws-sdk-net