otago/remote-asset-download

远程资产下载任务

安装次数: 3,480

依赖项: 0

建议者: 0

安全性: 0

星标: 4

关注者: 5

分支: 1

开放问题: 0

类型:silverstripe-vendormodule

v4.6.6 2021-02-03 03:06 UTC

This package is auto-updated.

Last update: 2024-08-29 04:14:38 UTC


README

从运行 SilverStripe 的远程服务器下载文件

一个任务,从目标服务器下载 assets/* 中的可访问文件

当您想在不进行完整文件快照的情况下将资产更新到开发环境时很有用。这对于大型网站非常有用。

Comparing the two file lists Downloading in progress

安装

  • composer require otago/remote-asset-download
  • 在目标机器上创建一个可以读取和写入您想要同步的资产的用户。此用户还用于在本地机器上以 CLI 模式运行任务。
  • 创建自己的 app/_config/remoteassetssync.yml
  • 更新 app/_config/remoteassetssync.yml 中的新用户的用户名和密码,如下所示
---
Name: RemoteAssetTask
---
OP\RemoteAssetReadFilesController:
  target: https://website.where.filescomefrom
  user: myuserwithfilepermissions@website.org
  password: mysecretpassword
  ignore: 
    - assets/studenthub/
    - assets/staffhub/

用户必须在 SilverStripe 中存在,并且有权访问资产。您可以在 SilverStripe CMS 中将用户限制为特定的文件和文件夹。

如何运行

在本地机器的浏览器中打开 /dev/tasks/OP-RemoteAssetTask

您还可以通过以下方式从命令行运行它

vendor/silverstripe/framework/sake dev/tasks/OP-RemoteAssetTask

工作原理

GraphQL

当您在本地机器上通过 HTTP 加载任务时,一个 AJAX 轮询将要求您的本地机器向目标服务器发送一个 GraphQL 请求。这将返回 assets 中的文件列表。然后,此结果将返回到您的本地机器,然后从目标服务器批量下载这些文件。

注意

  • 当任务开始遇到具有相同名称和 id 的文件时,它将停止。
  • 如果文件具有不同的文件名和相同的 id,它将被覆盖