お知らせ:

当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

関数の設定

マイクロサービスのコーディングを始めましょう。 functionsディレクトリ(この場合はfunctions/countfunction)には、以下が含まれています:

  • CountAlert.javaメイン関数ファイル
  • catalyst-config.json設定ファイル
  • JARライブラリファイル
  • その他の依存関係

CountAlert.javaファイルにコードを追加します。関数の設定には、お好みのIDEを使用できます。

Note: 理解を深めるため、このセクションのコードに目を通してください。

以下のコードをコピーしてCountAlert.javaに貼り付け、ファイルを保存してください。

CountAlert.java
copy
import com.catalyst.Context;
import com.catalyst.basic.BasicIO;
import com.catalyst.basic.ZCFunction;
import com.zc.component.cache.ZCCache;
import com.zc.component.mail.ZCMail;
import com.zc.component.mail.ZCMailContent;
import java.util.logging.Logger;
import java.util.logging.Level;
public class CountAlert implements ZCFunction {
 private static final Logger LOGGER = Logger.getLogger(CountAlert.class.getName());
 private static final String FROM_EMAIL="emma@zylker.com"; // 送信者のメールアドレス。Mailで設定したメールアドレスに置き換えてください。
 private static final String TO_EMAIL="brandon.cooper@zylker.com"; // アラートメールの送信先メールアドレスに置き換えてください。
 @Override
    public void runner(Context context, BasicIO basicIO) throws Exception {
  try {
   // 入力から取得した機能名をパラメータとして渡します。機能名は「CRM」または「Desk」です。
   String featureName = (String) basicIO.getParameter("feature_name");
   // 入力から取得したしきい値カウントをパラメータとして渡します
   String mailCountThreshold = (String) basicIO.getParameter("mail_count_threshold");
   // Catalyst Cacheのデフォルトセグメントから機能の現在のカウントを取得します
   String value = ZCCache.getInstance()
          .getCacheValue("COUNTER_" + featureName)
          .getValue();
   // 値がnullの場合、カウントを1に設定します。これは機能の初回実行時に行われます。
   if (value == null) {
    ZCCache.getInstance()
        .putCacheValue("COUNTER_" + featureName, String.valueOf(1), 1l);
   } else {
    Integer count = Integer.valueOf(value);
    // 値がnullでない場合、カウントを1増加させます。
    count++;
    // カウント値をCatalyst Cacheのデフォルトセグメントに書き込みます
    ZCCache.getInstance().putCacheValue("COUNTER_"+featureName,count.toString(),1l);
    // 現在のカウントがしきい値を超えた場合、上記で設定した受信者にメールアラートを送信します
    if (count > Integer.valueOf(mailCountThreshold)) {
     ZCMailContent content = ZCMailContent.getInstance();
     content.setFromEmail(FROM_EMAIL);
     content.setSubject("Alert!");
     content.setContent("Count exceeded the threshold limit for the feature:" +featureName);
     content.setToEmail(TO_EMAIL);
     ZCMail.getInstance()
        .sendMail(content);
     LOGGER.log(Level.INFO, "Email alert sent");// ログに記録されます。コンソールのMonitorセクションのLogsから確認できます
    }
   }
   // ステータスコード200を処理します
   basicIO.setStatus(200);
   basicIO.write("The function executed successfully");
  }catch(Exception e)
  {
   LOGGER.log(Level.SEVERE,"Exception occurred while processing",e); // ログに記録されます。コンソールのMonitorセクションのLogsから確認できます
   // 例外発生時にステータスコード500を処理します
   basicIO.setStatus(500);
   basicIO.write("Error in the function execution");
  }
 }
}

View more

Note: 次のステップに進む前に、コードの14行目のFROM_EMAIL16行目のTO_EMAILの値を、指示に従って必ず置き換えてください。

Basic I/O関数の動作

はじめにで説明したとおり、関数は呼び出し時にAPIを通じてユーザーからfeature_namemail_count_threshold変数の入力を取得します。キャッシュから現在のカウンター値を取得し、呼び出しごとにカウンターを1増加させます。その後、新しいカウンター値をキャッシュに書き込みます。

Note: Catalyst Cacheのデフォルトセグメントを使用するため、設定は不要です。詳細については、Cacheのヘルプページを参照してください。

現在のカウンター値がユーザーが指定したしきい値を超えた場合、コードで定義されたアドレスにメールアラートが送信されます。この情報は適切なメッセージとともにCatalyst Logsにも記録されます。CatalystコンソールのMonitorセクションにあるLogsから確認できます。

これでfunctionsディレクトリの設定が完了しました。

最終更新日 2026-03-05 11:43:24 +0530 IST