<?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: Failed to resolve External API in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/failed-to-resolve-external-api/m-p/168606#M55949</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/254973"&gt;@somnii&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;If You Are Running on Serverless Compute&lt;/P&gt;&lt;P&gt;Serverless workloads run within the Databricks-managed control plane. Outbound internet calls from Serverless Compute are governed by Serverless Egress Policies at the Account level:&lt;/P&gt;&lt;P&gt;Restricted Egress Mode: By default, serverless network policies for many accounts are in a restricted mode to prevent arbitrary outbound internet access.&lt;/P&gt;&lt;P&gt;How to Fix (Account Admin Required):&lt;/P&gt;&lt;P&gt;Log into the Databricks Account Console (accounts.cloud.databricks.com or platform equivalent).&lt;/P&gt;&lt;P&gt;Navigate to Security &amp;gt; Networking &amp;gt; Context-based ingress &amp;amp; egress control&lt;/P&gt;&lt;P&gt;Locate the policy associated with your trial workspace&lt;/P&gt;&lt;P&gt;On the Egress tab, ensure Internet access is set to "Allow access to all destinations" or explicitly add your external API domain (FQDN) to the Allowed Destinations list.&lt;/P&gt;&lt;P&gt;Restart your serverless session and re-run your request.&lt;/P&gt;&lt;P&gt;2. If You Are Running on Classic Compute (Single Node / Multi-Node Clusters)&lt;/P&gt;&lt;P&gt;Classic clusters run in the cloud virtual networks (VPC/VNet). Trial workspaces often deploy into a Databricks-managed Default VPC/VNet:&lt;/P&gt;&lt;P&gt;Egress Restrictions / Firewall Rules: If your trial workspace was provisioned using a Customer-Managed VPC (VNet Injection) then outbound internet traffic is governed by your cloud networks' Security Groups, NAT Gateway, or Egress Firewall.&lt;/P&gt;&lt;P&gt;IP Whitelisting on the External API: If the API endpoint you are calling is enforcing IP whitelisting then calls made from a Databricks cluster would originate from the public IP of your NAT Gateway or Public Node IP. You will need to whitelist these public egress IPs on the external API side.&lt;/P&gt;&lt;P&gt;PySpark UDF Internet Access Restriction: If your API request is wrapped in a PySpark User-Defined Function (UDF) spanning across worker nodes, be sure node-to-node security group rules allow outbound 80/443 traffic.&lt;/P&gt;&lt;P&gt;Quick Troubleshooting Verification&lt;/P&gt;&lt;P&gt;Try executing a simple Python request directly from a notebook attached to a Classic All-Purpose Cluster:&lt;/P&gt;&lt;P&gt;Python&lt;/P&gt;&lt;P&gt;import requests&lt;/P&gt;&lt;P&gt;try:&lt;/P&gt;&lt;P&gt;response = requests.get("&lt;A href="https://api.your-endpoint.com/health" target="_blank"&gt;https://api.your-endpoint.com/health&lt;/A&gt;", timeout=10)&lt;/P&gt;&lt;P&gt;print("Status:", response.status_code)&lt;/P&gt;&lt;P&gt;except Exception as e:&lt;/P&gt;&lt;P&gt;print("Connection Failed:", e)&lt;/P&gt;&lt;P&gt;If Classic Compute succeeds but Serverless fails: This indicates a Serverless Egress Policy restriction in the Account Console.&lt;/P&gt;&lt;P&gt;If both fail with a DNS/Timeout error: This indicates a cloud network firewall, proxy configuration, or the target API is blocking Databricks egress IPs.&lt;/P&gt;</description>
    <pubDate>Tue, 15 Sep 2026 05:06:57 GMT</pubDate>
    <dc:creator>Satyasai</dc:creator>
    <dc:date>2026-09-15T05:06:57Z</dc:date>
    <item>
      <title>Failed to resolve External API</title>
      <link>https://community.databricks.com/t5/data-engineering/failed-to-resolve-external-api/m-p/168604#M55947</link>
      <description>&lt;P&gt;I am currently testing on a Premium trial, but my workspace is unable to resolve my external API to pull data. May I know if I need to update anything on the settings side to fix this issue?&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Tue, 15 Sep 2026 04:29:37 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/failed-to-resolve-external-api/m-p/168604#M55947</guid>
      <dc:creator>somnii</dc:creator>
      <dc:date>2026-09-15T04:29:37Z</dc:date>
    </item>
    <item>
      <title>Re: Failed to resolve External API</title>
      <link>https://community.databricks.com/t5/data-engineering/failed-to-resolve-external-api/m-p/168606#M55949</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/254973"&gt;@somnii&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;If You Are Running on Serverless Compute&lt;/P&gt;&lt;P&gt;Serverless workloads run within the Databricks-managed control plane. Outbound internet calls from Serverless Compute are governed by Serverless Egress Policies at the Account level:&lt;/P&gt;&lt;P&gt;Restricted Egress Mode: By default, serverless network policies for many accounts are in a restricted mode to prevent arbitrary outbound internet access.&lt;/P&gt;&lt;P&gt;How to Fix (Account Admin Required):&lt;/P&gt;&lt;P&gt;Log into the Databricks Account Console (accounts.cloud.databricks.com or platform equivalent).&lt;/P&gt;&lt;P&gt;Navigate to Security &amp;gt; Networking &amp;gt; Context-based ingress &amp;amp; egress control&lt;/P&gt;&lt;P&gt;Locate the policy associated with your trial workspace&lt;/P&gt;&lt;P&gt;On the Egress tab, ensure Internet access is set to "Allow access to all destinations" or explicitly add your external API domain (FQDN) to the Allowed Destinations list.&lt;/P&gt;&lt;P&gt;Restart your serverless session and re-run your request.&lt;/P&gt;&lt;P&gt;2. If You Are Running on Classic Compute (Single Node / Multi-Node Clusters)&lt;/P&gt;&lt;P&gt;Classic clusters run in the cloud virtual networks (VPC/VNet). Trial workspaces often deploy into a Databricks-managed Default VPC/VNet:&lt;/P&gt;&lt;P&gt;Egress Restrictions / Firewall Rules: If your trial workspace was provisioned using a Customer-Managed VPC (VNet Injection) then outbound internet traffic is governed by your cloud networks' Security Groups, NAT Gateway, or Egress Firewall.&lt;/P&gt;&lt;P&gt;IP Whitelisting on the External API: If the API endpoint you are calling is enforcing IP whitelisting then calls made from a Databricks cluster would originate from the public IP of your NAT Gateway or Public Node IP. You will need to whitelist these public egress IPs on the external API side.&lt;/P&gt;&lt;P&gt;PySpark UDF Internet Access Restriction: If your API request is wrapped in a PySpark User-Defined Function (UDF) spanning across worker nodes, be sure node-to-node security group rules allow outbound 80/443 traffic.&lt;/P&gt;&lt;P&gt;Quick Troubleshooting Verification&lt;/P&gt;&lt;P&gt;Try executing a simple Python request directly from a notebook attached to a Classic All-Purpose Cluster:&lt;/P&gt;&lt;P&gt;Python&lt;/P&gt;&lt;P&gt;import requests&lt;/P&gt;&lt;P&gt;try:&lt;/P&gt;&lt;P&gt;response = requests.get("&lt;A href="https://api.your-endpoint.com/health" target="_blank"&gt;https://api.your-endpoint.com/health&lt;/A&gt;", timeout=10)&lt;/P&gt;&lt;P&gt;print("Status:", response.status_code)&lt;/P&gt;&lt;P&gt;except Exception as e:&lt;/P&gt;&lt;P&gt;print("Connection Failed:", e)&lt;/P&gt;&lt;P&gt;If Classic Compute succeeds but Serverless fails: This indicates a Serverless Egress Policy restriction in the Account Console.&lt;/P&gt;&lt;P&gt;If both fail with a DNS/Timeout error: This indicates a cloud network firewall, proxy configuration, or the target API is blocking Databricks egress IPs.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Sep 2026 05:06:57 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/failed-to-resolve-external-api/m-p/168606#M55949</guid>
      <dc:creator>Satyasai</dc:creator>
      <dc:date>2026-09-15T05:06:57Z</dc:date>
    </item>
    <item>
      <title>Re: Failed to resolve External API</title>
      <link>https://community.databricks.com/t5/data-engineering/failed-to-resolve-external-api/m-p/168612#M55950</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/254973"&gt;@somnii&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;First check whether the notebook is running on Serverless or Classic compute, because the troubleshooting path is different.&lt;/P&gt;&lt;P&gt;A quick test can separate DNS resolution from HTTPS connectivity, replace your host and try this:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;import socket, requests
host = "api.example.com"

try:
    print("DNS:", socket.gethostbyname(host))
except Exception as e:
    print("DNS failed:", e)

try:
    print("HTTPS:", requests.get(f"https://{host}", timeout=10).status_code)
except Exception as e:
    print("HTTPS failed:", e)&lt;/LI-CODE&gt;&lt;P&gt;You can also run:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;%sh
curl -I -v https://api.example.com&lt;/LI-CODE&gt;&lt;P&gt;&lt;STRONG&gt;curl -v&lt;/STRONG&gt; is useful because it can quickly show whether the failure is at DNS resolution, TCP connection, TLS handshake, or HTTP/API layer.&lt;/P&gt;&lt;P&gt;If &lt;STRONG&gt;DNS fails&lt;/STRONG&gt; → focus on name resolution / outbound networking.&lt;BR /&gt;If &lt;STRONG&gt;DNS works but HTTPS fails&lt;/STRONG&gt; → check firewall/proxy, IP allowlisting, TLS, or API endpoint itself.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;For Serverless, also check:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;SELECT event_time, event_id, destination, access_type, dns_event&lt;BR /&gt;FROM system.access.outbound_network&lt;BR /&gt;WHERE event_time &amp;gt;= current_timestamp() - INTERVAL 30 MINUTES&lt;BR /&gt;ORDER BY event_time DESC&lt;/P&gt;&lt;P&gt;If the destination shows access_type = 'DROP', that points to the serverless outbound network path.&lt;/P&gt;&lt;P&gt;For Classic compute, check the workspace VPC/VNet egress path instead: NAT/internet access, firewall/security-group rules, proxy settings, and whether the external API requires source-IP allowlist.&amp;nbsp;Databricks docs the required subnet routing, NAT gateway, security-group, and outbound-access configuration &lt;A href="https://docs.databricks.com/aws/en/security/network/classic/customer-managed-vpc" target="_self"&gt;here&lt;/A&gt;&lt;/P&gt;&lt;P&gt;If Serverless shows &lt;STRONG&gt;access_type = 'DROP'&lt;/STRONG&gt;, check whether your account level exposes any serverless egress/network policy controls. If no relevant setting is available and the issue is only on Serverless, then Databricks Support may need to investigate further.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Sep 2026 06:37:40 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/failed-to-resolve-external-api/m-p/168612#M55950</guid>
      <dc:creator>data_pulse</dc:creator>
      <dc:date>2026-09-15T06:37:40Z</dc:date>
    </item>
    <item>
      <title>Re: Failed to resolve External API</title>
      <link>https://community.databricks.com/t5/data-engineering/failed-to-resolve-external-api/m-p/168617#M55952</link>
      <description>&lt;P&gt;This is usually related to network access rather than the Premium trial itself. I’d check the workspace’s serverless/external network access settings and make sure the API domain is allowed, then verify DNS resolution and any firewall or IP allowlist on the API side. If it still fails, the exact error from the workspace logs should point to whether it’s DNS, authentication, or outbound connectivity.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Sep 2026 07:32:15 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/failed-to-resolve-external-api/m-p/168617#M55952</guid>
      <dc:creator>mancy34</dc:creator>
      <dc:date>2026-09-15T07:32:15Z</dc:date>
    </item>
    <item>
      <title>Re: Failed to resolve External API</title>
      <link>https://community.databricks.com/t5/data-engineering/failed-to-resolve-external-api/m-p/172434#M56639</link>
      <description>&lt;DIV&gt;
