<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to specify home catalog for table trigger in YAML in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/how-to-specify-home-catalog-for-table-trigger-in-yaml/m-p/151908#M53727</link>
    <description>&lt;P&gt;Thanks&amp;nbsp;&amp;nbsp;for the comprehensive answer. Very well explained.&lt;/P&gt;</description>
    <pubDate>Wed, 25 Mar 2026 02:44:25 GMT</pubDate>
    <dc:creator>Dimitry</dc:creator>
    <dc:date>2026-03-25T02:44:25Z</dc:date>
    <item>
      <title>How to specify home catalog for table trigger in YAML</title>
      <link>https://community.databricks.com/t5/data-engineering/how-to-specify-home-catalog-for-table-trigger-in-yaml/m-p/149116#M53023</link>
      <description>&lt;P&gt;I have a job that is triggered from changes in a table.&lt;/P&gt;&lt;P&gt;Table is located in the home catalog.&lt;/P&gt;&lt;P&gt;I have multiple environments, that are not predefined (created on the fly)&lt;/P&gt;&lt;P&gt;Some process writes into a table, and then job starts processing this table.&lt;/P&gt;&lt;P&gt;I have a generic target&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;targets:
  client-workspace:
    workspace:
      root_path: ${var.bundle_path}
    mode: production&lt;/LI-CODE&gt;&lt;P&gt;I don't specify host, because it is not pre-determined.&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;      trigger:
        pause_status: UNPAUSED
        table_update:
          table_names:
            - {WORKSPACE_NAME}.schema.table&lt;/LI-CODE&gt;&lt;P&gt;and here I hit a roadblock, as there is no way to figure&amp;nbsp;WORKSPACE_NAME, unless configured which means I hardcode each dynamically created workspace.&lt;/P&gt;&lt;P&gt;I understand there is a way round using CLI and providing the parameter in the command line.&lt;/P&gt;&lt;P&gt;Is there a better solution that would enable deployment from UI?&lt;/P&gt;</description>
      <pubDate>Tue, 24 Feb 2026 03:47:41 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/how-to-specify-home-catalog-for-table-trigger-in-yaml/m-p/149116#M53023</guid>
      <dc:creator>Dimitry</dc:creator>
      <dc:date>2026-02-24T03:47:41Z</dc:date>
    </item>
    <item>
      <title>Re: How to specify home catalog for table trigger in YAML</title>
      <link>https://community.databricks.com/t5/data-engineering/how-to-specify-home-catalog-for-table-trigger-in-yaml/m-p/149159#M53026</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/164556"&gt;@Dimitry&lt;/a&gt;&amp;nbsp;.&lt;/P&gt;&lt;P&gt;With a CI/CD pipeline you can override a default parameter of a databricks.yml passing an argument during the deployment. For example to override a Service Principal that can be different between envs you can do in this way:&lt;/P&gt;&lt;DIV&gt;&lt;PRE&gt;&lt;STRONG&gt; - name: Deploy asset bundle to dev&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;   working-directory: ./asset_bundle_directory&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;   run: databricks bundle deploy --auto-approve --target dev --var="service_principal_id=${{ secrets.DATABRICKS_CLIENT_ID }}"&lt;/STRONG&gt;&lt;/PRE&gt;&lt;DIV&gt;About the trigger you can define the same thing using the variables. These wil be overwritten during the deploy process from DevOps or Actions. For example:&lt;/DIV&gt;&lt;PRE&gt;&lt;STRONG&gt;trigger:&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;  pause_status: UNPAUSED&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;  table_update:&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;    table_names:&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;      - ${var.catalog}.${var.schema}.table&lt;/STRONG&gt;&lt;/PRE&gt;&lt;P&gt;This process change the databrikcs.yml with the right parameters and deploy the result. If you want to deploy from UI you need to change the databrciks.yml parameters there is no way to do this dinamically. Usually the targets are also used to as many as developer there are, in this way every developer can you their parametrs but for the dev and prod evns there should be a unique way to deploy and change the params.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Let me know if it's clear or not and if you still need support-&lt;/P&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 24 Feb 2026 11:54:05 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/how-to-specify-home-catalog-for-table-trigger-in-yaml/m-p/149159#M53026</guid>
      <dc:creator>Ale_Armillotta</dc:creator>
      <dc:date>2026-02-24T11:54:05Z</dc:date>
    </item>
    <item>
      <title>Re: How to specify home catalog for table trigger in YAML</title>
      <link>https://community.databricks.com/t5/data-engineering/how-to-specify-home-catalog-for-table-trigger-in-yaml/m-p/149216#M53045</link>
      <description>&lt;P&gt;Thanks for the details, but I mentioned that pathway:&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;gt;&amp;gt;I understand there is a way round using CLI and providing the parameter in the command line.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;My question is "Is there a better solution that would enable deployment from the UI?" Perhaps I was not clear, so I attached the screenshot.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 24 Feb 2026 21:43:49 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/how-to-specify-home-catalog-for-table-trigger-in-yaml/m-p/149216#M53045</guid>
      <dc:creator>Dimitry</dc:creator>
      <dc:date>2026-02-24T21:43:49Z</dc:date>
    </item>
    <item>
      <title>Re: How to specify home catalog for table trigger in YAML</title>
      <link>https://community.databricks.com/t5/data-engineering/how-to-specify-home-catalog-for-table-trigger-in-yaml/m-p/149288#M53062</link>
      <description>&lt;P&gt;For my knowledge there isn't another solution to deploy the Asset Bundle from UI.&lt;/P&gt;</description>
      <pubDate>Wed, 25 Feb 2026 12:41:10 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/how-to-specify-home-catalog-for-table-trigger-in-yaml/m-p/149288#M53062</guid>
      <dc:creator>Ale_Armillotta</dc:creator>
      <dc:date>2026-02-25T12:41:10Z</dc:date>
    </item>
    <item>
      <title>Re: How to specify home catalog for table trigger in YAML</title>
      <link>https://community.databricks.com/t5/data-engineering/how-to-specify-home-catalog-for-table-trigger-in-yaml/m-p/150146#M53271</link>
      <description>&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/164556"&gt;@Dimitry&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;Thanks for the detailed question. This is a common challenge when working with Databricks Asset Bundles (DABs) across dynamically provisioned workspaces where the catalog name varies per environment.&lt;/P&gt;
&lt;P&gt;You are right that there is currently no built-in bundle substitution like ${workspace.default_catalog} or ${workspace.catalog} that would automatically resolve to the workspace's home catalog at deploy time. The available built-in substitutions are limited to things like ${workspace.host}, ${workspace.current_user.userName}, ${bundle.name}, ${bundle.target}, etc.&lt;/P&gt;
&lt;P&gt;Here are your options, starting with the ones that work best for dynamic environments:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;OPTION 1: VARIABLE-OVERRIDES FILE (BEST FOR UI DEPLOYMENT)&lt;/P&gt;
&lt;P&gt;Since you want to deploy from the UI (the bundle deployment dialog), the variable-overrides.json approach may be your best bet. You can define a variable in your databricks.yml:&lt;/P&gt;
&lt;P&gt;variables:&lt;BR /&gt;catalog_name:&lt;BR /&gt;description: "The home catalog for this workspace"&lt;/P&gt;
&lt;P&gt;targets:&lt;BR /&gt;client-workspace:&lt;BR /&gt;workspace:&lt;BR /&gt;root_path: ${var.bundle_path}&lt;BR /&gt;mode: production&lt;/P&gt;
&lt;P&gt;resources:&lt;BR /&gt;jobs:&lt;BR /&gt;my_job:&lt;BR /&gt;trigger:&lt;BR /&gt;pause_status: UNPAUSED&lt;BR /&gt;table_update:&lt;BR /&gt;table_names:&lt;BR /&gt;- ${var.catalog_name}.schema.table&lt;/P&gt;
&lt;P&gt;Then create the file .databricks/bundle/client-workspace/variable-overrides.json in your bundle project with:&lt;/P&gt;
&lt;P&gt;{&lt;BR /&gt;"catalog_name": "my_workspace_catalog"&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;This file can be generated as part of your workspace provisioning process. When the workspace is dynamically created, the provisioning script can also write this overrides file. This way the YAML stays generic and the environment-specific value is in a separate file.&lt;/P&gt;
&lt;P&gt;Docs: &lt;A href="https://docs.databricks.com/en/dev-tools/bundles/variables.html" target="_blank"&gt;https://docs.databricks.com/en/dev-tools/bundles/variables.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;OPTION 2: ENVIRONMENT VARIABLES&lt;/P&gt;
&lt;P&gt;If you have any automation that runs before deployment (even from the UI), you can set:&lt;/P&gt;
&lt;P&gt;export BUNDLE_VAR_catalog_name=my_workspace_catalog&lt;/P&gt;
&lt;P&gt;Environment variables take priority over defaults and variable-overrides.json. This works well if your deployment environment (e.g., a CI runner or a notebook that triggers deployment) can set env vars.&lt;/P&gt;
&lt;P&gt;Docs: &lt;A href="https://docs.databricks.com/en/dev-tools/bundles/variables.html" target="_blank"&gt;https://docs.databricks.com/en/dev-tools/bundles/variables.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;OPTION 3: TARGET-SPECIFIC VARIABLES&lt;/P&gt;
&lt;P&gt;If you know the catalog names at the time you define targets, you can hardcode them per target:&lt;/P&gt;
&lt;P&gt;variables:&lt;BR /&gt;catalog_name:&lt;BR /&gt;description: "The home catalog for this workspace"&lt;/P&gt;
&lt;P&gt;targets:&lt;BR /&gt;workspace-alpha:&lt;BR /&gt;variables:&lt;BR /&gt;catalog_name: alpha_catalog&lt;BR /&gt;workspace:&lt;BR /&gt;host: &lt;A href="https://alpha.cloud.databricks.com" target="_blank"&gt;https://alpha.cloud.databricks.com&lt;/A&gt;&lt;BR /&gt;workspace-beta:&lt;BR /&gt;variables:&lt;BR /&gt;catalog_name: beta_catalog&lt;BR /&gt;workspace:&lt;BR /&gt;host: &lt;A href="https://beta.cloud.databricks.com" target="_blank"&gt;https://beta.cloud.databricks.com&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;But as you noted, this requires predefined targets, which does not work for dynamically created workspaces.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;OPTION 4: CLI VARIABLE OVERRIDE (WHAT YOU ALREADY KNOW)&lt;/P&gt;
&lt;P&gt;For completeness, the CLI approach:&lt;/P&gt;
&lt;P&gt;databricks bundle deploy --target client-workspace --var="catalog_name=my_workspace_catalog"&lt;/P&gt;
&lt;P&gt;This is the most straightforward for CI/CD pipelines but does not work for pure UI-based deployment.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;REGARDING THE CORE LIMITATION&lt;/P&gt;
&lt;P&gt;Unfortunately, there is no built-in substitution that automatically resolves the workspace's default catalog. The bundle substitution system (as of CLI v0.283+) provides workspace.host, workspace.root_path, workspace.current_user.*, bundle.name, bundle.target, and bundle.git.*, but nothing for the catalog.&lt;/P&gt;
&lt;P&gt;This is a known gap. If you need this capability natively, I would encourage you to file a feature request on the Databricks CLI GitHub repository:&lt;BR /&gt;&lt;A href="https://github.com/databricks/cli/issues" target="_blank"&gt;https://github.com/databricks/cli/issues&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;A related issue exists for table triggers requiring tables to already exist at deploy time (GitHub issue #4437), which compounds this problem for CI/CD scenarios.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;RECOMMENDED APPROACH FOR YOUR USE CASE&lt;/P&gt;
&lt;P&gt;Given your dynamic workspace provisioning scenario, I would recommend:&lt;/P&gt;
&lt;P&gt;1. Add a variable for the catalog name in your databricks.yml (no default value, so deployment fails loudly if it is not set).&lt;BR /&gt;2. As part of your workspace provisioning automation, generate the variable-overrides.json file with the correct catalog name for that workspace.&lt;BR /&gt;3. Use ${var.catalog_name}.schema.table in your trigger configuration.&lt;/P&gt;
&lt;P&gt;This keeps your bundle YAML fully generic and portable across any number of dynamically created workspaces.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;REFERENCES&lt;/P&gt;
&lt;P&gt;- Bundle variables and substitutions: &lt;A href="https://docs.databricks.com/en/dev-tools/bundles/variables.html" target="_blank"&gt;https://docs.databricks.com/en/dev-tools/bundles/variables.html&lt;/A&gt;&lt;BR /&gt;- Bundle configuration settings reference: &lt;A href="https://docs.databricks.com/en/dev-tools/bundles/settings.html" target="_blank"&gt;https://docs.databricks.com/en/dev-tools/bundles/settings.html&lt;/A&gt;&lt;BR /&gt;- Bundle deployment modes: &lt;A href="https://docs.databricks.com/en/dev-tools/bundles/deployment-modes.html" target="_blank"&gt;https://docs.databricks.com/en/dev-tools/bundles/deployment-modes.html&lt;/A&gt;&lt;BR /&gt;- Related GitHub issue (table trigger validation): &lt;A href="https://github.com/databricks/cli/issues/4437" target="_blank"&gt;https://github.com/databricks/cli/issues/4437&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Hope this helps. Let me know if you have follow-up questions about the variable-overrides approach or need help with the provisioning automation piece.&lt;/P&gt;
&lt;P&gt;* This reply used an agent system I built to research and draft this response based on the wide set of documentation I have available and previous memory. I personally review the draft for any obvious issues and for monitoring system reliability and update it when I detect any drift, but there is still a small chance that something is inaccurate, especially if you are experimenting with brand new features.&lt;/P&gt;
&lt;P&gt;* This reply used an agent system I built to research and draft this response based on the wide set of documentation I have available and previous memory. I personally review the draft for any obvious issues and for monitoring system reliability and update it when I detect any drift, but there is still a small chance that something is inaccurate, especially if you are experimenting with brand new features.&lt;/P&gt;</description>
      <pubDate>Sun, 08 Mar 2026 04:53:43 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/how-to-specify-home-catalog-for-table-trigger-in-yaml/m-p/150146#M53271</guid>
      <dc:creator>SteveOstrowski</dc:creator>
      <dc:date>2026-03-08T04:53:43Z</dc:date>
    </item>
    <item>
      <title>Re: How to specify home catalog for table trigger in YAML</title>
      <link>https://community.databricks.com/t5/data-engineering/how-to-specify-home-catalog-for-table-trigger-in-yaml/m-p/151908#M53727</link>
      <description>&lt;P&gt;Thanks&amp;nbsp;&amp;nbsp;for the comprehensive answer. Very well explained.&lt;/P&gt;</description>
      <pubDate>Wed, 25 Mar 2026 02:44:25 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/how-to-specify-home-catalog-for-table-trigger-in-yaml/m-p/151908#M53727</guid>
      <dc:creator>Dimitry</dc:creator>
      <dc:date>2026-03-25T02:44:25Z</dc:date>
    </item>
  </channel>
</rss>

