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次下载

Apache-2.0

25KB
479

Rust Aino.io代理

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目录中。它们按照以下顺序读取

  1. config/default.toml
  2. config/.toml
    • 从RUN_MODE环境变量读取环境。
  3. config/local.toml
    • 这应用于本地测试,不应提交。
  4. 所有以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