このページでは、Eventarc for Workflows の使用時に発生する可能性のある問題を解決する方法について説明します。
他に発生する可能性のある問題については、以下のトラブルシューティングをご覧ください。
ワークフロー ターゲットが存在しないため、トリガーの作成に失敗する
次のようなエラー メッセージが表示されます。
cloud workflow "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID" does not exist
PROJECT_ID
: 実際の Google Cloud プロジェクト IDLOCATION
: ワークフローのロケーションWORKFLOW_ID
: ワークフローの名前
これは、Eventarc がターゲット ワークフローを見つけられない場合に発生します。この問題を解決するには:
ターゲット ワークフローが存在し、アクティブであることを確認します。
gcloud workflows list --location -
出力例を以下に示します。
NAME STATE REVISION_ID UPDATE_TIME projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID ACTIVE 000004-c0c 2021-11-19T14:29:27.530185556Z
トリガーの作成時に正しいワークフロー ID とワークフローのロケーションが指定されていることを確認します。
トリガーは正常に作成されたが、ターゲットがイベントを受信しない
トリガーを作成してから十分な時間が経過していることを確認します。イベントが送信されるまでに 2 分ほどかかることがあります。
それでもトリガーが機能せず、イベントが配信されない場合:
Pub/Sub からターゲットに送信されるイベントがドロップされている可能性があります。イベントがドロップされないように、Pub/Sub サブスクリプションの再試行ポリシーを設定するか、配信不能のメッセージをデッドレター トピックに転送します(これは、デッドレター キューとも呼ばれます)。
デッドレター トピックを設定する前に、トリガーのトピックとサブスクリプションを取得します。
gcloud eventarc triggers describe TRIGGER \ --location=LOCATION
次のように置き換えます。
TRIGGER
: トリガーの ID または完全修飾識別子。LOCATION
: Eventarc トリガーのロケーション。
Google Cloud コンソールを使用して、指標
topic/send_message_operation_count
を含むメッセージが Pub/Sub トピックにパブリッシュされているかどうかをモニタリングします。Pub/Sub トピックにメッセージがパブリッシュされていない場合は、ソースでイベントが生成されていることを確認します。
- Cloud Audit Logs のイベントの場合は、ログを確認し、モニタリング対象サービスがログを作成していることを確認します。ログが記録されていてもイベントが配信されない場合は、サポートにお問い合わせください。
Cloud Storage からのイベントの場合は、バケットの通知を確認します。
gsutil notification list gs://BUCKET_NAME
BUCKET_NAME
は、バケットの名前に置き換えます。
出力例を以下に示します。projects/_/buckets/BUCKET_NAME/notificationConfigs/NOTIFICATION_CONFIG_ID Cloud Pub/Sub topic: projects/PROJECT_ID/topics/TOPIC_ID Filters: Event Types: OBJECT_ARCHIVE
この出力には次の値が含まれます。
TOPIC_ID
: 既存の Pub/Sub トピックの ID。NOTIFICATION_CONFIG_ID
: 通知構成の ID。
イベントが配信されているものの、ワークフローの実行がトリガーされていない場合、認証されていない呼び出しが原因である可能性があります。ワークフロー実行の作成権限を持つサービス アカウントにトリガーが関連付けられていることを確認します。ユーザー管理のサービス アカウントを作成する手順については、特定のプロバイダ、イベントタイプ、Workflows 宛先のトリガーを作成する場合の「トリガーを作成する準備」セクションをご覧ください。
Pub/Sub トピックにメッセージがパブリッシュされているものの、ワークフロー実行がトリガーされない場合は、Eventarc ペイロードが 512 KB を超えていないことを確認します。リソースの上限については、割り当てと上限をご覧ください。
Cloud コンソールで、[サブスクリプション] ページに移動します。
サブスクリプション内の未確認メッセージをモニタリングします。詳細については、転送された配信不能メッセージのモニタリングをご覧ください。
未確認のメッセージがある場合は、ワークフローのログで
TriggerPubsubExecution
メソッドをモニタリングします。ワークフロー ログの表示の詳細については、ワークフローのログの表示をご覧ください。- フィルタ
Permission 'workflows.executions.create' denied
を使用して、ワークフローの実行をトリガーする権限を持つサービス アカウントに、トリガーが関連付けられているかどうかを確認します。適切なロールをサービス アカウントに付与する方法については、特定のプロバイダ、イベントタイプ、Workflows の宛先を作成する場合の「トリガーを作成する準備」セクションをご覧ください。 - キーワード
event size exceeded
を使用して、イベントサイズが 512 KB を超えているかどうか確認します。
- フィルタ
ログが記録されていてもイベントが配信されない場合は、サポートにお問い合わせください。
関連情報
- Workflows に固有のその他の問題については、問題のトラブルシューティングをご覧ください。
- その他のサポートを確認については、サポートをご覧ください。