Docs Menu
Docs Home
/
MongoDB Atlas
/ /

trigger を無効にする

項目一覧

  • trigger を手動で無効にする
  • スナップショットから復元

trigger は、ネットワークの中断や基礎のクラスターへの変更など、trigger の変更ストリームの継続を妨げるイベントに応答して suspended状態になることがあります。 trigger が一時停止状態になると、無効になります。変更イベントは受信されないため、起動しません。

注意

trigger が一時停止または失敗したイベント、Atlas はプロジェクトオーナーに問題を警告するメールを送信します。

Atlas UIから、または App Services CLI を使用してアプリケーションディレクトリをインポートすることで、アクティブな trigger を手動で無効にすることができます。

  1. Triggersページに移動します

    1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

    2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

    3. サイドバーで、 Services見出しの下のTriggersをクリックします。

      [ Triggers]ページが表示されます。

  2. リストされた trigger から、無効にする trigger を見つけます。

  3. Enabled設定を切り替えて無効にし、 Saveをクリックします。

  1. MongoDB Atlasユーザーを認証します。

    MongoDB Atlas Administration APIキーを使用して、App Services CLI にログします。

    appservices login --api-key="<API KEY>" --private-api-key="<PRIVATE KEY>"
  2. アプリの最新の構成ファイルを取得します。

    次のコマンドを実行して、構成ファイルのローカルコピーを取得します。

    appservices pull --remote=<App ID>

    デフォルトでは 、コマンドは現在の 作業ディレクトリにファイルをプルします。任意の --localフラグを使用してディレクトリパスを指定できます。

  3. trigger構成ファイルを確認します。

    アプリケーションの新しいコピーをエクスポートした 場合は、中断された trigger の最新の構成ファイルがすでに含まれているはずです。 trigger と同じ名前のtrigger構成ファイル/triggersディレクトリで探すことで、構成ファイルが存在することを確認できます。

  4. trigger を無効にします。

    trigger構成ファイルが存在することを確認した後、値trueを持つ"disabled"という名前のフィールドを trigger json 定義の最上位レベルに追加します。

    {
    "id": "6142146e2f052a39d38e1605",
    "name": "steve",
    "type": "SCHEDULED",
    "config": {
    "schedule": "*/1 * * * *"
    },
    "function_name": "myFunc",
    "disabled": true
    }
  5. 変更を配置します。

    次のコマンドを実行して、変更を配置します。

    appservices push

スナップショットからデータベースを復元すると、無効化または一時停止されていた trigger が再度有効になります。すでに処理されたイベントに対して trigger は起動しません。スナップショットからの復元の詳細については、「クラスターの復元 」を参照してください。

次のシナリオを検討してみましょう。

  1. データベースtrigger が無効化または一時停止されている。

  2. trigger が無効になっている間に新しいドキュメントが追加されます。

  3. 新しいドキュメントが追加される前の時間にデータベースをスナップショットから復元します。

  4. Atlas は無効にされたデータベーストリガーを再起動します。

  5. 再起動された trigger は、新しく追加されたすべてのドキュメントを取得し、 各ドキュメントに対して起動します。ただし、すでに処理されたイベントに対して再度起動することはありません

注意

以前に有効にしたデータベーストリガーがスナップショットの復元中に実行中されている場合、trigger は復元プロセス中に Atlas クラスターに接続できないため、Atlas UIの [trigger 編集] セクションにエラーが表示されます。スナップショットの復元が完了すると、エラーはなくなり、trigger は正常に実行され続けます。

戻る

認証 Triggers