簡體   English   中英

如何在ac#AWS lambda函數中設置環境變量?

[英]How do you set an environment variable within a c# AWS lambda function?

我有一個lambda函數,當某些條件出現在SQL數據庫中時,該函數會向AWS SNS發送消息。 此lambda函數每5分鍾觸發一次以檢查這種情況。

它工作正常,並發送適當的消息。 但是,一旦它發送了消息,我不希望它每5分鍾發送一次,直到它解決為止。 我希望它僅每5個小時發送一次此消息。 主要是因為如果我周末不在家時,不想離開計算機時每隔5分鍾收到一封電子郵件或短信轟炸。

一種可能的解決方案是使用一個環境變量來存儲上次發送消息的時間LastTimeMessageSent。 獲取環境變量的值很容易並且運行良好

Environment.GetEnvironmentVariable("LastTimeMessageSent");

但是,當我這樣做時

Environment.SetEnvironmentVariable("LastTimeMessageSent", DateTime.UtcNow.ToString());

沒用 沒有異常或錯誤消息。 我似乎在文檔或網絡中找不到任何描述如何執行此操作或無法解釋該操作的原因。

如何設置環境變量? 如果我無法在lambda中執行此操作,那么完成我需要完成的工作的正確方法是什么?

AWS Lambda函數在臨時容器環境中運行。 它們還可以跨許多主機系統並行運行。

盡管Lambda函數可以訪問環境變量,但是在為Lambda函數創建容器時專門設置了這些環境變量。 函數完成運行后,可能會丟棄環境。 (如果經常調用一個函數,則可能會保留該環境以供將來執行。)

因此,使用環境變量不是持久保存數據的方法。

其他一些選擇是:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM