文档

faascmd常见问题

更新时间:

本文介绍使用faascmd工具时常见的问题与解决办法。

出现“Name Error:global name 'ID' is not defined.”错误,怎么办?

可能原因:faascmd没有获取到您的AccessKey ID或AccessKey Secret信息。

解决方案:执行faascmd config命令,此命令执行后,会将您输入的AccessKey ID和AccessKey Secret信息保存在文件/home/user1/.faascredentials中。

出现“SDK.InvalidRegionId. Can not find endpoint to access.”错误,怎么办?

可能原因:获取不到faas服务的endpoint地址。

解决方案:您需要逐项检查是否满足以下配置。

  • 运行python -V命令检查python版本是否为2.7.x。

  • 运行which python命令检查python的默认安装路径是否为/usr/bin/python

  • 运行cat /usr/lib/python2.7/site-packages/aliyunsdkcore/__init__.py命令检查aliyunsdkcore版本是否为2.11.0及以上。

    说明

    如果aliyunsdkcore版本号低于2.11.0,您需要运行pip install --upgrade aliyun-python-sdk-core命令升级至最新版本。

出现“HTTP Status: 404 Error: EntityNotExist. Role Error. The specified Role not exists.”错误,怎么办?

可能原因:您阿里云账户下的AliyunFAASDefaultRole角色不存在。

解决方案:登录RAM控制台查看AliyunFAASDefaultRole角色是否存在。

  • 如果AliyunFAASDefaultRole角色不存在,您需要执行faascmd configfaascmd auth命令创建该角色并为其授权。

  • 如果AliyunFAASDefaultRole角色存在,请提交工单处理。

下载FPGA镜像时返回“HTTP Status:404 Error:SHELL NOT MATCH. The image Shell is not match with fpga Shell!Request ID:D7D1AB1E-8682-4091-8129-C17D54FD10D4”错误,怎么办?

可能原因:要下载的fpgaImage和指定fpga上的Shell版本不匹配。

解决方案:您需要按下列步骤逐项检查。

  • 运行faascmd list_instances --instance=xxx命令检查当前fpga的Shell版本号。

  • 运行faascmd list_images命令检查指定的fpgaImage的Shell版本号。

    说明
    • 如果以上两个Shell版本号不同,您需要重新制作一个与fpga的Shell版本号相同的fpgaImage,然后下载。

    • 如果确定两个Shell版本一致,请提交工单。

下载FPGA镜像时返回“HTTP Status:503 Error:ANOTHER TASK RUNNING . Another task has not finished yet, please retry later! Request ID: 5FCB6F75-8572-4840-9BDC-87C57174F26D”错误,怎么办?

可能原因:您之前提交的下载请求异常失败或中断导致fpga的状态还停留在operating状态。

解决方案:建议您等待10分钟,直至下载任务自动结束,然后再次提交下载镜像请求。

说明

如果问题仍旧没有解决,请提交工单。

运行faascmd list_images命令时,发现镜像状态是failed,怎么办?

您可以通过以下方式获取编译日志,来定位相关问题。

faascmd list_objects|grep vivado
faascmd get_object --object=<YourObjectName> --file=<YourLocalPath>/vivado.log  #路径选填,默认下载到当前文件夹。

常见错误码

HttpCode

错误码

错误信息

描述

适用范围

400

PARAMETER INVALIDATE

Specify parameters are invalid.

输入参数有误。

  • 所有faascmd命令

  • 所有API

500

InternalError

The request processing has failed due to some unknown error.

未知错误,请提交工单。

404

InvalidProduct.NotFound

Cannot find product according to your specified domain.

FaaS产品不存在,请检查Python Core SDK的endpoints配置是否正确。

404

InvalidAccessKeyId.NotFound

Specified access key is not found.

请检查您调用命令或API时是否使用了正确的AccessKeyId。

400

InvalidAccessKeyId.Inactive

Specified access key is disabled.

请检查您指定的AccessKey是否可用。

400

InvalidSecurityToken.Expired

Specified SecurityToken is expired.

请检查SecurityToken是否可用。

400

InvalidSecurityToken.Malformed

Specified SecurityToken is malformed.

请检查SecurityToken是否可用。

400

