取消
顯示的結果
而不是尋找
你的意思是:

DBSQL訂閱方法返回“410:不見了”

鹹
新的貢獻者二世

我們一直使用DQBSQL API來執行CRUD在查詢和警報。

這一過程增加了一個鬆弛頻道的一部分作為警報目的地使用警報發布/訂閱元素如下。

今天我得到一個410“走了”錯誤從API試圖添加一個訂閱。

我理解DQBSQL API是預覽,因此主題改變泵的注意,然而我們是一個蕭條的沉重的組織,它是非常有用的!

有誰知道解決方法?

ALERTS_API =域+ / api / 2.0 /預覽/ sql /警報的反應=請求。帖子(ALERTS_API +‘/’+ alertId + /訂閱,頭=頭,data = jsonPayload)
例外:錯誤警報訂閱添加:410;原因:走了

1接受解決方案

接受的解決方案

匿名
不適用

@Jeremy鹽:

410年的錯誤通常表明了資源你試圖訪問已不複存在。可能DQBSQL API消除了支持通過/訂閱元素添加訂閱警報。

一個方法你可以試著直接使用鬆弛API創建一個webhook然後配置webhook警報的目的地。您可以創建一個特定鬆弛webhook頻道,然後配置webhook URL作為警戒的目的地。這將允許你繼續接收警報在鬆弛即使DQBSQL API不再支持添加訂閱。

這裏有一個例子如何創建一個webhook鬆弛通道:

  1. 去鬆弛工作區並導航到該頻道你想收到警報。
  2. 點擊設置圖標,選擇“添加應用”。
  3. 搜索“傳入的人”,然後單擊“添加到鬆弛”。
  4. 按照提示授權應用程序和配置webhook。
  5. 一旦配置了webhook,你會看到一個URL,您可以使用的警報目的地DQBSQL API。

一旦webhook URL,您可以配置警報目的地使用DQBSQL API。你可以通過創建一個警告“Webhook”類型和設置的“目的地”字段Webhook URL。這裏有一個例子如何創建警報webhook目的地使用Python:

