このドキュメントでは、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 など)を呼び出し、リソースの現在の状態を取得します。