当我试图从以前的构建中删除一个函数时,我得到错误20001。
重现错误的步骤:
twilio serverless:init my-project
twilio serverless:deploy
rm functions/private-message.js /functions/sms/reply.protected.js /assets/style.css /assets/message.private.js /assets/index.html
twilio serverless:deploy
twilio api:serverless:v1:services:functions:list --service-sid ZSXXXXXXXXXXXXXXXX
twilio api:serverless:v1:services:functions:remove
--service-sid ZSXXXXXXXXXXXXXXXX
--sid ZHXXXXXXXXXXXXXXXX
最后一个命令后,我得到这个错误:
»Twilio错误代码20001:Cannot delete function。它的一个或多个版本在构建中被引用。更多信息请参见https://www.twilio.com/docs/errors/20001
如果我输入">Twilio Console>职能和资产>服务",然后:
- 点击服务的唯一名称,我看到删除的功能为灰色(不是绿色)。我不希望看到这些函数列表。
- 点击"服务详情"(标题为">实时构建详细信息"的屏幕),删除的功能未列出。所以不应该有一个主动构建引用这些函数。
如何从服务中完全删除这些函数?
可以使用以下命令删除无服务器功能服务:
twilio api:serverless:v1:services:remove --sid ZS…
你已经在你的问题中提到了这一点,但我想强调一下,其他人可能会在这里遇到它。默认情况下,通过shell创建的函数服务只能从shell中删除。通过控制台创建的功能服务只能通过控制台删除。