我需要從 Go SDK(https://docs.aws.amazon.com/sdk-for-go/api/service/apigateway/#Usage)中獲取以下數據中的值。我使用的是高浪 1.17.下面是我的 lambda 函數返回的數據。Decoded Data: { map[]}All the usage: map[4wxq8mcov8:[[0xc000353848 0xc000353870]]]{EndDate: "2021-08-31",Items: {4wxq8mcov8: [[12,975]]},StartDate: "2021-08-31",UsagePlanId: "w4wuvt"}我只想要來自 Items: {api_key: [[這個數字,還有這個數字]]},我只想要數組中的兩個數字。示例返回數據,我想要 12 和 975 -Items: { 4wxq8mcov8: [[12,975]] }我如何獲取數據,然后將兩個數字除以得到百分比?獲得百分比后,我將使用該數字與使用計劃進行比較,以查看是否達到閾值。如果閾值是<=除號,我將通過SNS向slack或電子郵件發送消息?,F在,我的重點是從項目映射中獲取數字。提前感謝您。
1 回答

犯罪嫌疑人X
TA貢獻2080條經驗 獲得超4個贊
要獲得這兩個數字,您必須從地圖中獲取它們。如果你總是知道鍵,并且你知道數組中只有一個元素,你可以這樣做
u := getUsagePlanInfo(srv)
items := u.Items
quota := *items["4wxq8mcov8"][0][0]
remaining := *items["4wxq8mcov8"][0][1]
為了更安全,你應該這樣做
if item, ok := items["4wxq8mcov8"]; ok && len(item) > 0 && len(item[0]) > 1 {
quota := *item[0][0]
remaining := *item[0][1]
fmt.Printf("%d, %d\n", quota, remaining)
}
如果您有多個鍵,或者您不知道該鍵,則必須迭代映射并獲取每個鍵的值
- 1 回答
- 0 關注
- 129 瀏覽
添加回答
舉報
0/150
提交
取消