InvalidSecurityToken.MismatchWithAccessKey

Specified SecurityToken mismatch with the AccessKey.

请检查SecurityToken是否可用。

403

NoPermisson

You are not authorized to do this action.

子账号没有RAM相关权限。

  • faascmd命令:auth

  • API:auth

401

IMAGE NUMBER EXCEED

The user is allowed to have no more than 30 images.

镜像列表不能超过30个镜像,请删除不需要的镜像后重试。

  • faascmd命令:create_image

  • API:CreateFpgaImage

503

FREQUENCY ERROR

CreateFpgaImage task is allowed to take every half an hour.

如果已经提交了制作镜像请求,无论镜像是否制作成功,至少30分钟后才可以提交下个制作镜像请求。

404

SHELL NOT SUPPORT

The shellUUID is not supported, please check your input shellUUID.

您输入的Shell版本不支持,请检查Shell版本是否正确。

404

EntityNotExist.RoleError

The specified Role not exists.

您的账户没有创建AliyunFAASDefaultRole角色。

403

AccessDeniedError

The bucket you visit does not belong to you.

FaaS服务角色未被授予访问当前Bucket的权限。

403

CALLER TYPE NOT SUPPORT

The callerType is not supported, please use sub user's AK.

目前只支持使用子账号类型的身份凭证。

404

NoSuchBucketError

The specified bucket does not exist.

未找到指定的OSS Bucket,请检查Bucket名称是否配置正确。

404

OSS OBJECT NOT FOUND

The specified oss object does not exist.

指定的OSS Object不存在,或者您没有授权FaaS RAM角色访问该Object的权限。

404

IMAGE NOT FOUND

The specify image does not found.

未找到指定的fpgaImage。

  • faascmd命令:delete_image

  • API:

    • DeleteFpgaImage

    • DeletePublishFpgaImage

401

NOT AUTHORIZED

You are not allowed to access this instance.

当前用户没有访问该实例的权限,请检查授权策略是否包含访问DescribeInstances接口的权限。

  • faascmd命令:list_instances

  • API:DescribeFpgaInstances

403

CALLER TYPE NOT SUPPORT

The callerType is not supported.

用户身份凭证目前只支持RAM子账号的AK/SK和临时凭证STS Token。

404

INSTANCE INVALIDATE

The instance you specify is not FPGA type.

您指定的实例不是fpga实例。如果您确定是fpga实例,请提交工单。

401

NOT AUTHORIZED

You are not allowed to access this instance.

找不到指定的实例ID,请检查输入参数。

  • faascmd命令:fpga_status

  • API:DescribeLoadTaskStatus

404

FPGA NOT FOUND

The fpga you specify is not found.

找不到指定的fpgauuid,请检查输入参数。

503

ANOTHER TASK RUNNING

Another task is running, user is allowed to take this task half an hour.

您之前提交的下载镜像任务还在operating状态。

  • faascmd命令:download_image

  • API:LoadFpgaImage

401

IMAGE ACCESS ERROR

You are not allowed to access this fpga image.

指定的镜像不属于您配置的账户。

401

YOU HAVE NO ACCESS TO THIS INSTANCE

You are not allowed to access this instance.

指定的实例不属于您配置的账户。

404

IMAGE NOT FOUND

The fpga image you specify is not found.

未找到您指定的fpgaImage。

404

FPGA NOT FOUND

The fpga you specify is not found.

未找到您指定的fpga实例。

404

SHELL NOT MATCH

The imageShell is not match with fpgaShell.

镜像的Shell版本与指定的fpga实例上的Shell版本不匹配。

403

ASSUME ROLE USER NOT SUPPORT

AssumeRoleUser only support loading market fpga images.

使用STS Token认证只允许下载市场镜像。

404

Image not in success state

The fpga image you specify is not in success state.

指定的镜像不是success状态。您只能下载success状态的镜像。

404

FPGA IMAGE STATE ERROR

The specify fpga image is not in success state.

指定的镜像不是success状态。

  • faascmd命令:publish_image

  • API:PublishFpgaImage

404

FPGA IMAGE NOT FOUND

The specify fpga image does not found.

未找到指定的镜像,或者该镜像不属于您配置的账户。