L'envoi de tâches à partir d'une version du SDK dont la date de fin de compatibilité est échue entraîne des interruptions et une réduction du débit pour les tâches de longue durée traitées par lot ou par flux. Pour minimiser les problèmes potentiels, plusieurs solutions s'offrent à vous :
- Mettre à niveau la version de SDK. (solution à privilégier)
- Envoyer à nouveau la tâche à l'aide d'un jeton temporaire.
- Reprendre la tâche interrompue.
Démarrer des tâches avec des versions non compatibles du SDK
Lorsque vous envoyez une tâche Dataflow à partir d'une version du SDK dont la date de fin de compatibilité est échue, vous recevez un message d'erreur vous invitant à mettre à jour votre version du SDK ou à utiliser un jeton temporaire lorsque vous envoyez la tâche.
La valeur du jeton incluse dans le message d'erreur contient, outre le jeton proprement dit, la date et l'heure d'expiration du jeton. La date d'expiration échoit deux semaines plus tard.
Si vous souhaitez utiliser le jeton, envoyez à nouveau la tâche en utilisant l'option de test unsupported_sdk_temporary_override_token
et la valeur du jeton fournie.
--experiments=unsupported_sdk_temporary_override_token=TOKEN
Si vous envoyez une tâche en utilisant le jeton après son expiration, vous recevrez un autre message d'erreur indiquant que le jeton a expiré. Vous pouvez soit effectuer une mise à niveau vers une version du SDK compatible, soit envoyer à nouveau la tâche sans jeton afin d'obtenir un nouveau jeton.
Les jetons ne doivent pas être utilisés pour continuer à utiliser indéfiniment une version non compatible du SDK. Quelque temps après la fin de compatibilité d'une version du SDK, tous les jetons sont révoqués et toutes les tâches utilisant cette version sont refusées. Pour plus d'informations sur l'état de la compatibilité de chaque version du SDK, consultez la page État de la compatibilité des versions du SDK.
Reprendre les tâches interrompues
Les tâches Dataflow de longue durée, telles que les tâches de traitement par flux, si elles utilisent des versions non compatibles du SDK, sont également interrompues et voient leur débit considérablement réduit. Ces tâches interrompues peuvent être identifiées grâce au message d'erreur suivant dans leurs journaux :
Le workflow a été automatiquement interrompu par le service, car il utilise un SDK Apache Beam SDK pour Python 2.3.0 incompatible. Veuillez installer la dernière version du SDK. Pour reprendre temporairement la tâche interrompue, veuillez utiliser
gcloud alpha dataflow jobs resume-unsupported-sdk --token=TOKEN --region=REGION JOB_ID
. Notez que la tâche réactivée par ce jeton sera de nouveau interrompue le 2020-08-28T11:21:58-07:00. Pour obtenir la liste des versions compatibles du SDK, consultez la page https://cloud.google.com/dataflow/support#support-status-for-dataflow-sdk-releases.
Comme l'indique l'erreur, l'interruption peut être minimisée à l'aide de la commande resume-unsupported-sdk. La reprise d'une tâche interrompue est une solution temporaire. Nous vous recommandons de mettre à niveau votre version du SDK afin d'éviter d'avoir plus tard à gérer l'abandon de la version.