Open sampoorna opened 2 years ago
@sampoorna were you able to solve this issue?
@doronbt Nope. My workaround was to switch to a user account that did not require MFAs.
I have the same problem without the MFA part, but basically that the passed in sagemaker session is not used. I want to pass a sagemaker session with a role assumed, since the currently active / default boto3 session does not have privileges to write to the feature store. Can you please fix this, i.e. ensure that the boto3 client from sagemaker_session
is taken if supplied? We have premium support.
Describe the bug My default credentials do not have write access to S3 for a feature, so I need to assume a role using boto/STS. I create all the relevant clients, a SageMaker session, and a feature group using the sagemaker session. Then I call
.ingest()
on the feature group. I have to key in an MFA code when I first assume role. I would expect not to have to keep keying this in during the ingestion process as well, however, my script keeps prompting me for it over and over again.I have traced this down to
sagemaker_featurestore_runtime_client = boto3.Session(profile_name=profile_name).client( service_name="sagemaker-featurestore-runtime", config=client_config )
in_ingest_single_batch()
. It is not using the session that was passed in, but creating a new session, which prompts for an MFA code each time.To reproduce
profile_name
(this technically should not even be required if the passed in session is being used, but the intention is to demonstrate that this isn't a viable workaround):Expected behavior I expect the initial session would be used for ingestion, otherwise this API method is unusable if MFA is enabled on the assumed profile.
System information A description of your system. Please provide: