Skip to main content

クラウド関数入門

Noodlのクラウド関数は、フロントエンドでビジネスロジックを構築するときに使用するのと同じ技術、つまりロジックとアクションノードをフローに接続し、必要に応じてJavaScriptを注入することで、クラウドで実行されるロジックを作成する方法です。

クラウド関数はプロジェクトの別のコンポーネントに過ぎませんが、フロントエンドコンポーネントの中には存在しません。代わりにクラウド関数タブで見つけることができます。

新しいクラウド関数コンポーネントを作成するには、サイドバーの**+**アイコンをクリックし、クラウドコンポーネント関数を選択します。

クラウド関数に名前を付けて作成をクリックします。

また、フロントエンドと同じようにフォルダーロジックコンポーネントを作成して、物事を整理し、機能を再利用可能なロジックコンポーネントに分割することができます。

クラウド関数の構造

新しいクラウド関数を作成すると、RequestResponseの2つのノードが骨格となります。

まずRequestノードを詳しく見てみましょう。クラウド関数がクライアントから呼び出されると、ここからロジックフローが始まります。

ロジックフローはReceivedシグナルによって開始されます。したがって、クラウド関数に実行させたい最初のアクションは、このシグナルに接続するべきです。Requestノードには、いくつかの重要なプロパティもあります:

Allow unauthenticated。これは重要なプロパティです。デフォルトでは、すべてのクラウド関数はユーザーがログインしている必要があります。しかし、何らかの理由でユーザーなしで関数を呼び出せるようにしたい場合は、このプロパティをチェックできます。すべてのクラウド関数はデータベースへの完全なアクセス権を持っており、セキュリティ上の理由からクライアントで制限されている可能性のある操作を行うことができるため、注意が必要です。

Parameters。ここにはクラウド関数のパラメーターを追加します。これらはRequestノードの出力と、関数を呼び出すためにフロントエンドで使用するクラウド関数ノードの入力になります。

非常にシンプルな上記の例では、Set User Propertiesノードを使用してユーザーのパスワードを設定していますが、これにはログインしたユーザーが必要です(そうでなければSet User Propertiesノードは機能しません)。新しいパスワードをパラメーターとして受け入れ、Receivedシグナルでアクションノードをトリガーします。

クラウド関数が完了すると、成功または失敗のいずれかでなければなりません。これは、2番目の重要なクラウド関数ノード、つまりResponseノードを使用して行われます。

関数が完了すると、Responseノード上でSendシグナルを送信する必要があります。デフォルトでは、これにより結果パラメーターなしで関数の成功が完了します。失敗を送信する必要がある場合は、StatusプロパティをFailureに変更し、エラーメッセージを提供できます。

クライアントに結果を返す必要がある場合は、Responseノードのプロパティで結果Parametersを指定し、適切な接続を行います。

クラウド関数の呼び出し

クラウド関数が配置されたら、フロントエンドから呼び出す必要があります。これはCloud Functionノードを使用して行います。最初

に、ノードのプロパティでドロップダウンを使用して呼び出したいクラウド関数を選択します。

次に、ノードを接続できます。Callシグナル入力にシグナルを送信することで、関数を呼び出します。

選択したクラウド関数のRequestノードにパラメーターがある場合、それらはクラウド関数ノードの入力として表示されます。Responseノードの結果パラメーターも同様です。

クラウド関数の実行が完了すると、SuccessまたはFailureシグナルのいずれかになります。

デプロイ

これがクラウド関数の基本です。このセクションのガイドを読み進めて、詳細やさまざまな使用例について学んでください。最終的にアプリケーションをデプロイしたいと思うでしょうが、クラウド関数が適切に機能するためには、デプロイ時にクラウドサービスが選択されていることを確認する必要があります。