Skip to content

Commit 4ecf9b4

Browse files
authored
Merge pull request #571 from ddps-lab/azure-collector-fix
Azure IF 수집 모듈 개선
2 parents ecf362e + e090ae6 commit 4ecf9b4

File tree

2 files changed

+20
-16
lines changed

2 files changed

+20
-16
lines changed

collector/spot-dataset/azure/lambda/current_collector/lambda_function.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,9 @@ def lambda_handler(event, _):
2626

2727
try:
2828
if_df = load_if()
29-
if not if_df:
29+
if if_df.empty:
3030
is_if_fetch_success = False
31+
3132
except Exception as e:
3233
error_msg = """AZURE IF MODULE EXCEPTION!\n %s""" % (e)
3334
data = {'text': error_msg}

collector/spot-dataset/azure/lambda/current_collector/load_if.py

+18-15
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
import requests
22
import pandas as pd
3-
from utils.azure_auth import get_token
43
from utils.pub_service import send_slack_message
4+
from utils.azure_auth import get_sps_token_and_subscriptions
55

6+
pd.set_option('future.no_silent_downcasting', True)
67

7-
def get_data(token, skip_token, retry=3):
8+
def get_data(sps_token, skip_token, retry=3):
89
try:
10+
headers = {
11+
"Authorization": f"Bearer {sps_token}",
12+
}
913
data = requests.post(
10-
"https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01", headers={
11-
"Authorization": "Bearer " + token
12-
}, json={
14+
"https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2024-04-01",
15+
headers=headers,
16+
json={
1317
"query": """spotresources\n
1418
| where type =~ \"microsoft.compute/skuspotevictionrate/location\"\n
1519
| project location = location, props = parse_json(properties)\n
@@ -29,29 +33,28 @@ def get_data(token, skip_token, retry=3):
2933
return data
3034
else:
3135
return None
36+
3237
except:
3338
if retry == 1:
3439
raise
35-
return get_data(token, skip_token, retry - 1)
40+
return get_data(sps_token, skip_token, retry - 1)
3641

3742

3843
def load_if():
3944
try:
40-
token = get_token()
41-
45+
sps_token, _ = get_sps_token_and_subscriptions()
4246
datas = []
4347
skip_token = ""
4448

4549
while True:
46-
data = get_data(token, skip_token)
47-
if data:
48-
datas += data["data"]
50+
data = get_data(sps_token, skip_token)
51+
if not data:
52+
break
4953

50-
if not "$skipToken" in data:
51-
break
52-
skip_token = data["$skipToken"]
54+
datas += data["data"]
55+
skip_token = data.get("$skipToken", None)
5356

54-
else:
57+
if skip_token is None:
5558
break
5659

5760
if not datas:

0 commit comments

Comments
 (0)