Suspendre et reprendre la livraison des données - Amazon Data Firehose

La diffusion de flux Amazon Data Firehose vers les tables Apache Iceberg dans Amazon S3 est en version préliminaire et peut faire l'objet de modifications.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Suspendre et reprendre la livraison des données

Une fois que vous avez configuré un flux Firehose, les données disponibles dans la source du flux sont continuellement transmises à la destination. Si la destination de votre flux est temporairement indisponible (par exemple, lors d'opérations de maintenance planifiées), vous pouvez interrompre temporairement la transmission des données et la reprendre lorsque la destination redevient disponible.

Important

Lorsque vous utilisez l'approche décrite ci-dessous pour suspendre et reprendre un flux, après la reprise du flux, vous constaterez que peu d'enregistrements sont envoyés au compartiment d'erreur d'Amazon S3, tandis que le reste du flux continue d'être livré à destination. Il s'agit d'une limite connue de l'approche, qui est due au fait qu'un petit nombre d'enregistrements qui n'ont pas pu être livrés à destination auparavant après plusieurs tentatives sont considérés comme ayant échoué.

Suspendre un stream Firehose

Pour suspendre la diffusion de flux dans Firehose, supprimez d'abord les autorisations permettant à Firehose d'écrire sur l'emplacement de sauvegarde S3 en cas d'échec de diffusion. Par exemple, si vous souhaitez suspendre le stream Firehose avec une OpenSearch destination, vous pouvez le faire en mettant à jour les autorisations. Pour plus d'informations, voir Accorder à Firehose l'accès à une destination de OpenSearch service public.

Supprimez l'autorisation "Effect": "Allow" pour l'action s3:PutObject, et ajoutez explicitement une instruction qui applique l'autorisation Effect": "Deny" sur l'action s3:PutObject pour le compartiment S3 utilisé pour sauvegarder les diffusions qui ont échoué. Ensuite, désactivez la destination du flux (par exemple, désactivez le OpenSearch domaine de destination) ou supprimez les autorisations permettant à Firehose d'écrire sur la destination. Pour mettre à jour les autorisations pour d'autres destinations, consultez la section relative à votre destination dans Contrôler l'accès avec Amazon Data Firehose. Une fois ces deux actions effectuées, Firehose cessera de diffuser des streams, et vous pourrez surveiller cela à l'aide des CloudWatch métriques de Firehose.

Important

Lorsque vous suspendez la diffusion d'un flux dans Firehose, vous devez vous assurer que la source du flux (par exemple, dans Kinesis Data Streams ou dans Managed Service for Kafka) est configurée pour conserver les données jusqu'à ce que la diffusion du flux reprenne et que les données soient livrées à la destination. Si la source est DirectPUT, Firehose conservera les données pendant 24 heures. Une perte de données peut se produire si vous ne reprenez pas le flux et ne diffusez pas les données avant l'expiration de la période de conservation des données.

Reprendre un stream Firehose

Pour reprendre la diffusion, annulez d'abord la modification apportée précédemment à la destination du flux en activant la destination et en vous assurant que Firehose dispose des autorisations nécessaires pour diffuser le flux vers la destination. Ensuite, annulez les modifications apportées précédemment aux autorisations appliquées au compartiment S3 pour la sauvegarde des diffusions ayant échoué. En d'autres termes, appliquez l'autorisation "Effect": "Allow" pour l'action s3:PutObject, et supprimez l'autorisation "Effect": "Deny" sur l'action s3:PutObject pour le compartiment S3 utilisé pour sauvegarder les diffusions qui ont échoué. Enfin, surveillez l'utilisation de CloudWatch métriques pour Firehose afin de confirmer que le flux est envoyé à destination. Pour consulter et résoudre les erreurs, utilisez le système de surveillance Amazon CloudWatch Logs pour Firehose.