Skip to content

FrameworkProcessor does not use output_kms_key when uploading the code artifact #3389

@szamarin

Description

@szamarin

The Framework processor creates an Estimator when uploading the code artifact (sourcedir.tar.gz) to S3. However when instantiating the estimator, the output_kms_key is not passed to the constructor (code)

    def _upload_payload(
        self,
        entry_point: str,
        source_dir: Optional[str],
        dependencies: Optional[List[str]],
        git_config: Optional[Dict[str, str]],
        job_name: str,
    ) -> "sagemaker.estimator.Framework":  # type: ignore[name-defined]   # noqa: F821
        """Upload payload sourcedir.tar.gz to S3."""
        # A new estimator instance is required, because each call to ScriptProcessor.run() can
        # use different codes.
        estimator = self._create_estimator(
            entry_point=entry_point,
            source_dir=source_dir,
            dependencies=dependencies,
            git_config=git_config,
        )

        estimator._prepare_for_training(job_name=job_name)
        logger.info(
            "Uploaded %s to %s",
            estimator.source_dir,
            estimator._hyperparameters["sagemaker_submit_directory"],
        )

        return estimator

If a customer has a bucket policy that requires a SSE with KMS, they are unable to use the Frameworkprocessor.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions