镜像镜像:25行中的文件到云
如果您对云的应用程序开发感兴趣,那么Minio Server是存储数据的理想选择。如果您只想备份并将一些最重要的文件和图像共享到一个或多个云存储服务,那么Minio Client(mc)就是您的最佳选择。如果您还希望使所有功能都能按您希望的方式工作,则将LiveCode添加到混合中将它们捆绑在一起。此食谱适用于Mac OS X,但由于Minio和LiveCode均支持多个平台,因此可以轻松修改以与Linux和Windows一起使用。
配料:
1个复选框“ miniocheck”
1个复选框“ amazoncheck”
1个字段“转让”
1个字段“输出”
1个图形“硬盘”
1个图形“ offtominio”-用LC绘制的简单箭头
1个图形“ offtoamazon”(可选)—在LC中绘制的简单箭头
镜子有1张图片
minio的1张图片
1个亚马逊图片(可选)
镜像中附加了25行(不包括注释)代码
安装Minio客户端并为Minio“播放”服务器配置密钥。如果您有Amazon S3帐户,则也要将其添加到您的微型配置中。要做起来很简单,只需阅读Minio Client的在线帮助即可。
在LiveCode中创建一个新堆栈,然后将其命名。
导入图形图像作为镜子的控件。在这里您将嵌入代码以接受来自Finder的拖放操作。
再添加两个图像来代表Minio play服务器和您的Amazon S3实例。
添加两个复选框,以提供一些简单的反馈,说明将文件夹拖动到镜像时发生了某些事情。
在窗口中添加一个字段,并将其命名为“输出”。将其设置为滚动字段,以便您可以查看镜像操作的结果。
添加另一个字段并将其命名为“ transfer”。将其设置为不可见。
将脚本附加到镜像:
在dragEnter上,
如果有文件夹,则dragData [“ files”],然后将acceptDrop设置为true
--mirror仅在文件夹上运行-您可以在自己的创意上-
过滤多个文件夹,
将btn“ miniocheck”的名称设置为false
将btn“ amazoncheck”的hilite设置为false。dragDrop上的
dragEnter-
检查
dragData [“ files”]是否为空,是否要删除文件,然后退出
dragDrop-考虑在此处检查是否完整硬盘; 您-可能不想这样做:)
将“将数据镜像到Minio ...”放入fld“传输”中,
将fld“传输”
放入dragData [“ files”
-“ play / yourbucketname”
显示图形“ offtominio”
将“ mc --quiet --json mirror --force” && quote&whatfile&quote &&“ play / mark”放到tDL中。--json允许轻松移至db,并且- -fields
将btn“ miniocheck”的hilite设置为true,
将shell(tDL)置于保留状态,
将“ Mirrored to Minio:”&return&textDecode(hold,“ UTF-8”)置于保留状态
-现在到Amazon。 。
隐藏图形“offtominio”
显示图形“offtoamazon”
放“数据镜像到Amazon ......”到FLD“转移”
在S3 -创建你的水桶和替换“s3marklivecodemc /”与您--bucket名字
放“mc --quiet --json mirror --force“ &&引用&whatfile&引用&&” s3 / marklivecodemc /“到tDL中,
将return和shell(tDL)放入hold1中
将btn“ amazoncheck”的hilite设置为true
隐藏fld“传输”
隐藏图形“ offtoamazon”
放置return&“镜像到亚马逊:”&textDecode(hold1,“ UTF-8”)保持后
放置到fld“输出”
端拖放
为什么不运行自己的内部S3兼容对象存储服务器?Minio平衡了比赛场地。
对于Livecode,您需要添加一些制衡方法,使界面适合您的需求,并考虑使至少一个版本成为拖放应用程序(拖放/启动/执行/退出)。如果您不想使用Shell,可以使用LiveCode Builder和Go的C包装器将Minio API本地导入到LiveCode中。或者,您可以构建一个两阶段的LiveCode应用程序-一个用于执行Shell,另一个用于非阻塞GUI。使用LiveCode添加哈希,压缩和加密,并使用mc和简单管道创建两个因素的链接以安全地共享文件。
一旦掌握了基础知识,您可能还希望使用SQLite或PostgreSQL后端来构建具有良好前端的完整内容系统。