6个稳定版本
3.1.0 | 2020年3月27日 |
---|---|
3.0.1 | 2020年3月27日 |
2.1.0 | 2020年3月26日 |
1.0.0 | 2020年3月24日 |
#1190 in 数据库接口
每月 21次下载
25KB
479 行
Rust Aino.io代理
Rust实现的Aino.io日志代理。
Aino.io是什么,这个代理与它有什么关系?
Aino.io是一个用于集成企业应用程序和数字业务流程的分析和监控工具。Aino.io可以帮助组织管理、开发和运行日常业务的数字部分。更多内容请参阅我们的网页。
Aino.io通过分析企业应用程序和其他软件组件之间的交易来工作。该代理通过使用Aino.io数据API(版本2.0)帮助将交易数据存储到Aino.io平台。有关API的详细信息,请参阅API文档。
技术要求
- Rust 1.39
1. 使用方法
将其添加到您的 Cargo.toml
[dependencies]
ainoio-agent = "1.0"
现在,您可以使用ainoio-agent
use ainoio_agent;
2. 配置代理
代理通过TOML配置文件进行配置。以下是一个示例。
let config = ainoio_agent::AinoConfig::new().expect("Failed to load aino configuration");
配置文件示例
[connection]
url = "https://data.aino.io/rest/v2/transaction"
api_key = "<your api key here>"
send_interval = 1000
配置文件放置在config目录中。它们按照以下顺序读取
- config/default.toml
- config/.toml
- 从RUN_MODE环境变量读取环境。
- config/local.toml
- 这应用于本地测试,不应提交。
- 所有以AINO开头的环境变量。
3. 向Aino.io发送请求
示例
通过创建一个 Transaction
对象并将其传递给代理来执行日志记录
use ainoio_agent;
use std::time::SystemTime;
// Load the configuration
let config = ainoio_agent::AinoConfig::new()?;
// Start the Aino agent
// This must be called exactly once before any transactions are sent
ainoio_agent::start(config)?;
let timestamp = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap();
// Create transaction object
let mut transaction = ainoio_agent::Transaction::new("SAP".to_string(),
"Card Management".to_string(), "Payment".to_string(), ainoio_agent::Status::Success,
timestamp.as_millis(), "1249F41E55A1123FB".to_string());
transaction.message = Some("Data transfer successful.".to_string());
transaction.payload_type = Some("Product Update".to_string());
let metadata = ainoio_agent::TransactionMetadata::new("Card API".to_string(), "https://somecardsystem.com".to_string());
transaction.add_metadata(metadata);
let id = ainoio_agent::TransactionId::new("OrderId".to_string(), vec!["123456".to_string(), "xxasd".to_string()]);
transaction.add_id(id);
// Add the transaction into the queue, it will be sent after `send_interval' has elapsed at the latests
ainoio_agent::add_transaction(transaction).expect("Failed to add transaction to the send queue.");
许可证
版权所有 © 2020 Aino.io。在Apache 2.0许可证下授权。
依赖项
~12MB
~239K SLoC