umich-its-tl / viadutoo
Viadutoo:Caliper事件数据的缓存代理端点
Requires
- php: >=5.4
- eher/oauth: 1.0.7
This package is auto-updated.
Last update: 2024-09-17 23:17:27 UTC
README
关于
Viadutoo(源自葡萄牙语中的“viaduto”,发音为“vee-uh-DOO-too”或IPA:[vi.a.dˈu.tʊ])是一种Caliper事件数据的缓存代理端点。作为一个代理,它的目的是尽可能快地接受来自传感器的Caliper事件有效负载,然后将它们重发到预配置的上游端点。如果上游端点由于某些原因无法接受事件有效负载,缓存功能将事件数据存储在数据库中以供将来处理。
需求
- PHP 5.4或更高版本
- 以下PHP HTTP客户端扩展之一
- curl(通常PHP解释器已经包含此项)
- pecl_http
- Composer(不是强制要求,但强烈推荐)
- 有关安装详情,请参阅:https://getcomposer.org.cn/download/
用法
-
按照以下方式更新项目根目录下的
composer.json
文件-
require
部分应包含以下内容{ "require": { "php": ">=5.4", "umich-its-tl/viadutoo": "1.1.0" } }
-
如果没有指定仓库,Composer将从Packagist(https://packagist.org.cn/packages/umich-its-tl/viadutoo)安装Viadutoo。但是,为了将GitHub仓库指定为源,请在
repositories
部分包含以下内容{ "repositories": [ { "type": "vcs", "url": "https://github.com/tl-its-umich-edu/viadutoo" } ] }
这是指定您自己的仓库的一种方法,例如,如果您想修改自己的Viadutoo分支。您需要指定您自己的仓库的URL。
-
-
使用以下命令使用Composer安装包
composer install
Composer将创建
vendor
目录以保存该包和其他相关信息。 -
Composer将创建PHP类来帮助您将Viadutoo(以及它加载的任何其他包)加载到您的应用程序中。在您的PHP代码中,您可以像这样使用它
/* * If necessary, use set_include_path() to ensure the directory * containing the "vendor" directory is in the PHP include path. */ require_once 'vendor/autoload.php'; // Composer loader for Viadutoo, etc.
-
像这样在您的PHP代码中初始化和使用Viadutoo
$proxy = (new MessageProxy()) ->setTransportInterface( (new CurlTransport()) // Recommended transport with cURL, supports Basic Auth and OAuth 1.0 ->setAuthZType(CurlTransport::AUTHZ_TYPE_OAUTH1, 'OAuth 1.0 key', 'OAuth 1.0 secret') // Optional authZ ) ->setEndpointUrl('http://example.com/endpoint') ->setTimeoutSeconds(10) ->setAutostoreOnSendFailure(true) ->setStorageInterface( new MysqlStorage( 'mysql.example.org', 'dbUser', 'dbPassword', 'dbName', 'viadutoo_events' ) ); // ... try { $proxy ->setHeaders($headers) ->setBody($jsonBody) ->send(); } catch (Exception $exception) { error_log($exception->getMessage()); }
有关在应用程序中使用Viadutoo的更详细示例,请参阅
public/index.php
。
示例
一个示例应用程序包含在public
目录中。执行方式如下
cd public
php -S 127.0.0.1:8989
该应用程序被编写为将所有数据发送到http://lti.tools/caliper/event?key=viadutoo
。只需配置Caliper传感器将事件发送到http://127.0.0.1:8989/
,它们将被发送到lti.tools
端点。