

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Limitaciones
<a name="pipelines-step-decorator-limit"></a>

En las secciones siguientes, se describen las limitaciones que hay que tener en cuenta al utilizar el decorador `@step` en los pasos de canalización.

## Limitaciones de los argumentos de funciones
<a name="pipelines-step-decorator-arg"></a>

Al pasar un argumento de entrada a la función decorada con `@step`, se aplican las siguientes limitaciones:
+ Puede pasar los objetos `DelayedReturn`, `Properties` (de pasos de otros tipos) `Parameter` y `ExecutionVariable` a funciones decoradas con `@step` como argumentos. Sin embargo, las funciones decoradas con `@step` no admiten objetos `JsonGet` y `Join` como argumentos.
+ No se puede acceder directamente a una variable de canalización desde una función `@step`. El siguiente ejemplo produce un error:

  ```
  param = ParameterInteger(name="{{<parameter-name>}}", default_value=10)
  
  @step
  def func():
      print(param)
  
  func() # this raises a SerializationError
  ```
+ No puede anidar una variable de canalización en otro objeto y pasarlo a una función `@step`. El siguiente ejemplo produce un error:

  ```
  param = ParameterInteger(name="{{<parameter-name>}}", default_value=10)
  
  @step
  def func(arg):
      print(arg)
  
  func(arg=(param,)) # this raises a SerializationError because param is nested in a tuple
  ```
+ Como las entradas y salidas de una función están serializadas, existen restricciones en cuanto al tipo de datos que se puede transferir como entrada o salida desde una función. Consulte la sección *Serialización y deserialización de datos* de [Invocación de una función remota](train-remote-decorator-invocation.md) para obtener más información. Las mismas restricciones se aplican a las funciones decoradas con `@step`.
+ Ningún objeto que tenga un cliente boto se puede serializar, por lo que no se pueden pasar dichos objetos como entrada o salida desde una función decorada con `@step`. Por ejemplo, las clases de cliente del SDK de SageMaker Python como `Estimator``Predictor`, y no se `Processor` pueden serializar.

## Importaciones de funciones
<a name="pipelines-step-decorator-best-import"></a>

Debe importar las bibliotecas necesarias para el paso dentro más que fuera de la función. Si las importa a escala global, corre el riesgo de que se produzca un error de importación al serializar la función. Por ejemplo, `sklearn.pipeline.Pipeline` podría ser anulada por `sagemaker.workflow.pipeline.Pipeline`.

## Referencia a miembros secundarios del valor de devolución de la función
<a name="pipelines-step-decorator-best-child"></a>

Si hace referencia a los miembros secundarios del valor de devolución de una función decorada con `@step`, se aplican las siguientes limitaciones:
+ Puede hacer referencia a los miembros secundarios con `[]` si el objeto `DelayedReturn` representa una tupla, una lista o un dictado, como se muestra en el siguiente ejemplo:

  ```
  delayed_return[0]
  delayed_return["a_key"]
  delayed_return[1]["a_key"]
  ```
+ No se puede desempaquetar el resultado de una tupla o lista, porque no se puede conocer la longitud exacta de la tupla o lista subyacente al invocar la función. El siguiente ejemplo produce un error:

  ```
  a, b, c = func() # this raises ValueError
  ```
+ No se puede iterar sobre un objeto `DelayedReturn`. El siguiente ejemplo da un error:

  ```
  for item in func(): # this raises a NotImplementedError
  ```
+ No se puede hacer referencia a miembros secundarios arbitrarios con `.`. El siguiente ejemplo produce un error:

  ```
  delayed_return.a_child # raises AttributeError
  ```

## Características de canalización existentes que no se admiten
<a name="pipelines-step-decorator-best-unsupported"></a>

No puede usar el decorador `@step` con las siguientes características de canalización:
+ [Almacenamiento en caché de pasos de canalización](https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines-caching.html)
+ [Archivos de propiedades](https://docs.aws.amazon.com/sagemaker/latest/dg/build-and-manage-propertyfile.html#build-and-manage-propertyfile-property)