質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.50%

ServelessFrameworkでGCPのCloudFunctionsのテストがうまく動かない

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 566

score 44

前提・実現したいこと

以下のサイトの手順に沿ってServelessFlameworkにてGCPのCloudFunctionsを作成しようとしました。
https://yomon.hatenablog.com/entry/2019/12/gcf_serverless_fw_deploy

deployとremoveはうまく動作するのですが、invokeだけが動作しません。いろいろと当たってみたのですが、全く情報がなく困っている状況です。
なぜ、invokeが失敗しているのか。どうすればエラーを回避してinvokeを実行できるかをご教示いただけないでしょうか。

発生している問題・エラーメッセージ

invokeコマンドを実行するとエラーとなってしまいます。

$ sls invoke -f sample

  Error --------------------------------------------------

  Error: Function sample in region asia-northeast1 in project servelesssample-XXXX does not exist
      at Gaxios._request (/home/users/sls/sample/node_modules/gaxios/src/gaxios.ts:109:15)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)
      at JWT.requestAsync (/home/users/sls/sample/node_modules/google-auth-library/build/src/auth/oauth2client.js:350:18)

     For debugging logs, run again after setting the "SLS_DEBUG=*" environment variable.

  Get Support --------------------------------------------
     Docs:          docs.serverless.com
     Bugs:          github.com/serverless/serverless/issues
     Issues:        forum.serverless.com

  Your Environment Information ---------------------------
     Operating System:          linux
     Node Version:              12.16.2
     Framework Version:         1.68.0
     Plugin Version:            3.6.8
     SDK Version:               2.3.0
     Components Version:        2.30.2

該当のソースコード

service: sample

provider:
  name: google
  runtime: python37
  region: asia-northeast1
  project: servelesssample-XXXX
  credentials: ~/credentials/serveless.json

plugins:
  - serverless-google-cloudfunctions

package:
  exclude:
    - node_modules/**
    - .gitignore
    - .git/**

functions:
  sample:
    handler: sample
    events:
      - http: path
def sample(request):
    return f'Hello World!'

試したこと

deployは以下の通り問題なく完了します。

$ sls deploy
Serverless: Packaging service...
Serverless: Excluding development dependencies...
Serverless: Compiling function "sample"...
Serverless: Creating deployment...
Serverless: Checking deployment create progress...
..
Serverless: Done...
Serverless: Uploading artifacts...
Serverless: Artifacts successfully uploaded...
Serverless: Updating deployment...
Serverless: Checking deployment update progress...
..................
Serverless: Done...
Service Information
service: sample
project: servelesssample-XXXX
stage: dev
region: asia-northeast1

Deployed functions
sample


またremoveも正常に終了しております。

$ sls remove
Serverless: Removing artifacts in deployment bucket...
Serverless: Removing deployment...
Serverless: Checking deployment remove progress...
..
Serverless: Done...

CloudFunctionsにallusersにCloudFunctions起動元を付与してcurlで
動作確認をとれた状態でinvokeを叩いてもエラーは変わりません。

補足情報(FW/ツールのバージョンなど)

ServelessFramework
Framework Core: 1.68.0
Plugin: 3.6.8
SDK: 2.3.0
Components: 2.30.2
node v12.16.2
npm 6.14.4
python3.7.7
Ubuntu18.04LTS

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.50%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る