这一章向您介绍了如何快速创建REST api SFTP, AWS S3,更多使用DreamFactory平台。
创建一个SFTP REST API
SFTP (SSH文件传输协议)是安全的FTP,能够传输数据安全Shell (SSH)数据流。尽管媒体热点关注文件服务Dropbox和AWS S3, SFTP-based文件传输仍然不可或缺的大大小小的IT基础架构的一部分。但将SFTP功能整合为一个web应用程序或系统管理脚本可以是一个真正的阻力。幸运的是您可以使用DreamFactory轻松地创建一个功能齐全的REST API为您SFTP服务器。这个API可以执行所有的标准与SFTP服务器相关的任务,包括:
- 创建、清单,更新和删除文件夹
- 清单,创建、检索、更新和删除文件
在本教程中我们将向您展示如何配置DreamFactory SFTP连接器,然后走过几个用法示例。
文档生成SFTP API和伴侣
生成SFTP API,登录DreamFactory和点击服务
选项卡,然后单击创建
位于左边的页面的链接。点击选择服务类型
下拉菜单,导航到文件
类别,并选择SFTP文件存储
:
会提示您提供一个API名称、标签和描述。请记住这个名字必须小写字母和字母数字,因为它将被用作生成的API中的名称空间URI结构。标签和描述用于参考目的在管理控制台所以你免费标题这些当你请:
接下来,单击配置
选项卡。在那里,你将会供应SFTP服务器连接的凭证。然而只有5必填字段:
- 主机:SFTP服务器主机名或IP地址。
- 港口:SFTP服务器端口。这个默认为22。
- 用户名:连接帐户的用户名。
- 密码:连接帐户密码。
- 根文件夹:指定SFTP账户根目录。
其他字段(超时,主机指纹,私钥)并不总是需要的,取决于您的特定SFTP服务器的配置。
保存您的更改后,前往API文档
选项卡来查看生成的文档。你会看到一个13生成端点列表:
列出目录内容
如果您确定的根目录配置过程中已经包含几个文件和/或目录,点击列出文件夹的内容,包括属性
端点和新闻试试
。这样做将使所有支持的参数对于这个端点,允许您的实验。向下滚动到folder_path
参数,将其设置为/
,按执行
。应该会看到类似于下面的输出:
{“资源”:[{“路径”:“营销/”、“类型”:“文件夹”、“名称”:“营销”、“last_modified”:“星期二,2019年7月23日格林尼治时间15:31:31”},{“路径”:“操作/”、“类型”:“文件夹”、“名称”:“操作”、“last_modified”:“星期二,2019年7月23日格林尼治时间15:31:20”}]}
创建一个文件夹
创建一个文件夹,您可以使用两个端点之一:
POST /创建一些文件夹和/或文件
POST / {folder_path} /创建一个文件夹和/或添加内容
这些端点是相同的功能,但其URI签名不同,所以你可以选择一种取决于所需的方法。让我们开始创建一个空的文件夹。为此,单击POST /创建一些文件夹和/或文件
端点在API文档,按下试试
按钮,输入文件夹名称X-Folder-Name
字段。在folder_path
字段输入目的地的路径,如/
。新闻执行
和文件夹将被创建201年
响应代码返回一个响应的身体看起来像这样:
{" name ":“营销”,“路径”:“市场营销”}
注意X-Folder-Name
字段标识为一个头,这意味着您需要相应地处理它在执行一个API调用API文档之外的。下面的屏幕截图显示了你如何处理这个伟大的HTTP测试客户端失眠:
上传文件
上传一个文件,你将会发送一个帖子
请求SFTP API。你必须指定文件名,这样通过URL可以这样做:
https://example.com/api/v2/sftp/dreamfactory-ebook.png
或者你可以使用X-File-Name
头来识别文件的名称。
上传大小限制不那么多的函数DreamFactory web服务器配置。例如,Nginx的默认最大身体大小是1 mb,因此,如果你打算上传文件大于你需要添加以下配置指令nginx.conf
文件:
client_max_body_size 10米;
你会知道的client_max_body_size
设置并不满足,因为你会收到413请求实体太大
如果文件大小超过设置HTTP错误。
此外,您将收到413年负荷太大
如果PHP的HTTP错误upload_max_filesize
设置不足够了。改变这个设置你会打开php . ini
相关文件PHP-FPM守护进程,并相应地修改:
upload_max_filesize = 100
不要忘记重启后各自的守护进程更改Nginx和PHP配置文件。
下载文件
下载一个文件你会发送一个GET请求到SFTP API,识别URL的路径和文件名:
https://demo.dreamfactory.com/api/v2/sftp/Marketing/df-ebook.png
如果您正在使用一个工具如失眠你可以把许多文件类型在响应预览:
创建一个AWS S3 REST API
DreamFactory AWS S3连接器提供了一个方便的基于rest接口与S3对象进行交互和水桶。支持所有标准的CRUD操作,很容易与S3和管理你的数据。进一步,因为原产于DreamFactory S3 API,很容易集成S3行动与其他由API驱动的任务,比如:
- 上传一个新注册用户化身S3,而用户的注册信息插入数据库
- 电子邮件网站访客你的产品链接PDF写完你的营销自动化软件的用户的电子邮件地址万博max手机网页登录
- 创建一个新的S3 bucket的一部分开发运维工作流程
进一步,因为API是DreamFactory API管理生态系统的一部分,您可以应用DreamFactory上下文特定的基于角色的访问控制你的AWS S3 API, API请求附加体积限制控制和审计访问日志通过DreamFactory Logstash集成。
文档生成AWS S3 API和伴侣
生成S3 API,登录DreamFactory和点击服务
选项卡,然后单击创建
位于左边的页面的链接。点击选择服务类型
下拉菜单,导航到文件
类别,并选择AWS S3
:
会提示您提供一个API名称、标签和描述。请记住这个名字必须小写字母和字母数字,因为它将被用作生成的API中的名称空间URI结构。标签和描述用于参考目的在管理控制台所以你免费标题这些当你请:
接下来,单击配置
选项卡。你会有凭证供应AWS S3 bucket连接。但是只有三个必填字段:
- 访问密钥ID:一个AWS帐户根或我访问密钥。
- 秘密访问密钥:一个AWS帐户根或我秘密密钥。
- 地区:选择该地区访问这个服务连接。
- 容器:输入一个容器(根目录)的存储服务。它将创建如果它已经不存在了。
保存您的更改后,前往API文档
选项卡来查看生成的文档。你会看到一个列表生成的端点。列出的操作以上SFTP的连接器是相同的AWS S3容器。其中一个例子是下面列出的
下载文件
下载一个文件你会发送一个GET请求到AWS S3 API,识别URL的路径和文件名:
https://abhii.apps.dreamfactory.com/api/v2/dreamfactorys3/DreamFactoryExtends&EnhancesERPFunctionality.pdf
如果您正在使用一个工具如失眠你可以把许多文件类型在响应预览:
在S3的快照文件
将Excel转换为一个JSON响应
DreamFactory Excel的连接器能够将整个Excel工作簿或特定的工作表转化为JSON响应(CSV文件也支持)。作业可以从任何DreamFactory检索支持文件系统(AWS S3、SFTP和Azure Blob存储,等等),或者是在下面的示例中,我们将通过运行中,直接上传服务器的本地文件系统。访问控制和基于角色的访问控制就像任何其他连接器和API密钥。
创建一个Excel连接器,创建一个新的服务,并选择服务类型框:
接下来,配置选项卡,我们将设置文件存储服务。如果您已经设置,例如AWS S3 API,那么这个服务将提供给你。对于这个示例,我们将使用本地文件存储服务,我们将把我们的Excel文件/ opt / dreamfactory /存储/应用程序
这意味着我们将设置容器路径/
(“根”的DreamFactory将寻找本地存储的文件)。你也可以直接上传电子表格使用浏览
按钮:
我们的Excel文件的位置。
记住!
根为本地文件存储位置/ opt / dreamfactory /存储/应用程序
。如果你存储一个Excel文件(s)在这里,您的存储容器路径
/
。如果你在这里创建一个文件夹,如
/ opt / dreamfactory /存储/ app /文件夹
那么你的存储容器路径
/文件夹/
。一旦配置完成,你将访问API端点通过API文档的文档选项卡。这里有一个例子调用我们的工作簿financial-sample.xlsx
:
配置之后,我们角色和生成一个API密匙我们可以与之交互。下面是一个得到
调用/ api / v2 / < excelServiceName > / _spreadsheet / < excelFilename >
: