igorsgm/laravel-redash

📊 • 一款用于通过 Redash.io APIs 增强您的应用程序的 Laravel 包装器。从您的应用程序中直接提取、分析和利用 Redash 数据!

1.0.2 2024-04-15 22:02 UTC

This package is auto-updated.

Last update: 2024-09-15 23:03:55 UTC


README

在您的 Laravel 应用程序中释放 Redash.io APIs 的力量。此包允许您轻松地在应用程序中提取、分析和利用数据。今天改变您的数据管理!

Latest Version on Packagist GitHub Tests Action Status Test Coverage Code Quality Total Downloads

✨ 功能

  • 查询:直接从您的 Laravel 应用程序中轻松创建、编辑或存档查询对象。该包返回分页的查询对象数组,并支持提取单个查询对象。
  • 查询结果:轻松启动新的查询执行或返回缓存结果。通过提供的方法处理参数化查询和管理最大缓存年龄以绕过缓存。
  • 仪表板:无缝创建、编辑或存档仪表板对象。直接从您的 Laravel 应用程序获取仪表板对象数组或单个对象。
  • 作业:有效监控您的查询任务状态。

1️⃣ 安装

  • 您可以通过 composer 安装此包
composer require igorsgm/laravel-redash
  • 您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="laravel-redash-config"

2️⃣ 使用

在您的 .env 文件中定义 Redash API 凭据。例如:

REDASH_BASE_URL=foo:bar
REDASH_API_KEY=12345678900987654321

摘要

查询

// Returns a paginated array of query objects.
Redash::queries()->all();

// Returns an individual query object.
Redash::queries()->get($queryId);

// Create a new query object.
Redash::queries()->create([
    'name' => 'My Query',
    'data_source_id' => 1,
    'query' => 'SELECT * FROM table',
    'description' => 'My Query Description',
    // ...
]);

// Edit an existing query object.
Redash::queries()->update($queryId, [
    'name' => 'My New Query Name',
    // ...
]);

// Archive an existing query.
Redash::queries()->delete($queryId);

// Get a cached result for this query ID
Redash::queries()->getCachedResult($queryId);

// Initiates a new query execution or returns a cached result.
Redash::queries()->executeOrGetResult($queryId, [
    'parameters' => [
        'foo' => 'bar',
    ],
    'max_age' => 0,
]);
  • 执行查询并在准备好后返回其结果(自定义方法)。
// The maximum age (in milliseconds) of a cached result that the method should return.
// If a cached result is older than this, a new query execution will begin.
// Set to `0` to always start a new execution.
$maxAge = 1800;

// The number of times to retry the query execution if it is still in progress.
$retryAttempts = 20;

Redash::queries()->getResult($queryId, [
    'foo' => 'bar',
], $maxAge, $retryAttempts);

查询结果

// Returns a query result
Redash::queryResults()->get($queryResultId);

仪表板

Redash::dashboards()->all();
Redash::dashboards()->get($dashboardId);
Redash::dashboards()->create([
    // ...
]);
Redash::dashboards()->update($dashboardId, [
    // ...
]);
Redash::dashboards()->delete($dashboardId);

作业

Redash::jobs()->get($jobId);

测试

composer test

变更日志

请参阅 CHANGELOG 了解最近更改的信息。

贡献

请参阅 CONTRIBUTING 了解详细信息。

安全性

如果您发现任何与安全相关的问题,请通过电子邮件 igor.sgm@gmail.com 而不是使用问题跟踪器来报告。

鸣谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。