producer_headers.py 811 B

12345678910111213141516171819202122232425262728293031
  1. # -*- coding: utf-8 -*-
  2. import pika
  3. import sys
  4. import json
  5. user_info = pika.PlainCredentials('user', 'J70e6K7BRrxrU1dO')
  6. connection = pika.BlockingConnection(
  7. pika.ConnectionParameters('rabbitmq.rabbitmq.svc.cluster.local', 5672, '/', user_info)
  8. )
  9. channel = connection.channel()
  10. # 1. 声明 headers 交换机
  11. channel.exchange_declare(exchange='header_logs', exchange_type='headers')
  12. # 2. 构造 headers
  13. headers = {
  14. 'x-version': '1',
  15. 'x-env': 'prod',
  16. 'x-critical': 'true'
  17. }
  18. message = ' '.join(sys.argv[1:]) or 'Hello Headers!'
  19. channel.basic_publish(
  20. exchange='header_logs',
  21. routing_key='', # headers 交换机忽略 routing_key
  22. body=message,
  23. properties=pika.BasicProperties(headers=headers)
  24. )
  25. print(f" [x] Sent {headers} -> {message}")
  26. connection.close()