実行問題

Prev Next

Classic/VPC環境で利用できます。

Cloud Functionsの利用中に次のような問題が発生することがあります。問題ごとの原因と解決方法を確認し、適切に対処してください。

Cron実行エラー

Cloud Functionsで Actionでは動作しますが、Cronでは動作しません。

原因

Cloud Functionsの Cron(自動)と Actionの直接実行(手動)には違いはありません。ただし、Cronトリガーを含むトリガーレベルで関連付けられたアクションにデフォルトのパラメータ値を渡せます。一方、手動でアクションを実行する場合、実行のポップアップでランタイムパラメータを渡せますが、Cronトリガーではデフォルトのパラメータ以外に追加のパラメータを渡せません。

解決方法

Cronトリガーではデフォルトのパラメータ以外に別途のパラメータを渡せませんので、コード内で必要なパラメータ値を受け取って使用する部分がないか確認します。

Object Storageタイプトリガー実行エラー

Object Storageタイプトリガーではアップロードイベントを設定しましたが、トリガーが動作しません。

原因

Object Storageにファイルをアップロードする方法には一般アップロードとマルチパートアップロードがあり、大容量ファイルはマルチパートアップロード方式でアップロードできます。もし、イベント設定で ObjectCreated:PUT のみ設定してマルチパートアップロードに対するイベントタイプである ObjectCreated:COMPLETE_UPLOAD を設定していない場合、マルチパートアップロードが発生してもトリガーが動作しないことがあります。

解決方法

  • マルチパートアップロードイベントトリガーのために、ObjectCreated:COMPLETE_UPLOADイベントタイプを追加します。イベントタイプを追加する方法は、Object StorageタイプトリガーUploadPart APIガイドをご参照ください。
  • イベントタイプを追加してもトリガーが動作しない場合は、バケット名、オブジェクト名、アップロード時点をカスタマーサポートにお送りください。

「cannot import name~」エラー

Pythonアクション実行時、「cannot import name~」のようなエラーが発生します。

原因

  • コード圧縮ファイルにライブラリが欠落しています。
  • システムライブラリが欠落しています。

解決方法

コード圧縮ファイルにライブラリの欠落
依存関係ファイルを一緒にパッケージングしてアクションを作成します。詳細な方法は、Cloud Functionsのユースケース > ランタイム別アクションの作成と活用 > Pythonガイドの依存関係ファイルを一緒にパッケージングしてアクション作成をご参照ください。

システムライブラリの欠落
Pythonライブラリが OSに応じて異なるシステムライブラリ(.so、.dll)に依存したり、または圧縮ファイルに Windowsまたは macOSのシステムライブラリが含まれたり、CFランタイムイメージに参照するシステムライブラリがない場合に主に発生します。欠落しているシステムライブラリを確認し、インストールします。

UnsupportedClassVersionErrorエラー

Javaアクション実行時に UnsupportedClassVersionErrorエラーが発生します

原因

Cloud Functionsアクションランタイムバージョンよりも上位バージョンでコンパイルした場合、当該エラーが発生することがあります。

解決方法

アップロードしたアクションのコンパイルされたバージョンを確認する方法は、次の通りです。
メインクラスは Helloであり、Linux環境で実行すると仮定します。

  1. JARファイルをダウンロードするには、Actionメニューの [変更] ボタンをクリックし、 [ダウンロード] ボタンをクリックします。
  2. 次のコマンドを入力して、jarファイルの圧縮を解除します。
    $ jar xf <JAR_FILE>
    
  3. 次のコマンドを入力して、クラスファイルのコンパイルバージョンを確認します。アクションランタイムバージョンと同一または下位バージョンでなければなりません。
    • Unix/Linux環境
      $ file Hello.class  
      Hello.class: compiled Java class data, version 52.0 (Java 1.8)  
      または  
      $ javap -verbose Hello | grep "major"  
      major version: 52  
      
    • Windows環境
      $ javap -verbose Hello | findstr "major"  
      major version: 52  
      
参考

Javaアクションの作成と活用に関する詳細は、Cloud Functions のユースケース > ランタイム別アクションの作成と活用 > Javaをご参照ください。

Too many concurrent requests in flight()'レスポンスが返される

アクション実行結果、「Too many concurrent requests in flight()」のような形式のレスポンスが返されました。

原因

concurrentのデフォルト値を超過しました。

解決方法

Cloud Functions の仕様を参照して同時に実行できるアクション数を変更します。
concurrentのデフォルト値を調整する場合は、NAVERクラウドプラットフォームのカスタマーサポートにお問い合わせください。

参考

本ガイドで必要な情報が見つからない場合やさらに必要な情報がある場合は、いつでも以下のフィードバックアイコンをクリックして、ご意見をお寄せください。いただいたご意見を参照して、より有益な情報を提供できるよう努力してまいります。