Я использую tkinter
для создания графического приложения, которое возвращает группы безопасности. В настоящее время, если вы хотите изменить свои учетные данные (например, если вы случайно ввели неправильные), вам придется перезапустить приложение, иначе boto3
продолжит использовать старые учетные данные.
Я не уверен, почему он продолжает использовать старые учетные данные, потому что я снова запускаю все, используя введенные в настоящее время учетные данные.
Это фрагмент кода, который устанавливает переменные среды и запускает boto3
. Он отлично работает, если вы вводите правильные учетные данные в первый раз.
os.environ['AWS_ACCESS_KEY_ID'] = self.accessKey
os.environ['AWS_SECRET_ACCESS_KEY'] = self.secretKey
self.sts_client = boto3.client('sts')
self.assumedRoleObject = self.sts_client.assume_role(
RoleArn=self.role,
RoleSessionName="AssumeRoleSession1"
)
self.credentials = self.assumedRoleObject['Credentials']
self.ec2 = boto3.resource(
'ec2',
region_name=self.region,
aws_access_key_id=credentials['AccessKeyId'],
aws_secret_access_key=credentials['SecretAccessKey'],
aws_session_token=credentials['SessionToken'],
)
Переменные учетных данных устанавливаются с использованием:
self.accessKey = str(self.AWS_ACCESS_KEY_ID_Form.get())
self.secretKey = str(self.AWS_SECRET_ACCESS_KEY_Form.get())
self.role = str(self.AWS_ROLE_ARN_Form.get())
self.region = str(self.AWS_REGION_Form.get())
self.instanceID = str(self.AWS_INSTANCE_ID_Form.get())
Есть ли способ использовать другие учетные данные в boto3
без перезапуска программы?
importlib.reload
, он должен «очистить» кеш, верно? - person Farhan.K   schedule 28.04.2016