pika详解(五)登录认证及connectionParameters

pika
登录认证

使用Pika进行身份验证,需要创建一个PlainCredentials 传递用户名和密码的对象,并将其作为凭证参数值传递给ConnectionParameters

class pika.credentials.PlainCredentials(username, password,erase_on_connect =False)
 

erase_on_connect 在连接后清除用户名密码,PlainCredentials 中是以明文记录用户名密码的, 默认是不清除

异常类:

exception pika.exceptions.AMQPChannelError
exception pika.exceptions.AMQPConnectionError
exception pika.exceptions.AMQPError
exception pika.exceptions.AMQPHeartbeatTimeout
exception pika.exceptions.AuthenticationError
exception pika.exceptions.BodyTooLongError
exception pika.exceptions.ChannelClosed(reply_code, reply_text)
exception pika.exceptions.ChannelClosedByBroker(reply_code, reply_text)
exception pika.exceptions.ChannelClosedByClient(reply_code, reply_text)
exception pika.exceptions.ChannelError
exception pika.exceptions.ChannelWrongStateError
exception pika.exceptions.ConnectionBlockedTimeout
exception pika.exceptions.ConnectionClosedByBroker(reply_code, reply_text)
exception pika.exceptions.ConnectionClosedByClient(reply_code, reply_text)
exception pika.exceptions.ConnectionOpenAborted
exception pika.exceptions.ConnectionWrongStateError
exception pika.exceptions.ConsumerCancelled
exception pika.exceptions.DuplicateConsumerTag
exception pika.exceptions.DuplicateGetOkCallback
exception pika.exceptions.IncompatibleProtocolError
exception pika.exceptions.InvalidChannelNumber
exception pika.exceptions.InvalidFieldTypeException
exception pika.exceptions.InvalidFrameError
exception pika.exceptions.MethodNotImplemented
exception pika.exceptions.NackError(messages)
exception pika.exceptions.NoFreeChannels
exception pika.exceptions.ProbableAccessDeniedError
exception pika.exceptions.ProbableAuthenticationError
exception pika.exceptions.ProtocolSyntaxError
exception pika.exceptions.ProtocolVersionMismatch
exception pika.exceptions.ReentrancyError
exception pika.exceptions.ShortStringTooLong
exception pika.exceptions.StreamLostError
exception pika.exceptions.UnexpectedFrameError
exception pika.exceptions.UnroutableError(messages)
exception pika.exceptions.UnsupportedAMQPFieldException
 

连接参数

连接参数主要是在是使用ConnectionParametersURLParameters

connectionParameters定义简化为:

class ConnectionParameters(Parameters):
def __init__(self,
host=_DEFAULT,
port=_DEFAULT,
virtual_host=_DEFAULT,
credentials=_DEFAULT,
channel_max=_DEFAULT,
frame_max=_DEFAULT,
heartbeat=_DEFAULT,
ssl_options=_DEFAULT,
connection_attempts=_DEFAULT,
retry_delay=_DEFAULT,
socket_timeout=_DEFAULT,
stack_timeout=_DEFAULT,
locale=_DEFAULT,
blocked_connection_timeout=_DEFAULT,
client_properties=_DEFAULT,
tcp_options=_DEFAULT,
**kwargs)
 

参数默认值都是一个_DEFAULT的类, 这个将映射对应的默认值到对应的参数

参数说明:

  1. host

    DEFAULT_HOST = ‘localhost’

  2. port

    DEFAULT_PORT = 5672

  3. virtual_host

    DEFAULT_VIRTUAL_HOST = ‘/’

  4. credentials

    认证参数:

    默认值:DEFAULT_CREDENTIALS = pika.credentials.PlainCredentials(DEFAULT_USERNAME, DEFAULT_PASSWORD)

    DEFAULT_USERNAME = ‘guest’
    DEFAULT_PASSWORD = ‘guest’

  5. channel_max

    最大通道数

    DEFAULT_CHANNEL_MAX = pika.channel.MAX_CHANNELS

  6. frame_max

    要使用的所需最大AMQP帧大小

    DEFAULT_FRAME_MAX = spec.FRAME_MAX_SIZE

  7. heartbeat

    心跳, 0 为关闭。连接调整期间协商的AMQP连接心跳超时值或连接调整期间调用的可调用值

    DEFAULT_HEARTBEAT_TIMEOUT = None # None accepts server’s proposal

  8. ssl_options

    传入值pika.SSLOptions

    DEFAULT_SSL_OPTIONS = None

  9. connection_attempts

    套接字连接尝试次数

    DEFAULT_CONNECTION_ATTEMPTS = 1

  10. retry_delay

    套接字连接尝试重连间隔

    DEFAULT_RETRY_DELAY = 2.0

  11. socket_timeout

    DEFAULT_SOCKET_TIMEOUT = 10.0 # socket.connect() timeout

  12. stack_timeout

    套接字连接尝试间隔 , None为禁用

    DEFAULT_STACK_TIMEOUT = 15.0 # full-stack TCP/[SSl]/AMQP bring-up timeout

  13. locale

    DEFAULT_LOCALE = ‘en_US’

  14. blocked_connection_timeout

    阻塞的超时时间,默认不超时

    DEFAULT_BLOCKED_CONNECTION_TIMEOUT = None

  15. client_properties

    客户端属性,用于覆盖通过Connection.StartOk 方法向RabbitMQ报告的默认客户端属性中的字段,

    字典类型/None

    DEFAULT_CLIENT_PROPERTIES = None

  16. tcp_options

    DEFAULT_TCP_OPTIONS = None

