using System; using System.Collections.Generic; using System.IO; using Cloud.Alibaba.Oss; namespace Cloud.Alibaba { /// /// 账号配置 /// public class AccountConfig { public readonly string AccessKey; public readonly string SecretKey; private static readonly Dictionary Configs = new Dictionary(); static AccountConfig() { Configs.Add(Account.Oss, new AccountConfig("ALIBABA_CLOUD_ACCESS_KEY_ID","ALIBABA_CLOUD_ACCESS_KEY_SECRET","aliyun.config")); Configs.Add(Account.Ecs, new AccountConfig("ALIBABA_CLOUD_ACCESS_KEY_ID_ECS","ALIBABA_CLOUD_ACCESS_KEY_SECRET_ECS","ecsaliyun.config")); } public AccountConfig(string environmentAccessKey,string environmentSecretKey,string fileConfig) { string ak = EnvironmentVariableHelper.GetEnvironmentVariable(environmentAccessKey); string sk = EnvironmentVariableHelper.GetEnvironmentVariable(environmentSecretKey); if ((string.IsNullOrEmpty(ak) || string.IsNullOrEmpty(sk)) && File.Exists(fileConfig)) { string[] accessContent = File.ReadAllLines(fileConfig); ak = accessContent[0]; sk = accessContent[1]; } AccessKey = ak; SecretKey = sk; } public static AccountConfig GetConfig(Account account) { return Configs[account]; } } }