ALERTS_API =域+ / api / 2.0 /預覽/ sql /警報”alert_payload ={“名稱”:“我的警戒”,“描述”:“這是我的警告”,“查詢”:“SELECT * FROM my_table”、“類型”:“Webhook”,“目標”:“https://hooks.slack.com/services/XXXXXXX/YYYYYYY/ZZZZZZZ”,“條件”:{“閾值”:10}}=響應請求。帖子(ALERTS_API HEADER =頭,data = json.dumps (alert_payload))

取代webhook的“目的地”字段中創建URL鬆弛。注意,您需要包括鬆弛webhook URL“目的地”字段的字符串,在上麵的示例中所示。

在原帖子查看解決方案

4回複4

匿名
不適用

@Jeremy鹽:

410年的錯誤通常表明了資源你試圖訪問已不複存在。可能DQBSQL API消除了支持通過/訂閱元素添加訂閱警報。

一個方法你可以試著直接使用鬆弛API創建一個webhook然後配置webhook警報的目的地。您可以創建一個特定鬆弛webhook頻道,然後配置webhook URL作為警戒的目的地。這將允許你繼續接收警報在鬆弛即使DQBSQL API不再支持添加訂閱。

這裏有一個例子如何創建一個webhook鬆弛通道:

  1. 去鬆弛工作區並導航到該頻道你想收到警報。
  2. 點擊設置圖標,選擇“添加應用”。
  3. 搜索“傳入的人”,然後單擊“添加到鬆弛”。
  4. 按照提示授權應用程序和配置webhook。
  5. 一旦配置了webhook,你會看到一個URL,您可以使用的警報目的地DQBSQL API。

一旦webhook URL,您可以配置警報目的地使用DQBSQL API。你可以通過創建一個警告“Webhook”類型和設置的“目的地”字段Webhook URL。這裏有一個例子如何創建警報webhook目的地使用Python:

ALERTS_API =域+ / api / 2.0 /預覽/ sql /警報”alert_payload ={“名稱”:“我的警戒”,“描述”:“這是我的警告”,“查詢”:“SELECT * FROM my_table”、“類型”:“Webhook”,“目標”:“https://hooks.slack.com/services/XXXXXXX/YYYYYYY/ZZZZZZZ”,“條件”:{“閾值”:10}}=響應請求。帖子(ALERTS_API HEADER =頭,data = json.dumps (alert_payload))

取代webhook的“目的地”字段中創建URL鬆弛。注意,您需要包括鬆弛webhook URL“目的地”字段的字符串,在上麵的示例中所示。

Vidula_Khanna
主持人
主持人

嗨@Jeremy鹽

謝謝你的問題!幫助你更好的,請花一些時間來檢查答案,讓我知道它是否最適合您的需要。

請幫助我們選擇最好的解決方案通過點擊“選擇最佳”如果它。

您的反饋將幫助我們確保我們提供最好的服務給你。謝謝你!

鹹
新的貢獻者二世

嗨@Suteja卡努裏人,@Vidula卡納

謝謝你的恢複解決方案。

建議的解決方案看起來很好,但由於諸多原因我和另一個選擇使用API的工作。這允許我保留我已經寫更多的自動化,簡化調度和添加其他基地的任務類型。

def create_acl () - > str:“”返回一個ACL是一個json字符串”“can_manage_list = CAN_MANAGE_USERS.split ACL (" ") = " user_id =火花。sql(“選擇current_user()作為用戶”).collect()[0](“用戶”)為用戶can_manage_list:如果用戶= = user_id:繼續如果acl = =”: acl = acl +”[{“user_name”:“用戶+ +”,“permission_level”:“CAN_MANAGE_RUN”}: acl = acl +, {“user_name”:“用戶+ +”,“permission_level”:“CAN_MANAGE_RUN”} ' acl = acl + '] '返回acl def create_alert_task_array(警告:(str) subscription_id: str) - > str:“”“創建一個任務列表,可以分配給工作在創建返回一個json字符串" " #在某種程度上我們可能需要添加在目的地的列表,並將它們添加所有WAREHOUSE_ID =[編輯]sql_tasks =”的警報警報:如果get_alert_id(警報)是沒有:jobs_logger。警告(f 'Could找不到alert_id。“{警報}”沒有被添加到工作”)繼續tmp = ' {“task_key”:“TASK_ +警告+”,‘+’“sql_task”:{‘+’“警告”:{‘+’“alert_id”:“' + get_alert_id(警報)+“”,‘+’“訂閱”:[‘+’{“destination_id”:“+ subscription_id +”}]‘+’},‘+’“warehouse_id”:“+ warehouse_id +”}}如果sql_tasks = =”: sql_tasks =其他tmp: sql_tasks = sql_tasks +”、“+ tmp返回sql_tasks def create_alert_job(名字:str alert_names: (str),安排:str, subscription_id: str):“”“創建一個工作”“”嚐試:嚐試:delete_job_by_name(名字)#可能沒有之前,將增加一個警告,除了異常e: jobs_logger.debug(“保持冷靜,堅持到底:可能沒有之前創建的工作。用戶將被警告,應該發現任何欺騙)最後:task_list = create_alert_task_array (alert_names subscription_id)如果安排! =”:schedule_clause =”“時間表”:{‘+’“quartz_cron_expression”:“+計劃+”,‘+’“timezone_id”:“UTC”,‘+’“pause_status”:“停頓”‘+’},“其他:schedule_clause = "身體= '{“名稱”:“+名字+”,‘+’“任務”:(' + task_list + '], ' + \ schedule_clause + \ '“格式”:“MULTI_TASK”,‘+’“access_control_list”: ' + create_acl() + \ '} ' # '“標簽”:{},' + \ jobs_logger.debug(身體)響應=請求。帖子(JOBS_API + /創建,data =身體,頭=頭)如果反應。status_code = = 200: jobs_logger.info (f“成功創建工作:{名稱}”):如果反應。status_code = = 403: jobs_logger。警告(f 'Authorisation已經失敗,檢查API牌”)jobs_logger.info (response.json())提高異常(f 'Error創建工作{名稱}:錯誤:{response.status_code};原因:{response.reason}”)除了異常e: jobs_logger.warning (“{e}”)

匿名
不適用

@Jeremy鹽:謝謝你提供的解決方案,讓我們知道你如何繼續解決這個問題。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map