Configuración de la canalización
Se recomienda utilizar el archivo de configuración de SageMaker para configurar los valores predeterminados de la canalización. Para obtener más información sobre el archivo de configuración de SageMaker, consulte Configuring and using defaults with the SageMaker Python SDK@step
. En el siguiente tema, se describe cómo configurar un archivo de configuración.
La configuración del decorador @step
en el archivo de configuración es idéntica a la configuración del decorador @remote
. Para configurar el ARN del rol de canalización y las etiquetas de canalización en el archivo de configuración, use la sección Pipeline
que se muestra en el siguiente fragmento:
SchemaVersion: '1.0' SageMaker: Pipeline: RoleArn: 'arn:aws:iam::555555555555:role/IMRole' Tags: - Key: 'tag_key' Value: 'tag_value'
La mayoría de los valores predeterminados que se pueden establecer en el archivo de configuración también se pueden anular pasando nuevos valores al decorador @step
. Por ejemplo, puede anular el tipo de instancia establecido en el archivo de configuración para el paso de preprocesamiento, tal y como se muestra en el ejemplo siguiente:
@step(instance_type="
ml.m5.large
") def preprocess(raw_data): df = pandas.read_csv(raw_data) ... return procesed_dataframe
Algunos argumentos no forman parte de la lista de parámetros del decorador @step
; solo se pueden configurar para toda la canalización a través del archivo de configuración de SageMaker. Son los siguientes:
sagemaker_session
(sagemaker.session.Session
): la sesión de SageMaker subyacente en la que SageMaker delega las llamadas de servicio. Si no se especifica, se crea una sesión con la siguiente configuración predeterminada:SageMaker: PythonSDK: Modules: Session: DefaultS3Bucket: 'default_s3_bucket' DefaultS3ObjectKeyPrefix: 'key_prefix'
custom_file_filter
(CustomFileFilter)
: un objetoCustomFileFilter
que especifica los directorios y archivos locales que se van a incluir en el paso de canalización. Si no se especifica, este valor se establece de forma predeterminada enNone
. Para quecustom_file_filter
se aplique, debe establecerIncludeLocalWorkdir
enTrue
. El siguiente ejemplo muestra una configuración que ignora todos los archivos del cuaderno, así como los archivos y directorios denominadosdata
.SchemaVersion: '1.0' SageMaker: PythonSDK: Modules: RemoteFunction: IncludeLocalWorkDir: true CustomFileFilter: IgnoreNamePatterns: # files or directories to ignore - "*.ipynb" # all notebook files - "data" # folder or file named "data"
Para obtener más información sobre cómo utilizar
IncludeLocalWorkdir
conCustomFileFilter
, consulte Uso de código modular con el decorador @remote.s3_root_uri (str)
: la carpeta raíz de Amazon S3 en la que SageMaker carga los archivos de código y los datos. Si no se especifica, se utiliza el bucket de SageMaker predeterminado.s3_kms_key (str)
: clave utilizada para cifrar los datos de entrada y salida. Solo puede configurar este argumento en el archivo de configuración de SageMaker y el argumento se aplica a todos los pasos definidos en la canalización. Si no se especifica, el valor se establece de forma predeterminada enNone
. Consulte el siguiente fragmento para ver un ejemplo de la configuración de claves KMS de S3:SchemaVersion: '1.0' SageMaker: PythonSDK: Modules: RemoteFunction: S3KmsKeyId: 's3kmskeyid' S3RootUri: 's3://amzn-s3-demo-bucket/my-project