<?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 SQL Execution API Code 400 in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/sql-execution-api-code-400/m-p/38876#M26799</link>
    <description>&lt;P&gt;I am trying to execute the following command to test API but getting response 400&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; json&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; os&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from&lt;/SPAN&gt;&lt;SPAN&gt; urllib.parse &lt;/SPAN&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; urljoin, urlencode&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; pyarrow&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; requests&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# NOTE set debuglevel = 1 (or higher) for http debug logging&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from&lt;/SPAN&gt;&lt;SPAN&gt; http.client &lt;/SPAN&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; HTTPConnection&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;HTTPConnection.debuglevel = &lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;HOST = &lt;/SPAN&gt;&lt;SPAN&gt;"adb-8788787878787887887.2.azuredatabricks.net"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;URL = &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;A href="https://adb-8788787878787887887.2.azuredatabricks.net/api/2.0/sql/statements/" target="_blank"&gt;https://adb-8788787878787887887.2.azuredatabricks.net/api/2.0/sql/statements/&lt;/A&gt;"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;WAREHOUSE = &lt;/SPAN&gt;&lt;SPAN&gt;"564016fc86e262g"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;AUTH_TOKEN = &lt;/SPAN&gt;&lt;SPAN&gt;"jshjdhsd887d8s7d87sjhdjshdjshdsjd-2"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;assert&lt;/SPAN&gt;&lt;SPAN&gt; URL &lt;/SPAN&gt;&lt;SPAN&gt;and&lt;/SPAN&gt;&lt;SPAN&gt; WAREHOUSE &lt;/SPAN&gt;&lt;SPAN&gt;and&lt;/SPAN&gt;&lt;SPAN&gt; AUTH_TOKEN, &lt;/SPAN&gt;&lt;SPAN&gt;"Required: HOST||URL, WAREHOUSE, and AUTH_TOKEN"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# example statement big enough to exceed 5MB data requirement&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;limit = &lt;/SPAN&gt;&lt;SPAN&gt;None&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;sql_statement = &lt;/SPAN&gt;&lt;SPAN&gt;"SELECT X,Y,Z FROM A LIMIT 10"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;payload = json.dumps({&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"statement"&lt;/SPAN&gt;&lt;SPAN&gt;: sql_statement,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"warehouse_id"&lt;/SPAN&gt;&lt;SPAN&gt;: WAREHOUSE,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"wait_timeout"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"500s"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"disposition"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"EXTERNAL_LINKS"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"format"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"ARROW_STREAM"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;})&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;headers = {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;'Content-Type'&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;'application/json'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;auth=(&lt;/SPAN&gt;&lt;SPAN&gt;'token'&lt;/SPAN&gt;&lt;SPAN&gt;, AUTH_TOKEN)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;response = requests.post(URL, auth=auth, headers=headers, data=payload)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 02 Aug 2023 01:32:29 GMT</pubDate>
    <dc:creator>xavier20</dc:creator>
    <dc:date>2023-08-02T01:32:29Z</dc:date>
    <item>
      <title>SQL Execution API Code 400</title>
      <link>https://community.databricks.com/t5/data-engineering/sql-execution-api-code-400/m-p/38876#M26799</link>
      <description>&lt;P&gt;I am trying to execute the following command to test API but getting response 400&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; json&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; os&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from&lt;/SPAN&gt;&lt;SPAN&gt; urllib.parse &lt;/SPAN&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; urljoin, urlencode&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; pyarrow&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; requests&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# NOTE set debuglevel = 1 (or higher) for http debug logging&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from&lt;/SPAN&gt;&lt;SPAN&gt; http.client &lt;/SPAN&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; HTTPConnection&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;HTTPConnection.debuglevel = &lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;HOST = &lt;/SPAN&gt;&lt;SPAN&gt;"adb-8788787878787887887.2.azuredatabricks.net"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;URL = &lt;/SPAN&gt;&lt;SPAN&gt;"&lt;A href="https://adb-8788787878787887887.2.azuredatabricks.net/api/2.0/sql/statements/" target="_blank"&gt;https://adb-8788787878787887887.2.azuredatabricks.net/api/2.0/sql/statements/&lt;/A&gt;"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;WAREHOUSE = &lt;/SPAN&gt;&lt;SPAN&gt;"564016fc86e262g"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;AUTH_TOKEN = &lt;/SPAN&gt;&lt;SPAN&gt;"jshjdhsd887d8s7d87sjhdjshdjshdsjd-2"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;assert&lt;/SPAN&gt;&lt;SPAN&gt; URL &lt;/SPAN&gt;&lt;SPAN&gt;and&lt;/SPAN&gt;&lt;SPAN&gt; WAREHOUSE &lt;/SPAN&gt;&lt;SPAN&gt;and&lt;/SPAN&gt;&lt;SPAN&gt; AUTH_TOKEN, &lt;/SPAN&gt;&lt;SPAN&gt;"Required: HOST||URL, WAREHOUSE, and AUTH_TOKEN"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# example statement big enough to exceed 5MB data requirement&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;limit = &lt;/SPAN&gt;&lt;SPAN&gt;None&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;sql_statement = &lt;/SPAN&gt;&lt;SPAN&gt;"SELECT X,Y,Z FROM A LIMIT 10"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;payload = json.dumps({&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"statement"&lt;/SPAN&gt;&lt;SPAN&gt;: sql_statement,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"warehouse_id"&lt;/SPAN&gt;&lt;SPAN&gt;: WAREHOUSE,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"wait_timeout"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"500s"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"disposition"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"EXTERNAL_LINKS"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"format"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"ARROW_STREAM"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;})&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;headers = {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;'Content-Type'&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;'application/json'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;auth=(&lt;/SPAN&gt;&lt;SPAN&gt;'token'&lt;/SPAN&gt;&lt;SPAN&gt;, AUTH_TOKEN)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;response = requests.post(URL, auth=auth, headers=headers, data=payload)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 02 Aug 2023 01:32:29 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/sql-execution-api-code-400/m-p/38876#M26799</guid>
      <dc:creator>xavier20</dc:creator>
      <dc:date>2023-08-02T01:32:29Z</dc:date>
    </item>
    <item>
      <title>Re: SQL Execution API Code 400</title>
      <link>https://community.databricks.com/t5/data-engineering/sql-execution-api-code-400/m-p/38882#M26801</link>
      <description>&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/85742"&gt;@xavier20&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;You need to put bearer token in header, just like in this example:&lt;/P&gt;&lt;P&gt;&lt;A href="https://docs.databricks.com/en/sql/admin/sql-execution-tutorial.html" target="_blank"&gt;https://docs.databricks.com/en/sql/admin/sql-execution-tutorial.html&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 02 Aug 2023 05:03:17 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/sql-execution-api-code-400/m-p/38882#M26801</guid>
      <dc:creator>daniel_sahal</dc:creator>
      <dc:date>2023-08-02T05:03:17Z</dc:date>
    </item>
    <item>
      <title>Re: SQL Execution API Code 400</title>
      <link>https://community.databricks.com/t5/data-engineering/sql-execution-api-code-400/m-p/39388#M26954</link>
      <description>&lt;P&gt;A 400 status code response indicates that the server was unable to process the request due to a client error, e.g., incorrect syntax, invalid parametersBased on the code you provided, it appears that you are trying to execute a SQL query against your Azure Databricks workspace using the Databricks SQL REST API. However, you are encountering a 400 error when you run the script.&lt;/P&gt;&lt;P&gt;A 400 error typically indicates that the server could not understand the request due to bad syntax or invalid arguments. Here are a few things you can check to troubleshoot this issue:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;Check that the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;URL&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;variable is set correctly:&lt;/P&gt;&lt;P&gt;Verify that the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;URL&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;variable is set to the correct endpoint for your Databricks workspace. The URL should be in the format&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;https://&amp;lt;databricks-instance&amp;gt;/api/2.0/sql/statements/.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Verify that the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;WAREHOUSE&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;and&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;AUTH_TOKEN&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;variables are set correctly:&lt;/P&gt;&lt;P&gt;Make sure that the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;WAREHOUSE&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;and&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;AUTH_TOKEN&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;variables are set to valid values for your Databricks workspace. You can verify these values in the Databricks workspace UI or by using the Databricks CLI.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Verify the validity of the SQL statement:&lt;/P&gt;&lt;P&gt;Make sure that the SQL statement you are trying to execute is valid. You can test the statement directly in the Databricks workspace using the SQL editor.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Check for typos or syntax errors:&lt;/P&gt;&lt;P&gt;Review your code for any typos or syntax errors that may be causing the issue. Make sure that all variables and values are spelled correctly and formatted properly.&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;If you are still encountering issues after reviewing these areas, it may be helpful to review the error message returned from the API call to get more information on the specific issue. You can do this using the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;response.content&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;property of the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;requests.post()&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;call, which will display the raw response content from the API endpoint.&lt;/P&gt;</description>
      <pubDate>Tue, 08 Aug 2023 16:07:32 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/sql-execution-api-code-400/m-p/39388#M26954</guid>
      <dc:creator>youssefmrini</dc:creator>
      <dc:date>2023-08-08T16:07:32Z</dc:date>
    </item>
  </channel>
</rss>

