L'invio di job da una versione dell'SDK successiva alla data supportata comporta interruzioni e una riduzione del throughput per i job batch o di streaming a esecuzione prolungata. Per ridurre i potenziali problemi, procedi nel seguente modo:
- Esegui l'upgrade della versione dell'SDK (preferito)
- Invia di nuovo il job utilizzando un token temporaneo
- Riprendere il job interrotto
Per un elenco di tutte le versioni dell'SDK disponibili, consulta la pagina sullo stato del supporto.
Avvio di job con versioni dell'SDK non supportate
Quando invii un job Dataflow da una versione dell'SDK successiva alla data di supporto, ricevi un messaggio di errore che ti invita a eseguire l'upgrade della versione dell'SDK o a utilizzare un token temporaneo quando invii il job.
Il valore del token nel messaggio di errore contiene la data e l'ora di scadenza del token, nonché il token stesso. La data di scadenza è impostata su due settimane nel futuro.
Se vuoi utilizzare il token, invia nuovamente il job utilizzando il
flag unsupported_sdk_temporary_override_token dell'esperimento e il valore del token.
--experiments=unsupported_sdk_temporary_override_token=TOKEN
Se invii un job utilizzando il token dopo la scadenza, riceverai un messaggio di errore diverso che ti informa dello stato di scadenza. Puoi eseguire l'upgrade a una versione dell'SDK supportata o inviare di nuovo il job senza il token per ottenerne uno nuovo.
I token vengono applicati a livello di singolo job, quindi se hai più job pianificati, ognuno deve utilizzare un token univoco.
I token non devono essere utilizzati come metodo permanente per continuare a utilizzare un SDK non supportato. Dopo la data di fine del supporto di un SDK, tutti i token vengono revocati e tutti i job che utilizzano la versione non supportata dell'SDK vengono rifiutati. Per maggiori informazioni sullo stato del supporto di ogni SDK, consulta la sezione Stato del supporto delle versioni degli SDK.
Ripresa dei job interrotti
Anche i job Dataflow a lunga esecuzione che utilizzano SDK non supportati, come i job di streaming, vengono interrotti e la loro velocità effettiva viene ridotta in modo significativo. Puoi identificare questi job interrotti utilizzando il seguente messaggio di errore nei log dei job:
Il flusso di lavoro è stato interrotto automaticamente dal servizio perché utilizza una versione non supportata dell'SDK Apache Beam per Python 2.3.0. Esegui l'upgrade all'ultima versione dell'SDK. Per riprendere temporaneamente il job interrotto, utilizza
gcloud alpha dataflow jobs resume-unsupported-sdk --token=TOKEN --region=REGION JOB_ID. Tieni presente che il job ripreso da questo token verrà nuovamente interrotto il giorno 2020-08-28T11:21:58-07:00. Per un elenco delle versioni dell'SDK supportate, visita la pagina https://cloud.google.com/dataflow/docs/support/sdk-version-support-status.
Come suggerisce l'errore, puoi mitigare l'interruzione utilizzando il comando resume-unsupported-sdk. La ripresa di un job interrotto è una soluzione temporanea. Esegui l'upgrade della versione dell'SDK per evitare ulteriori azioni di ritiro.
I job ripresi in precedenza tornano allo stato interrotto dopo la scadenza del token temporaneo. Puoi riprendere qualsiasi interruzione futura nello stesso modo. Tuttavia, i job in esecuzione su versioni dell'SDK non supportate possono essere annullati automaticamente in un momento successivo alla data di mancato supporto.