&lt;P&gt;This is almost always an outbound networking problem, not a setting you toggle on the workspace itself. Which fix applies depends on what compute your notebook is running on.&lt;/P&gt;
&lt;H2&gt;1. Confirm it's DNS or egress, and not the API itself&lt;/H2&gt;
&lt;P&gt;Run this from the same compute that's failing:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class="language-python"&gt;import socket, requests

host = "api.yourservice.com"   # replace with your API host
print(socket.getaddrinfo(host, 443))          # fails here = DNS resolution problem
print(requests.get(f"https://{host}", timeout=10).status_code)  # fails here = connectivity or blocking
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;UL&gt;
&lt;LI&gt;A &lt;CODE&gt;Name or service not known&lt;/CODE&gt; error from &lt;CODE&gt;getaddrinfo&lt;/CODE&gt; means DNS is failing or being blocked.&lt;/LI&gt;
&lt;LI&gt;A timeout or connection refused after DNS succeeds points to a firewall, security group, or route problem.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;2. If you're on serverless compute&lt;/H2&gt;
&lt;P&gt;Serverless runs in the Databricks-managed serverless compute plane, and outbound access is governed by serverless egress controls and network policies [1]. If a policy restricts outbound traffic, calls to any destination you haven't explicitly allowed will fail, and that often shows up as a resolution error.&lt;/P&gt;
&lt;P&gt;What to check:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Ask an account admin whether a network policy with restricted egress is attached to your workspace.&lt;/LI&gt;
&lt;LI&gt;If it is, add your API's domain to the allowed destinations, or use a policy that permits the access you need.&lt;/LI&gt;
&lt;LI&gt;If your API provider only accepts traffic from allow-listed IPs, you'll need the stable IPs for serverless compute so you can configure their firewall [1].&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;See &lt;EM&gt;What is serverless egress control?&lt;/EM&gt;, &lt;EM&gt;Manage network policies for serverless egress control&lt;/EM&gt;, and &lt;EM&gt;Configure a firewall for serverless compute access&lt;/EM&gt; in the networking docs [1].&lt;/P&gt;
&lt;H2&gt;3. If you're on classic compute (clusters in your own VPC)&lt;/H2&gt;
&lt;P&gt;If your workspace uses a customer-managed VPC, outbound traffic from the cluster depends on your AWS networking, not on a Databricks setting [1]. Check:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;DNS:&lt;/STRONG&gt; the VPC has DNS resolution and DNS hostnames enabled, and any custom DHCP/DNS settings can resolve public names.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Routing:&lt;/STRONG&gt; private subnets have a route to a NAT gateway (or other egress path) for &lt;CODE&gt;0.0.0.0/0&lt;/CODE&gt;.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Security groups and NACLs:&lt;/STRONG&gt; outbound rules allow HTTPS (443) to your API.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Firewall or proxy:&lt;/STRONG&gt; if you route egress through one, your API's domain needs to be allowed.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;See &lt;EM&gt;Deploy Databricks in a customer-managed VPC&lt;/EM&gt; and &lt;EM&gt;Classic compute plane networking&lt;/EM&gt; [1].&lt;/P&gt;
&lt;H2&gt;4. If the API is private&lt;/H2&gt;
&lt;P&gt;If the API sits inside your own VPC or behind private endpoints, public DNS won't resolve it from Databricks. You'd need private connectivity (VPC peering for classic compute, or private endpoint rules for serverless) [1].&lt;/P&gt;
&lt;H2&gt;Next step&lt;/H2&gt;
&lt;P&gt;Tell me which compute type you're using (serverless or a classic cluster) and the exact error text from the test above. For a standard trial with no custom networking, serverless egress policy is the first thing I'd check. If you set up a customer-managed VPC, check its DNS and NAT first.&lt;/P&gt;
&lt;H2&gt;References&lt;/H2&gt;
&lt;P&gt;[1] Networking | Databricks on AWS — &lt;A href="https://docs.databricks.com/aws/en/security/network" target="_blank"&gt;https://docs.databricks.com/aws/en/security/network&lt;/A&gt;&lt;/P&gt;
&lt;/DIV&gt;</description>
      <pubDate>Fri, 09 Oct 2026 11:48:27 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/failed-to-resolve-external-api/m-p/172434#M56639</guid>
      <dc:creator>anuj_lathi</dc:creator>
      <dc:date>2026-10-09T11:48:27Z</dc:date>
    </item>
  </channel>
</rss>

