使用faascmd

本文主要介绍faascmd命令的用法和示例。

前提条件

  • 已配置faascmd工具。具体操作,请参见配置faascmd

  • 已为FaaS新建一个OSS bucket,用于上传原始编译的DCP文件。具体操作,请参见控制台创建存储空间

  • 已在新创建的FaaS OSS bucket中,新建一个名为compiling_logs的文件夹。具体操作,请参见创建目录

faascmd命令概览

命令语法说明

  • faascmd工具提供的所有命令和参数都严格区分大小写。

  • faascmd命令中,参数=以及取值间不能存在多余空格。

faascmd命令用途

faascmd支持的命令主要用于管理授权、配置环境以及管理FPGA镜像等,相关内容如下所示:

用途

相关文档

管理授权

配置环境

管理FPGA镜像

授权访问

faascmd auth命令用于授权faas administrator访问您的OSS bucket。

命令格式

faascmd auth --bucket=<YourFaasOSSBucketName>

示例代码授权

说明

如果同一主账号下有多个RAM用户,则建议RAM用户之间共享一个OSS bucket,可以有效避免重复修改或覆盖授权策略。

查看授权策略

faascmd list_policy命令用来查看指定的OSS bucket是否已添加到相应的授权策略(faasPolicy)里。

命令格式

faascmd list_policy

示例代码查看授权策略

说明

请关注您的OSS bucketOSS bucket/compiling_logs是否出现在列出的策略信息中。

删除授权策略

如果您不再需要授权策略(faasPolicy),可通过faascmd delete_policy命令删除该授权策略。

命令格式

faascmd delete_policy

示例代码删除授权策略

说明

如果同一主账号下有多个RAM用户,建议您通过RAM控制台删除策略,可以有效避免授权策略的误删操作。

查看OSS bucket下所有的objects

faascmd list_objects命令用于查看OSS bucket下所有的objects。

命令格式

faascmd list_objects

示例代码查看objects

说明

您可以配合grep命令筛选出您想要的文件。例如:faascmd list_objects | grep "xxx"

上传原始编译文件

faascmd upload_object命令用于将本地编译的原始文件上传到指定的OSS bucket中。

命令格式

faascmd upload_object --object=<NewFileNameInOSSBucket> --file=<YourFilePath>/<FileNameYouWantToUpload>           

示例代码upload_object

说明
  • 如果需上传的文件在当前目录下,则无需提供路径。

  • Intel FPGA的本地编译原始文件为.gbs格式;Xilinx FPGA的本地编译原始文件为脚本处理后得到的tar包。

下载OSS bucket中的object

faascmd get_object命令用来下载OSS bucket中指定的object。

命令格式

faascmd get_object --object=<YourObjectName> --file=<YourLocalPath>/<YourFileName>

示例代码get_object

说明

如果您不提供路径,则默认下载到当前文件夹路径。

新建FPGA镜像

faascmd create_image命令用来提交制作FPGA镜像的请求。请求成功时,返回FpgaImageUUID。

命令格式

faascmd create_image --object=<YourObjectName> 
--fpgatype=<intel/xilinx>  --encrypted=<true/false> 
--kmskey=<key/如果encrypted为true,必选;否则可选> 
--shell=<Shell Version/必选> --name=<name/可选> 
--description=<description/可选> --tags=<tags/可选>

示例代码create_image

查看FPGA镜像

faascmd list_images命令用于查看用户制作的所有FPGA镜像的信息。

命令格式

faascmd list_images

示例代码list_images

说明

每个RAM用户最多允许保留10个FPGA镜像。

删除FPGA镜像

如果您不再需要FPGA镜像,可通过faascmd delete_image命令删除该镜像。

命令格式

faascmd delete_image --imageuuid=<yourImageuuid>

示例代码delete_image

下载FPGA镜像

faascmd download_image命令用于提交下载FPGA镜像的请求。

命令格式

faascmd download_image  --instanceId=<YourInstanceId> 
--fpgauuid=<Yourfpgauuid> --fpgatype=<intel/xilinx> 
--imageuuid=<YourImageuuid> --imagetype=<afu> 
--shell=<YourImageShellVersion>

示例代码

faascmd download_image --instanceId=XXXXX --fpgauuid=XXXX --fpgatype=intel --imageuuid=XXXX

查看FPGA镜像下载状态

faascmd fpga_status命令用于查看当前FPGA板卡状态或FPGA镜像的下载进度。

命令格式

faascmd fpga_status --fpgauuid=<Yourfpgauuid> --instanceId=<YourInstanceId>

示例代码fpga_status

发布FPGA镜像

faascmd publish_image命令用来提交发布FPGA镜像的请求。

命令格式

faascmd publish_image --imageuuid=<YourImageuuid> --imageid=<YourInstanceImageid>
说明
  • imageuuid是您要发布到云市场的FPGA镜像id。您可以通过faascmd list_images命令查看。

  • imageid是FPGA实例的镜像id。您可以通过ECS管理控制台的实例详情页查看。

查看FPGA实例的信息

faascmd list_instances命令用于获取FPGA实例的基本信息,包括实例ID、FPGA板卡信息和Shell版本。

命令格式

faascmd list_instances --instanceId=<YourInstanceId>

示例代码list_instances