報錯“xxx is not supported by layer”表示該層與函數的運行時不相容,使用自訂層、官方公用層或非官方公用層均可能會遇到該報錯,本文分別從使用以上三種不同類型的層的情境給出解決方案。
問題現象
為函數配置層時,報錯“xxx is not supported by layer”。
InvalidArgument: code: 400, runtime: custom is not supported by layer:acs:fc:cn-hangzhou:official:layers/Java21/versions/1
問題原因
函數的運行時與該層不相容,即該層的相容運行時配置中,不包括該函數的運行時。
解決方案
自訂層
您可以更換其他相容函數運行時的層,或者您可以重新發布剛才使用的自訂層,即建立層的新版本,然後將函數的運行時添加到層的相容運行時列表中。具體操作,請參見建立自訂層。
官方公用層
您可以查詢Function Compute支援的官方公用層列表,擷取該層的相容運行時和使用方法,然後根據情況選擇更換函數的運行時或更換官方公用層。如果當前所有官方公用層都無法滿足您的需求,請聯絡我們。
Function Compute官方文檔僅列舉部分常見的官方公用層,更多官方公用層及其說明,請參見公用層。
非官方公用層
Function Compute不對非官方公用層提供支援人員和維護,請聯絡為您提供該公用層的使用者,確認層的相容運行時和使用方法。