症状
WindowsまたはmacOSオペレーティングシステムを実行するオンプレミスのコンピューターで関数を開発する場合、実行可能ファイルは通常、オンプレミスのテストで実行されます。 ただし、function Computeに関数をデプロイし、Function Computeのランタイム環境で実行可能ファイルを実行すると、権限拒否
のエラーメッセージが返されます。
原因
関数を開発するときにコードをパッケージ化する必要があります。 一部の圧縮ツールがWindowsまたはmacOSオペレーティングシステムでファイルを圧縮すると、ファイルまたはフォルダの属性が失われる可能性があります。 ファイルまたはフォルダの属性が失われたため、ファイルは実行できなくなりました。 コードが抽出され、デプロイされ、Function ComputeのLinuxランタイム環境で実行されると、権限拒否
エラーメッセージが返されます。
解決策
圧縮ツールが、ファイルまたはフォルダーに対する755権限などのその他の権限を保持していることを確認します。 ファイルまたはフォルダに同様の権限が存在しない場合は、次のいずれかの方法を使用して問題を解決できます。
chmod + x File name
コマンドを実行して、Function ComputeのLinuxランタイム環境でファイルに対する権限を付与します。- Linuxオペレーティングシステムを実行するオンプレミスマシンで関数を開発します。