メタデータ変更フィードのトラブルシューティング

このドキュメントでは、Dataplex Universal Catalog のメタデータ変更フィードに関する一般的な問題のトラブルシューティングと解決に役立つ情報を提供します。

メタデータ変更フィードの作成エラー

このセクションでは、メタデータ変更フィードの作成時に発生する可能性のあるエラーの解決方法について説明します。

権限拒否エラー

メタデータ変更フィードを作成しようとすると、PERMISSION_DENIED エラーが発生します。

この問題は、ユーザーまたは Dataplex Universal Catalog サービス アカウントに必要な権限がない場合に発生します。

この問題を解決するには、次の要件を確認してください。

  • dataplex.metadataFeeds.create 権限があることを確認します。

  • フィードのスコープ(組織、プロジェクト、エントリ グループ)に対する dataplex.entryGroups.export 権限があることを確認します。

  • Dataplex Universal Catalog サービス アカウント(service-{PROJECT_NUMBER}@gcp-sa-dataplex.iam.gserviceaccount.com)に、宛先 Pub/Sub トピックに対する roles/pubsub.publisher ロールがあることを確認します。

VPC Service Controls のエラー

フィードの作成時に PERMISSION_DENIED エラーまたは VPC Service Controls エラーが表示される。

この問題を解決するには、メタデータ変更フィードと、そのフィードがモニタリングするリソースが同じ VPC Service Controls 境界に属していることを確認します。

  • フィードが組織スコープの場合、同じ境界内のプロジェクトのみがモニタリングされます。

  • フィードがプロジェクト スコープまたはエントリ グループ スコープの場合、指定されたすべてのプロジェクトまたはエントリ グループが、フィードを作成するプロジェクトと同じ境界内にあることを確認します。

通知の配信に関する問題

このセクションでは、通知の配信に関する問題を解決する方法について説明します。

通知が届かない

Pub/Sub トピックで通知を受信していない。これには、次のような原因が考えられます。

  • 権限がない: Dataplex Universal Catalog サービス アカウントがトピックに対する roles/pubsub.publisher ロールを失いました。

  • 有効化の遅延: 新しく作成または更新されたフィードが有効になるまでに最大 10 分かかることがあります。

  • トピックが削除された: 宛先の Pub/Sub トピックが削除されると、Dataplex Universal Catalog は公開を停止します。

  • スコープまたはフィルタの不一致: 変更が構成されたスコープまたはフィルタと一致しない可能性があります。

この問題を解決するには、次の点を確認してください。

  • Dataplex Universal Catalog サービス アカウントにトピックに対する roles/pubsub.publisher ロールがあることを確認します。

  • フィードを作成または更新してから 10 分以上待ちます。

  • Pub/Sub トピックが存在するかどうかを確認します。削除された場合は、再作成する必要があります。

  • フィードの構成を確認して、スコープとフィルタが、受け取る予定のメタデータの変更と一致していることを確認します。

通知が重複して届く

通知メッセージが重複して届く。Dataplex Universal Catalog では「最低でも 1 回」の配信が保証されているため、特に再試行中に重複メッセージが発生する可能性があります。

重複の可能性を処理するようにサブスクライバー アプリケーションを構成します。messageId または変更タイムスタンプを使用して、メッセージを識別して重複除去できます。

コンテンツの問題

このセクションでは、メタデータ変更フィード通知の内容に関する問題を解決する方法について説明します。

ペイロードに完全なメタデータがない

通知メッセージには、リソース名と変更タイプのみが含まれ、完全なメタデータや具体的な変更は含まれません。

これは、メタデータ変更フィード通知が、完全なペイロードではなく「変更シグネチャ」(変更内容)を提供するように設計されているためです。これにより、メッセージが軽量になり、ペイロード サイズの上限を超えないようにできます。

通知で提供されたリソース名を使用して Dataplex Universal Catalog API(GetEntry など)を呼び出し、リソースの現在の状態を取得します。