其他:

DEFAULT_SSL = False
DEFAULT_SSL_PORT = 5671

URLParameters

这里不做详细介绍,具体可参考官方

例如:

parameters = pika.URLParameters('amqp://guest:guest@rabbit-server1:5672/%2F')
 

pika详解(五)登录认证及connectionParameters的更多相关文章

  1. pika详解 (一)

    pika详解 (一) 本文链接:https://blog.csdn.net/comprel/article/details/94592316 pika pika处理消息可以简单分为以下几个步骤: 我们 ...

  2. pika详解(二) BlockingConnection

    pika详解(二) BlockingConnection   本文链接:https://blog.csdn.net/comprel/article/details/94592348 版权 Blocki ...

  3. .NET DLL 保护措施详解(五)常规条件下的破解

    为了证实在常规手段破解下能有效保护程序核心功能(演示版本对AES加解密算法及数据库的密钥(一段字符串)进行了保护),特对此DLL保护思路进行相应的测试,包含了反编译及反射测试,看是否能得到AES加解密 ...

  4. 转:Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。

    原文来自于:http://www.ituring.com.cn/article/128439 Windows下的PHP开发环境搭建——PHP线程安全与非线程安全.Apache版本选择,及详解五种运行模 ...

  5. python设计模式之迭代器与生成器详解(五)

    前言 迭代器是设计模式中的一种行为模式,它提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示.python提倡使用生成器,生成器也是迭代器的一种. 系列文章 python设计模 ...

  6. pika详解(四) channel 通道

    pika详解(四) channel 通道   本文链接:https://blog.csdn.net/comprel/article/details/94662394 版权 ​ channel通道 通道 ...

  7. pika详解(三)SelectConnection及其他Connection

    pika详解(三)SelectConnection及其他Connection   本文链接:https://blog.csdn.net/comprel/article/details/94661147 ...

  8. 第十五节,卷积神经网络之AlexNet网络详解(五)

    原文 ImageNet Classification with Deep ConvolutionalNeural Networks 下载地址:http://papers.nips.cc/paper/4 ...

  9. View绘制详解(五),draw方法细节详解之View的滚动/滑动问题

    关于View绘制系列的文章已经完成了四篇了,前面四篇文章主要带小伙伴们熟悉一下View的体系的整体框架.View的测量以及布局等过程,从本篇博客开始,我们就来看看View的绘制过程.View的绘制涉及 ...

随机推荐

  1. Django 入门范例

    1. Django 介绍 2. Django 环境搭建 3. 模型(Model) 4. 站点管理 5. 视图(View) 6. 模板(Template) 1. Django 介绍 MVC 模型 大部分 ...

  2. k8s service NodePort 方式向外发布

    k8s service NodePort 方式向外发布 k8s 无头service 方式向内发布 k8s service 服务发现 {ServiceName}.{Namespace}.svc.{Clu ...

  3. 【JavaScript】Leetcode每日一题-组合总和4

    [JavaScript]Leetcode每日一题-组合总和4 [题目描述] 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target .请你从 nums 中找出并返回总和为 targ ...

  4. 浅谈src与href的区别

    src 和 href 都是用来引入外部资源的属性,例如:图片.视频.CSS 文件.JavaScript 文件等. 那么它们两者之间究竟有什么样的区别呢? <link href="sty ...

  5. Elasticsearch exception [type=mapper_parsing_exception, reason=No type specified for field [X]

    可能原因是实体类属性没有指定映射类型 创建mapping时需要指定field的type,如果不指定则报错 错误 //这是一个类中的字段 @Field(store = false) private St ...

  6. Linux安装Redis报错`cc:命令未找到`

    缺少gcc和gcc-c++的编译环境,安装即可. 可以联网情况下使用命令 yum install gcc yum install gcc-c++ 然后清理原来的残余文件 make distclean ...

  7. ThinkPHP5查询-select与find理解

    出现问题 在tp5框架中判断select查询结果是否为空时,无论查询条件是否满足,判断查询结果都不为空 解析问题 select查询的是多条数据,若查询数据为空,则返回一个空的二维数组 array(ar ...

  8. 腾讯暑期 前后七面 + hr(已拿offer面经)

    以下是时间线 魔方 魔术师工作室 3.19 一面(120mins) c++ struct和union区别? 指针和引用的区别? 左值和右值? 字节对齐的作用? 什么情况下需要自定义new? mallo ...

  9. 使用DevExpress的GridControl实现多层级或无穷级的嵌套列表展示

    在我早期的随笔<在GridControl表格控件中实现多层级主从表数据的展示>中介绍过GridControl实现二级.三级的层级列表展示,主要的逻辑就是构建GridLevelNode并添加 ...

  10. .NET之API版本控制

    1. 优点 有助于保护原有系统,不受影响,并及时修改问题 可以实现用户的私人定制(比如是付费接口) 快速迭代 2. API版本控制 在URL中追加版本或者作为查询字符串参数 通过自动以标头和通过接受标 ...