亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

禁止 Azure Function v1 訪問云中的存儲隊列

禁止 Azure Function v1 訪問云中的存儲隊列

C#
收到一只叮咚 2022-07-23 17:26:49
我有一個 Azure Function v1、SDK 1.0.24 試圖訪問我的存儲隊列,它在本地運行良好,我可以看到正確存儲的消息。但是,一旦我將它發布到云端,它就會失敗并出現 403 禁止,我已經沒有線索了。我檢查了幾次連接字符串,檢查了請求和響應中的時間戳,這些都很好。我嘗試更新了幾個NuGet包,但最后為什么它們壞了應該在本地工作而不是在線?我沒有使用 Application Insights。在主機日志中我發現了這個錯誤:2019-01-16T12:38:32.460 [詳細] 主機“44bf8a95b6652eed85464155b2b48df2”未能獲取主機鎖租約:Microsoft.WindowsAzure.Storage:遠程服務器返回錯誤:(403) 禁止。我懷疑 Azure 中有一個與安全相關的設置阻止訪問(但我對安全功能沒有任何控制權,管理員也不知道可能是什么阻塞問題)。這個問題發生在 QueueTrigger 上,所以我做了一個小函數,可以替代訪問來重現這個問題:public static class TestStorageQueue    {        [FunctionName("TestStorageQueue")]        public static async Task<HttpResponseMessage> Run(            [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequestMessage req,             TraceWriter log)        {            log.Info("START");            try            {                var response = new HttpResponseMessage(HttpStatusCode.OK);                log.Info(ConfigurationManager.ConnectionStrings["soastorage"]?.ConnectionString);                CloudStorageAccount storeAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["soastorage"]?.ConnectionString);                CloudQueueClient queueClient = storeAccount.CreateCloudQueueClient();                CloudQueue queue = queueClient.GetQueueReference("myqueue");                log.Info("trying to get message from queue");                var cloudMessage = queue.GetMessage(); // 403 happens here                log.Info("received message item");                var message = cloudMessage?.AsBytes;                var length = message?.Length ?? 0;更新 很有趣,搜索了2天的答案,我一發布就找到了原因。問題在于 Azure 存儲防火墻,即使將所有 MS 服務列入白名單,它也會一直阻止它們。所以臨時解決方案是關閉它,這不是真正的解決方案,所以問題仍然懸而未決
查看完整描述

1 回答

?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

嘗試使用Function app outbound IPs配置存儲防火墻,得出結論:

  1. 在 Azure 門戶的功能面板上,平臺功能> 資源瀏覽器。

  2. 查找outboundIpAddresses并將它們全部添加到防火墻 IP 列表中。

  3. 如果我們的功能在專用的應用服務計劃(如基本、標準等)上,possibleOutboundIPAddresses如果我們想將計劃擴展到其他定價層,請添加。

  4. 如果我們的功能在消費計劃中,我們可能必須將功能應用的數據中心列入白名單。


查看完整回答
反對 回復 2022-07-23
  • 1 回答
  • 0 關注
  • 114 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號