der-spiegel / amendo-client
OneVision Amendo 的 PHP 客户端 https://www.onevision.com/solutions/image-editing/amendo/
Requires
- php: >=8.2 <8.4
- ext-dom: *
- guzzlehttp/guzzle: >=6.3 <8.0
- psr/log: >=1.1
Requires (Dev)
- monolog/monolog: ^3.4
README
OneVision Amendo 是一款自动图像增强软件。此 PHP 客户端库使用其 REST API。
这不是 OneVision 供应商提供的官方库。它是在德国 SPIEGEL Gruppe 的 WoodWing Assets 项目中开发的,时间为 2020 年。
安装
使用 Composer 将此库添加到您的项目 composer.json 文件中
$ composer require der-spiegel/amendo-client
开发此库
如果您想帮助开发此库,以下是开始的方法(需要 Docker)
使用 Composer 安装依赖项
$ docker run --rm --interactive --tty \
--volume $PWD:/app \
--volume ${COMPOSER_HOME:-$HOME/.composer}:/tmp \
composer/composer install
使用此库
可以通过设置环境变量 AMENDO_SERVER
为 Amendo 服务器基础 URL,AMENDO_ASSEMBLYLINE
为 Amendo 集成线名称,AMENDO_FILEPATH
为要由集成线处理的文件路径来直接使用 UsageExample.php
示例脚本。
该脚本将使用指定的集成线为指定的文件创建一个新作业。一些自定义作业和文件属性随作业票提交到 Amendo 服务器,可用于配置集成线中使用的模块。
对于更高级的使用,请复制 UsageExample.php
示例文件
$ cp UsageExample.php MyExample.php
并相应地修改复制的文件。
示例源代码解释
创建一个指向 Amendo 服务器的 AmendoConfig 对象
$amendoConfig = new AmendoConfig($amendoServerUrl);
使用 AmendoConfig 对象创建一个 AmendoClient 对象
$amendoClient = new AmendoClient($amendoConfig, $logger);
创建一个 SimpleJobTicket 对象
$jobTicket = new SimpleJobTicket();
可选:设置作业名称
如果没有设置作业名称,则使用生成的作业名称。
$jobTicket->setJobName('Test-' . time());
设置要使用的集成线
$jobTicket->setAssemblyLineReference($assemblyLine);
可选:设置作业优先级
如果没有设置优先级,则不向 Amendo 服务器提交优先级。
$jobTicket->setJobPriority(60);
可选:将作业属性添加到作业中
$jobTicket->setStringProperty('Custom', 'AString', 'Text'); $jobTicket->setBooleanProperty('Custom', 'ABool', true); $jobTicket->setIntegerProperty('Custom', 'AnInteger', 42); $jobTicket->setFloatProperty('Custom', 'AFloat', 0.815);
每个方法调用的第一个参数指定要添加属性的列表名称。第二个参数指定属性名称,第三个参数指定其值。
第一行添加一个字符串类型的属性,第二行添加一个布尔类型的属性,第三行添加一个整数类型的属性,第四行添加一个浮点类型的属性到作业属性中。
将一个或多个文件添加到作业的运行列表中
用于
$file = $jobTicket->addFile($filePath);
常规本地文件或
$file = $jobTicket->addUri($filePath);
文件 URI 或
$file = $jobTicket->addDownloadUri($filePath);
下载 URI。
可选:将文件属性添加到添加的文件中
$file->setStringProperty('Custom', 'AString', 'FileText'); $file->setBooleanProperty('Custom', 'ABool', false); $file->setIntegerProperty('Custom', 'AnInteger', 15); $file->setFloatProperty('Custom', 'AFloat', 3.1415);
有关详细信息,请参阅作业属性。
将 SimpleJobTicket 提交给 Amendo 服务器。
$jobId = $amendoClient->startJobTicket($jobTicket);
如果成功,Amendo 服务器返回一个正的 $jobId
。
如果出错,则抛出异常或 Amendo 服务器返回 0
。
可选:查询作业概览
$result = $amendoClient->getJobOverview($jobId);
返回一个数组,其内容取决于作业的当前状态。
然后运行您的副本
$ docker run -it --rm --name amendo-client-example \
--volume "$PWD":/usr/src/myapp --workdir /usr/src/myapp \
php:8.3-cli php MyExample.php
作者
许可证
此库根据 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE
文件。