Boto3 usa credenciales antiguas

estoy usandotkinter para crear una aplicación gui que devuelva los grupos de seguridad. Actualmente, si desea cambiar sus credenciales (por ejemplo, si ingresó accidentalmente las incorrectas), de lo contrario, deberá reiniciar la aplicaciónboto3 continuaría usando las viejas credenciales.

No estoy seguro de por qué sigue usando las credenciales anteriores porque estoy ejecutando todo nuevamente usando las credenciales ingresadas actualmente.

Este es un fragmento del código que establece las variables de entorno y se inicia.boto3. Funciona perfectamente bien si ingresa las credenciales correctas la primera vez.

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'],
)

Las variables de credenciales se establecen usando:

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())

¿Hay alguna manera de usar diferentes credenciales enboto3 sin reiniciar el programa?

Respuestas a la pregunta(2)

Su respuesta a la pregunta