Publication de messages
Émettez ou publiez des messages dans un flux du service de flux.
Dès qu'un flux est créé et actif, vous pouvez publier des messages. Voir Publication d'un message de test dans un flux ou le guide du développeur pour le service de flux pour plus de détails sur la publication et vous familiariser avec le partitionnement, les messages volumineux et l'application de correctifs et de limitation pour obtenir un contexte supplémentaire.
Vous pouvez également utiliser Oracle Cloud Infrastructure Connector Hub pour publier des données dans un flux à partir de services sources pris en charge, tels que la journalisation.
Bien que vous puissiez utiliser la console pour éditer des messages de test dans un flux, vous devez utiliser l'interface de ligne de commande, une API ou une trousse SDK pour alimenter votre flux.
Pour publier des messages à l'aide des SDK pour Oracle Cloud Infrastructure (OCI), voir le guide du développeur pour le service de diffusion en continu.
Si vous tirez parti de la compatibilité Kafka du service de flux, voir Développement avec Kafka et le service de flux.
Vous pouvez également utiliser Oracle Cloud Infrastructure Connector Hub pour publier des données dans un flux à partir de services sources pris en charge, tels que le service de journalisation.
Messages et partitions
Les messages sont publiés dans une seule partition d'un flux. S'il y a plus d'une partition dans le flux, la décision de savoir vers laquelle publier le message dépend du fait que vos producteurs utilisent l'API de diffusion en continu et PutMessages, ou tirent parti de la compatibilité Kafka dans le service de diffusion en continu et de l'utilisation de l'API Kafka.
Si vos producteurs utilisent l'API de diffusion en continu, le partitionnement est traité côté serveur par le service de diffusion en continu. Si vos producteurs utilisent l'API Kafka, le partitionnement est géré côté client par Kafka.
Partitionnement côté serveur
La partition dans laquelle un message est publié est calculée à l'aide de la clé du message. Si la clé est nulle, la partition est calculée à l'aide d'une valeur aléatoire de 16 octets. Vous ne pouvez pas spécifier la partition utilisée par une clé.
Lors de l'envoi d'une clé nulle, le message est placé dans une partition aléatoire. Si un utilisateur publie le même message deux fois, celui-ci peut aller dans différentes partitions, car une nouvelle clé est générée. Ne vous attendez pas à ce que tous les messages avec une clé nulle aillent dans la même partition. Pour garantir que les messages ayant la même valeur aillent dans la même partition, utilisez la même clé pour ces messages.
Pour plus d'informations, voir Publication vers des partitions.
Traitement des messages volumineux
Si vos messages dépassent la limite de 1 Mo, vous pouvez utiliser la fragmentation ou envoyer les messages à l'aide du service de stockage d'objets pour Oracle Cloud Infrastructure.
- Fragmentation : Vous pouvez fractionner les données utiles volumineuses en plusieurs fragments plus petits que le service de diffusion en continu peut accepter. Les fragments sont stockés dans le service de la même manière que les messages ordinaires (non fragmentés). La seule différence est que le consommateur doit conserver les fragments et les combiner dans le message lorsque tous les fragments ont été collectés. Les fragments de la partition peuvent être entrelacés avec des messages ordinaires.
-
Stockage d'objets : Les données utiles volumineuses sont placées dans le service Stockage d'objets et seul le pointeur vers ces données est transféré. Le destinataire reconnaît ce type de données utiles de pointeur, lit de façon transparente les données du service Stockage d'objets et les fournit à l'utilisateur final.
Traitement par lots et limitation
Nous recommandons de traiter les messages par lots pour éviter la limitation et améliorer le débit. La taille d'un lot de messages ne doit pas dépasser 1 Mo. Si cette limite est dépassée, la validation du message échoue.
Le mécanisme de limitation pour PutMessages est activé lorsque les taux d'écriture de données dépassent 1 Mo par seconde par partition. Le nombre d'écritures dans un flux n'est pas limité, tant que vous restez sous le débit de 1 Mo par seconde et par partition.
Pour plus d'informations, voir Limites des ressources de diffusion en continu.
Politique GIA requise
Pour utiliser Oracle Cloud Infrastructure, un administrateur doit être membre d'un groupe auquel l'accès de sécurité est accordé dans une politique par un administrateur de location. Cet accès est requis que vous utilisiez la console ou l'API REST avec une trousse SDK, l'interface de ligne de commande ou un autre outil. Si vous obtenez un message indiquant que vous ne disposez pas de l'autorisation requise, vérifiez auprès de l'administrateur de la location quel type d'accès vous avez et dans quel compartiment votre accès fonctionne.
Pour les administrateurs : La politique sous Permettre aux administrateurs de gérer les ressources de diffusion en continu permet au groupe indiqué de tout faire avec la diffusion en continu et les ressources connexes du service de diffusion en continu.
Pour en savoir plus sur les politiques, voir Aperçu des politiques IAM. Pour plus d'informations sur l'écriture de politiques pour le service de diffusion en continu, voir Informations détaillées sur le service de diffusion en continu dans les informations de référence sur les politiques IAM et Accès aux ressources de diffusion en continu entre des locations.