创建文件系统api

这一章向您介绍了如何快速创建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文件的位置。

一旦配置完成,你将访问API端点通过API文档的文档选项卡。这里有一个例子调用我们的工作簿financial-sample.xlsx:

配置之后,我们角色和生成一个API密匙我们可以与之交互。下面是一个得到调用/ api / v2 / < excelServiceName > / _spreadsheet / < excelFilename >:

Baidu
map