メインコンテンツまでスキップ

実行可能な関数

クライアントにサーバー上で実行される関数へのアクセスを提供します。

実行可能な関数は、シークレット、データベース、コネクタなど、その他のバックエンドリソースへのアクセスが必要な関数に有用です。

バックエンド関数をクライアントで利用できるようにするには、SquidService クラスを継承したクラス内で、@executable デコレーターを関数に付与してください。

注意

Squid の実行可能な関数を使用する際は、これらのバックエンド関数がクライアントから直接アクセス可能であり、バックエンドリソースやシークレットへ無制限のアクセス権を持つことを念頭に置く必要があります。つまり、実行を許可するのは認証されたユーザーのみになるよう、十分に注意する必要があります。

以下は実行可能な関数の例です:

Backend code
import { executable, SquidService } from '@squidcloud/backend';

export class ExampleService extends SquidService {
@executable()
concat(str1: string, str2: string): string {
return `${str1}${str2}`;
}
}

Squid がこの実行可能な関数および同じサービス内のその他の関数を検出できるようにするため、サービスが service/index.ts ファイルでエクスポートされていることを確認してください:

export * from './example-service';

この関数は Squid Client SDK を使用してクライアントから実行することができます。最初のパラメーターには実行可能な関数の名前を指定し、続けて関数のシグネチャに一致するパラメーターを渡してください:

Client code
const result = await squid.executeFunction('concat', 'string1', 'string2');
console.log(result); // Prints 'string1string2'