

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Le sezioni seguenti descrivono le limitazioni da tenere presenti quando utilizzi il decoratore `@step` per le fasi della pipeline.

## Limitazioni degli argomenti delle funzioni
<a name="pipelines-step-decorator-arg"></a>

Quando passi un argomento di input alla funzione decorata con `@step`, si applicano le seguenti limitazioni:
+ Puoi passare come argomenti gli oggetti `DelayedReturn`, `Properties` (di altri tipi di fasi), `Parameter` e `ExecutionVariable` alle funzioni decorate con `@step`. Tuttavia, le funzioni decorate con `@step` non supportano gli oggetti `JsonGet` e `Join` come argomenti.
+ Non puoi accedere direttamente a una variabile della pipeline da una funzione `@step`. L’esempio seguente genera un errore:

  ```
  param = ParameterInteger(name="<parameter-name>", default_value=10)
  
  @step
  def func():
      print(param)
  
  func() # this raises a SerializationError
  ```
+ Non puoi annidare una variabile della pipeline in un altro oggetto e passarla a una funzione `@step`. L’esempio seguente genera un errore:

  ```
  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
  ```
+ Poiché gli input e gli output di una funzione sono serializzati, esistono limitazioni sui tipi di dati che possono essere passati come input o output da una funzione. Per maggiori dettagli, consulta la sezione *Serializzazione e deserializzazione dei dati* di [Invocare una funzione remota](train-remote-decorator-invocation.md). Le stesse limitazioni si applicano alle funzioni decorate con `@step`.
+ Tutti gli oggetti con un client boto non possono essere serializzati, quindi non puoi passare tali oggetti come input o output da una funzione decorata con `@step`. Ad esempio, le classi client SageMaker Python SDK come `Estimator``Predictor`, e non `Processor` possono essere serializzate.

## Importazioni di funzioni
<a name="pipelines-step-decorator-best-import"></a>

Devi importare le librerie richieste dalla fase all’interno e non all’esterno della funzione. Se le importi a livello globale, rischi un conflitto di importazione durante la serializzazione della funzione. Ad esempio, `sklearn.pipeline.Pipeline` potrebbe essere sovrascritto da `sagemaker.workflow.pipeline.Pipeline`.

## Riferimento ai membri secondari del valore restituito dalla funzione
<a name="pipelines-step-decorator-best-child"></a>

Se fai riferimento ai membri secondari di un valore restituito dalla funzione decorata con `@step`, si applicano le seguenti limitazioni:
+ Puoi fare riferimento ai membri secondari utilizzando `[]` se l’oggetto `DelayedReturn` rappresenta una tupla, un elenco o un dict, come mostrato nell’esempio seguente:

  ```
  delayed_return[0]
  delayed_return["a_key"]
  delayed_return[1]["a_key"]
  ```
+ Non puoi decomprimere l’output di una tupla o di un elenco perché la lunghezza esatta della tupla o dell’elenco sottostante non può essere nota quando invochi la funzione. L’esempio seguente genera un errore:

  ```
  a, b, c = func() # this raises ValueError
  ```
+ Non puoi eseguire iterazioni su un oggetto `DelayedReturn`. L’esempio seguente genera un errore:

  ```
  for item in func(): # this raises a NotImplementedError
  ```
+ Non è possibile fare riferimento ai membri secondari arbitrari con “`.`”. L’esempio seguente genera un errore:

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

## Funzionalità delle pipeline esistenti che non sono supportate
<a name="pipelines-step-decorator-best-unsupported"></a>

Non è possibile utilizzare il decoratore `@step` con le funzionalità della pipeline seguenti:
+ [Caching delle fasi della pipeline](https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines-caching.html)
+ [File delle proprietà](https://docs.aws.amazon.com/sagemaker/latest/dg/build-and-manage-propertyfile.html#build-and-manage-propertyfile-property)