faascmd常見問題
本文介紹使用faascmd工具時(shí)常見的問題與解決辦法。
常見問題
出現(xiàn)“Name Error:global name 'ID' is not defined.”錯(cuò)誤,怎么辦?
可能原因:faascmd沒有獲取到您的AccessKey ID或AccessKey Secret信息。
解決方案:執(zhí)行faascmd config
命令,此命令執(zhí)行后,會(huì)將您輸入的AccessKey ID和AccessKey Secret信息保存在文件/home/user1/.faascredentials中。
出現(xiàn)“SDK.InvalidRegionId. Can not find endpoint to access.”錯(cuò)誤,怎么辦?
可能原因:獲取不到faas服務(wù)的endpoint地址。
解決方案:您需要逐項(xiàng)檢查是否滿足以下配置。
運(yùn)行
python -V
命令檢查python版本是否為2.7.x。運(yùn)行
which python
命令檢查python的默認(rèn)安裝路徑是否為/usr/bin/python
。運(yùn)行
cat /usr/lib/python2.7/site-packages/aliyunsdkcore/__init__.py
命令檢查aliyunsdkcore版本是否為2.11.0及以上。說明如果aliyunsdkcore版本號(hào)低于2.11.0,您需要運(yùn)行
pip install --upgrade aliyun-python-sdk-core
命令升級(jí)至最新版本。
出現(xiàn)“HTTP Status: 404 Error: EntityNotExist. Role Error. The specified Role not exists.”錯(cuò)誤,怎么辦?
可能原因:您阿里云賬戶下的AliyunFAASDefaultRole角色不存在。
解決方案:登錄RAM控制臺(tái)查看AliyunFAASDefaultRole角色是否存在。
如果AliyunFAASDefaultRole角色不存在,您需要執(zhí)行
faascmd config
和faascmd auth
命令創(chuàng)建該角色并為其授權(quán)。如果AliyunFAASDefaultRole角色存在,請(qǐng)?zhí)峤还翁幚怼?/p>
下載FPGA鏡像時(shí)返回“HTTP Status:404 Error:SHELL NOT MATCH. The image Shell is not match with fpga Shell!Request ID:D7D1AB1E-8682-4091-8129-C17D54FD10D4”錯(cuò)誤,怎么辦?
可能原因:要下載的fpgaImage和指定fpga上的Shell版本不匹配。
解決方案:您需要按下列步驟逐項(xiàng)檢查。
運(yùn)行
faascmd list_instances --instance=xxx
命令檢查當(dāng)前fpga的Shell版本號(hào)。運(yùn)行
faascmd list_images
命令檢查指定的fpgaImage的Shell版本號(hào)。說明如果以上兩個(gè)Shell版本號(hào)不同,您需要重新制作一個(gè)與fpga的Shell版本號(hào)相同的fpgaImage,然后下載。
如果確定兩個(gè)Shell版本一致,請(qǐng)?zhí)峤还巍?/p>
下載FPGA鏡像時(shí)返回“HTTP Status:503 Error:ANOTHER TASK RUNNING . Another task has not finished yet, please retry later! Request ID: 5FCB6F75-8572-4840-9BDC-87C57174F26D”錯(cuò)誤,怎么辦?
可能原因:您之前提交的下載請(qǐng)求異常失敗或中斷導(dǎo)致fpga的狀態(tài)還停留在operating狀態(tài)。
解決方案:建議您等待10分鐘,直至下載任務(wù)自動(dòng)結(jié)束,然后再次提交下載鏡像請(qǐng)求。
如果問題仍舊沒有解決,請(qǐng)?zhí)峤还巍?/p>
運(yùn)行faascmd list_images命令時(shí),發(fā)現(xiàn)鏡像狀態(tài)是failed,怎么辦?
您可以通過以下方式獲取編譯日志,來定位相關(guān)問題。
faascmd list_objects|grep vivado
faascmd get_object --object=<YourObjectName> --file=<YourLocalPath>/vivado.log #路徑選填,默認(rèn)下載到當(dāng)前文件夾。
常見錯(cuò)誤碼
HttpCode | 錯(cuò)誤碼 | 錯(cuò)誤信息 | 描述 | 適用范圍 |
400 | PARAMETER INVALIDATE | Specify parameters are invalid. | 輸入?yún)?shù)有誤。 |
|
500 | InternalError | The request processing has failed due to some unknown error. | 未知錯(cuò)誤,請(qǐng)?zhí)峤还巍?/p> | |
404 | InvalidProduct.NotFound | Cannot find product according to your specified domain. | FaaS產(chǎn)品不存在,請(qǐng)檢查Python Core SDK的endpoints配置是否正確。 | |
404 | InvalidAccessKeyId.NotFound | Specified access key is not found. | 請(qǐng)檢查您調(diào)用命令或API時(shí)是否使用了正確的AccessKeyId。 | |
400 | InvalidAccessKeyId.Inactive | Specified access key is disabled. | 請(qǐng)檢查您指定的AccessKey是否可用。 | |
400 | InvalidSecurityToken.Expired | Specified SecurityToken is expired. | 請(qǐng)檢查SecurityToken是否可用。 | |
400 | InvalidSecurityToken.Malformed | Specified SecurityToken is malformed. | 請(qǐng)檢查SecurityToken是否可用。 | |
400 | InvalidSecurityToken.MismatchWithAccessKey | Specified SecurityToken mismatch with the AccessKey. | 請(qǐng)檢查SecurityToken是否可用。 | |
403 | NoPermisson | You are not authorized to do this action. | 子賬號(hào)沒有RAM相關(guān)權(quán)限。 |
|
401 | IMAGE NUMBER EXCEED | The user is allowed to have no more than 30 images. | 鏡像列表不能超過30個(gè)鏡像,請(qǐng)刪除不需要的鏡像后重試。 |
|
503 | FREQUENCY ERROR | CreateFpgaImage task is allowed to take every half an hour. | 如果已經(jīng)提交了制作鏡像請(qǐng)求,無論鏡像是否制作成功,至少30分鐘后才可以提交下個(gè)制作鏡像請(qǐng)求。 | |
404 | SHELL NOT SUPPORT | The shellUUID is not supported, please check your input shellUUID. | 您輸入的Shell版本不支持,請(qǐng)檢查Shell版本是否正確。 | |
404 | EntityNotExist.RoleError | The specified Role not exists. | 您的賬戶沒有創(chuàng)建AliyunFAASDefaultRole角色。 | |
403 | AccessDeniedError | The bucket you visit does not belong to you. | FaaS服務(wù)角色未被授予訪問當(dāng)前Bucket的權(quán)限。 | |
403 | CALLER TYPE NOT SUPPORT | The callerType is not supported, please use sub user's AK. | 目前只支持使用子賬號(hào)類型的身份憑證。 | |
404 | NoSuchBucketError | The specified bucket does not exist. | 未找到指定的OSS Bucket,請(qǐng)檢查Bucket名稱是否配置正確。 | |
404 | OSS OBJECT NOT FOUND | The specified oss object does not exist. | 指定的OSS Object不存在,或者您沒有授權(quán)FaaS RAM角色訪問該Object的權(quán)限。 | |
404 | IMAGE NOT FOUND | The specify image does not found. | 未找到指定的fpgaImage。 |
|
401 | NOT AUTHORIZED | You are not allowed to access this instance. | 當(dāng)前用戶沒有訪問該實(shí)例的權(quán)限,請(qǐng)檢查授權(quán)策略是否包含訪問DescribeInstances接口的權(quán)限。 |
|
403 | CALLER TYPE NOT SUPPORT | The callerType is not supported. | 用戶身份憑證目前只支持RAM子賬號(hào)的AK/SK和臨時(shí)憑證STS Token。 | |
404 | INSTANCE INVALIDATE | The instance you specify is not FPGA type. | 您指定的實(shí)例不是fpga實(shí)例。如果您確定是fpga實(shí)例,請(qǐng)?zhí)峤还巍?/p> | |
401 | NOT AUTHORIZED | You are not allowed to access this instance. | 找不到指定的實(shí)例ID,請(qǐng)檢查輸入?yún)?shù)。 |
|
404 | FPGA NOT FOUND | The fpga you specify is not found. | 找不到指定的fpgauuid,請(qǐng)檢查輸入?yún)?shù)。 | |
503 | ANOTHER TASK RUNNING | Another task is running, user is allowed to take this task half an hour. | 您之前提交的下載鏡像任務(wù)還在operating狀態(tài)。 |
|
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. | 指定的實(shí)例不屬于您配置的賬戶。 | |
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實(shí)例。 | |
404 | SHELL NOT MATCH | The imageShell is not match with fpgaShell. | 鏡像的Shell版本與指定的fpga實(shí)例上的Shell版本不匹配。 | |
403 | ASSUME ROLE USER NOT SUPPORT | AssumeRoleUser only support loading market fpga images. | 使用STS Token認(rèn)證只允許下載市場(chǎng)鏡像。 | |
404 | Image not in success state | The fpga image you specify is not in success state. | 指定的鏡像不是success狀態(tài)。您只能下載success狀態(tài)的鏡像。 | |
404 | FPGA IMAGE STATE ERROR | The specify fpga image is not in success state. | 指定的鏡像不是success狀態(tài)。 |
|
404 | FPGA IMAGE NOT FOUND | The specify fpga image does not found. | 未找到指定的鏡像,或者該鏡像不屬于您配置的賬戶。 |