这个问题通常是由缺乏必要的AWS凭证或配置文件引起的。确保在代码中正确设置了访问密钥ID和秘密访问密钥,并且AWS配置文件(通常命名为credentials或config)存在于正确的位置。
以下是一个示例代码,演示了如何正确设置AWS凭证和配置文件:
// 设置凭证提供程序
var chain = new Amazon.Runtime.CredentialManagement.CredentialProfileStoreChain();
AWSCredentials awsCredentials;
if (chain.TryGetAWSCredentials("MyProfile", out awsCredentials))
{
// 设置AWS配置
var config = new AmazonS3Config();
config.RegionEndpoint = RegionEndpoint.USEast1; // 设置区域
config.Timeout = TimeSpan.FromSeconds(30); // 设置超时
Amazon.AWSConfigs.AWSProfileName = "MyProfile"; // 设置AWS配置文件的名称
Amazon.AWSConfigs.AWSRegion = "us-east-1"; // 设置默认区域
Amazon.AWSConfigs.CSMConfig = new Amazon.CSM.CSMConfiguration(); // 设置CSM配置
// 创建Amazon S3客户端
var s3Client = new AmazonS3Client(awsCredentials, config);
}
else
{
throw new AmazonClientException("Unable to load AWS credentials from profile MyProfile!");
}
使用类似这样的代码来正确设置AWS凭证和配置文件可以避免Amazon.AWSConfigs的类型初始化程序引发异常的问题。