igorsgm / laravel-redash
📊 • 一款用于通过 Redash.io APIs 增强您的应用程序的 Laravel 包装器。从您的应用程序中直接提取、分析和利用 Redash 数据!
1.0.2
2024-04-15 22:02 UTC
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.0
- illuminate/contracts: ^10.0
- illuminate/http: *
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
README
在您的 Laravel 应用程序中释放 Redash.io APIs 的力量。此包允许您轻松地在应用程序中提取、分析和利用数据。今天改变您的数据管理!
✨ 功能
- 查询:直接从您的 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
摘要
- Redash API 文档: https://redash.cn/help/user-guide/integrations-and-api/api
查询
// 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)。请参阅 许可证文件 了解更多信息。