第三方使用普通上传云函数后,再获取列表时显示更新失败,可能是什么原因呢?
服务端nodejs, 普通上传云函数正常,但是再获取列表时显示如下错误。请问是啥原因? 下面是上传部分的代码。
{
"errcode": 0,
"errmsg": "ok",
"total_count": 1,
"functions": [{
"mod_time": "2021-01-14 17:45:26",
"add_time": "2021-01-13 12:11:14",
"runtime": "Nodejs8.9",
"name": "transfile",
"status": "UpdateFailed"
}]
}
const API = wxComponent.getWxOpenAppApi();
const accessToken = await API.getAuthorizerAccessToken(appId);
// 获取代码保护密钥
const respData1 = await rp.post({
url: `${WECHAT_HOST}/tcb/getcodesecret?access_token=${accessToken}`,
body: {},
json: true,
});
// 获取云环境信息
const respData2 = await rp.post({
url: `${WECHAT_HOST}/tcb/getenvinfo?access_token=${accessToken}`,
body: {},
json: true,
});
const ZipFile = await fsPromises.readFile(CLOUD_FUNCTION_FILE_PATH, 'base64');
const params = {
'CodeSecret': respData1.codesecret,
'EnvId': respData2.info_list[0].env,
'FunctionName': 'transfile',
'Handler': 'index.main',
'InstallDependency': 'TRUE',
ZipFile,
};
const uploadBody = JSON.stringify(params);
const hashedPayload =
crypto.createHash('sha256').update(uploadBody).digest('hex').toLowerCase();
// 获取上传凭证
const respData3 = await rp.post({
url: `${WECHAT_HOST}/tcb/getuploadsignature?access_token=${accessToken}`,
body: {
hashed_payload: hashedPayload,
},
json: true,
});
// 上传云函数
const respData4 = await rp.post({
url: `https://scf.tencentcloudapi.com`,
body: params,
headers: parseHeaders(respData3.headers),
json: true,
});