質問編集履歴

1 書式の編集

Otazoman

Otazoman score 44

2020/05/01 15:49  投稿

ServelessFrameworkでGCPのCloudFunctionsのテストがうまく動かない
### 前提・実現したいこと
以下のサイトの手順に沿ってServelessFlameworkにてGCPのCloudFunctionsを作成しようとしました。
[https://yomon.hatenablog.com/entry/2019/12/gcf_serverless_fw_deploy](https://yomon.hatenablog.com/entry/2019/12/gcf_serverless_fw_deploy)
deployとremoveはうまく動作するのですが、invokeだけが動作しません。いろいろと当たってみたのですが、全く情報がなく困っている状況です。
### 発生している問題・エラーメッセージ
invokeコマンドを実行するとエラーとなってしまいます。
```
```bash
$ 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
```
### 該当のソースコード
```yml
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
```
```py
```python
def sample(request):
   return f'Hello World!'
```
### 試したこと
deployは以下の通り問題なく完了します。
```bash
$ 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も正常に終了しております。
```bash
$ sls remove
Serverless: Removing artifacts in deployment bucket...
Serverless: Removing deployment...
Serverless: Checking deployment remove progress...
..
Serverless: Done...
```
CloudFunctionsにallusersにCloudFunctions起動元を
付与してcurlで動作確認をとれた状態でsls invokeを叩いても
エラーの状況は変わりません。
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
  • Node.js

    4723 questions

    Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

  • SDK

    290 questions

    SDK(software development kit)は特定のハードウェアのプラットフォーム、開発環境又はソフトウェアパッケージでソフトウェアをつくるのに必要な開発ツールのセットです。SDKはAPI、IDE又は他の開発ツールとフレームワークを組み合わせたもので構成されていることがあります。

  • コマンド

    1096 questions

    コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

  • Google

    2156 questions

    Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る