GitHub コネクタの制限事項

Important

この機能は ベータ版です。 ワークスペース管理者は、[ プレビュー] ページからこの機能へのアクセスを制御できます。 Manage Azure Databricks プレビューを参照してください。

このページには、Lakeflow Connect のマネージド GitHub コネクタの既知の制限事項に関する情報が含まれています。

一般的な制限事項

  • スケジュールされたパイプラインを実行すると、アラートはすぐにトリガーされません。 代わりに、次回の更新の実行時にトリガーされます。
  • 取り込み元テーブルが削除されても、取り込み先テーブルが自動的に削除されることはありません。 取り込み先テーブルは手動で削除する必要があります。 この動作は、Lakeflow での Spark 宣言パイプラインの動作と一致しません。
  • ソースのメンテナンス期間中は、Databricks がデータにアクセスできない場合があります。
  • ソース テーブル名が既存の宛先テーブル名と競合する場合、パイプラインの更新は失敗します。
  • 複数宛先パイプラインのサポートは API 専用です。
  • 必要に応じて、取り込むテーブルの名前を変更できます。 パイプライン内のテーブルの名前を変更すると、そのテーブルは API 専用パイプラインになり、UI でパイプラインを編集できなくなります。
  • パイプラインが既に開始された後で列を選択した場合、コネクタは新しい列のデータを自動的にバックフィルしません。 履歴データを取り込むには、テーブルに対して完全な更新を手動で実行します。
  • Databricks は、異なるソース スキーマから取得された場合でも、同じパイプライン内で同じ名前の 2 つ以上のテーブルを取り込むことはありません。
  • ソース システムでは、カーソル列が単調に増加していることを前提としています。
  • コネクタは、変換なしで生データを取り込みます。 変換には、Lakeflow パイプラインでダウンストリーム Spark 宣言パイプラインを使用します。

削除はサポートされていません

GitHub コネクタでは、repo_contents を除き、削除の取得はサポートされていません。 これは、GitHub API の制限事項です。

repo_contents テーブルは、ファイルの削除をキャプチャします。 ソース リポジトリからファイルが削除されると、コネクタは対応する行をテーブルから削除します (ハード削除)。 リポジトリの内容を参照してください。

限定的なインクリメンタルサポート

GitHub API にはカーソルに基づいてレコードをフィルター処理する方法がないため、ほとんどのテーブルでは増分更新がサポートされていません。 これらのテーブルは、各パイプライン更新で完全に更新されます。 テーブルとその更新パターンの一覧については、「 サポートされているデータ」を参照してください。

大規模な組織向けのパフォーマンス ガイダンス

commitspull_requestsissuesなどのテーブルには、大規模な組織の何百万ものレコードを含めることができます。 これらのテーブルはパイプラインの実行ごとに完全に更新されるため、インジェスト コストは組織のサイズとパイプラインの頻度に応じてスケーリングされます。

実行ごとのボリュームを減らすには:

  • 列の選択を使用して、これらのテーブルに取り込まれる列を制限します。
  • データ量の多いテーブルを含むパイプラインでは、実行頻度を低く設定します。

リポジトリコンテンツ

repo_contents テーブルは、ファイル、ディレクトリ、サブモジュール、シンボリック リンクなど、各リポジトリのツリー内のすべてのエントリを取り込みます。 blob列には、ファイル (content) エントリのみが設定されます。 ディレクトリ (tree) とサブモジュール (commit) は、null content 列を持つメタデータのみの行として取り込まれます。 次の制限事項が適用されます。

  • 既定のブランチのみ: コネクタは、 branch_name 列に記録された各リポジトリの既定のブランチを取り込みます。 リポジトリごとに複数のブランチを選択または取り込む操作はサポートされていません。
  • ファイル サイズの制限: 100 MB を超えるファイルはフェッチされません。 コネクタは引き続きファイルのメタデータ行 (pathshasize_bytes) を取り込みますが、 content 列は null
  • バイナリ ファイル: バイナリ ファイルの場合、 content 列は null され、 is_binarytrue。 テキスト ファイルの内容のみが contentに設定されます。

詳細については、「 リポジトリの内容 (repo_contents テーブル)」を参照してください。

サポートされているデータ

増分更新を含むテーブル

次の表は、増分更新をサポートしています。

  • repositories
  • audit_logs: 組織アカウントのみ。 無料プラン github.com 場合、監査ログの履歴は 90 日に制限されます。
  • repo_contents: リポジトリ ツリーのエントリとファイルの内容を取り込みます。 増分更新と削除に対応しています。 リポジトリの内容を参照してください。

バッチ更新のみのテーブル

次の表は、各パイプライン更新 (非増分) で完全に更新されます。

  • branches
  • collaborators
  • commits
  • deployments
  • deployment_statuses
  • discussions
  • issues
  • labels
  • milestones
  • org_members
  • pull_request_commits
  • pull_request_review_comments
  • pull_request_reviews
  • pull_requests
  • releases
  • tags
  • team_members
  • teams
  • workflows