快速连接LSports - RabbitMQ
那么您已经开始通过RMQ来应用LSports的服务了,很好的选择!
让我们通过几个简单的步骤让您的连接运行起来.
本指南旨在让您更好地了解LSports支持团队如何及时解决问题,最大程度地减少您的工作量.
分步说明
• 首先,我们强烈建议您使用我们的软件开发工具包(SDK)(目前提供C#语言或PHP版本)进行快速执行,您可以从以下地点下载使用您的首选编程语言写成的文件::
以下示例引用了这些认证信息:
用户名: MyEmail
密码: Passw0rd1234
套餐: 102030
(您应该使用LSports发送给您的认证信息)
注意:以下所有示例都是用C#语言编写的。
如果您选择执行自己的代码,要在获取RMQ库.
请注意, 目前使用的是 RabbitMQ 3.6.5.0版本.
首先,请确保您的软件包通过发送如下所示的应用程序编程接口(API)调用来启动,:
InPlay 软件包:
Prematch 软件包:
回复:
XML Schema:
<xs:schema>
<xs:element name="Message">
<xs:complexType>
<xs:sequence>
<xs:element name="Header">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:short" name="HttpStatusCode"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Body">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="Message"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
JSON Schema:
{
"type": "object",
"properties": {
"Header": {
"type": "object",
"properties": {
"HttpStatusCode": {
"type": "integer"
}
},
"required": [
"HttpStatusCode"
]
},
"Body": {
"type": "object",
"properties": {
"Message": {
"type": "string"
}
},
"required": [
"Message"
]
}
},
"required": [
"Header",
"Body"
]
}
如果软件包已经启用,则消息中应该包含 "Value was already set" (值已设置).
出现任何其他状态或错误消息,请重新检查您的认证信息或与我们联系。
ConnectionFactory connectionFactory = new ConnectionFactory
{
HostName = "Described below",
Port = 5672,
UserName = "MyEmail",
Password = "Passw0rd1234",
AutomaticRecoveryEnabled = true,
VirtualHost = "Customers", //Default value
RequestedHeartbeat = 580,
NetworkRecoveryInterval = TimeSpan.FromSeconds(1)
};
RMQ主机名称:
InPlay: inplay-rmq.lsports.eu
PreMatch: prematch-rmq.lsports.eu
IConnection connection = _connectionFactory.CreateConnection();
IModel model = connection.CreateModel();
model.BasicQos(prefetchSize: 0, prefetchCount: 1000, global: false);
EventingBasicConsumer consumer = new EventingBasicConsumer(model);
consumer.Received += (sender, eventArgs) =>
{
// Deserialize message
// Call method to handle deserialized message
};
开始消息使用:
(确保按照描述使用下划线('_')键入您的软件包身份识别ID) 例如,如果软件包ID是 “102030”
model.BasicConsume(queue: '_102030_', noAck: true, consumer: consumer)
完整的快照请求
由于通过RMQ发送给您的更新只是增量,在开始使用来自LSports的消息之前,您应该请求应接收数据的快照。
您可以通过调用以下API来完成此操作:
可能的错误类型
注意:如果队列中达到10000条未读/未应答消息,消息将被自动清除,而您的软件包将被禁用.
大多数连接尝试失败是由于认证信息不正确或软件包未激活.
以下是最常见的错误和原因:
"Connection failed" - “连接失败” - 请检查连接的详细信息,包括连接工厂、RMQ主机、虚拟主机是否正确输入.
"Access refused"-“拒绝访问” - 请检查您的软件包是否已启用,以及登录认证信息和软件包身份识别ID是否正确输入
要获得我们的数据结构的深入解释,您可以继续阅读我们的文档.
现在,您需要开始根据自己的具体需求订购我们的运动数据.