내 요구 사항은 시작 (생성) 시간이 포함 된 구독에서 모든 VM을 가져 오는 것입니다. VM이 대시 보드에서 시간을 생성 한 것을 찾지 못했습니다. Activity log
에서 타임 스탬프가 발견되었습니다. 내가 만든 시간과 함께 하나의 구독 ID에 의해 만들어진 모든 VM을 가져오고 싶습니다. Python API를 사용하여 Azure에서 가상 머신 생성 시간 가져 오기
목록 :
import os
from azure.common.credentials import ServicePrincipalCredentials
from azure.mgmt.compute import ComputeManagementClient
subscription_id = os.environ['AZURE_SUBSCRIPTION_ID']
credentials = ServicePrincipalCredentials(client_id=os.environ['AZURE_CLIENT_ID'], secret=os.environ['AZURE_CLIENT_SECRET'], tenant=os.environ['AZURE_TENANT_ID'])
compute_client = ComputeManagementClient(credentials, subscription_id)
for vm in compute_client.virtual_machines.list_all():
print("\tVM: {}".format(vm.name))
이 Activity log
에서 생성 된 시간을 가져 오기 :
import os
import datetime
from pprint import pprint
from azure.monitor import MonitorClient
from azure.common.credentials import ServicePrincipalCredentials
today = datetime.datetime.now().date()
filter = " and ".join([ "eventTimestamp le '{}T00:00:00Z'".format(today), "resourceGroupName eq 'test-group'" ])
subscription_id = 'xxxxx'
credentials = ServicePrincipalCredentials(client_id=os.environ['AZURE_CLIENT_ID'], secret=os.environ['AZURE_CLIENT_SECRET'], tenant=os.environ['AZURE_TENANT_ID'])
client = MonitorClient(credentials, subscription_id)
select = ",".join([ "Administrative", "Write VirtualMachines" ])
activity_logs = client.activity_logs.list(filter=filter, select=select)
for i in activity_logs:
pprint(i.__dict__)
나는 모든 VM (1s t 샘플 프로그램), 그러나 Activity log
을 가져 오는 동안 오류가 발생합니다 (두 번째 샘플 프로그램).
오류 :
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.7/site-packages/msrest/paging.py", line 109, in __next__
self.advance_page()
File "/Library/Python/2.7/site-packages/msrest/paging.py", line 95, in advance_page
self._response = self._get_next(self.next_link)
File "/Library/Python/2.7/site-packages/azure/monitor/operations/activity_logs_operations.py", line 117, in internal_paging
raise models.ErrorResponseException(self._deserialize, response)
azure.monitor.models.error_response.ErrorResponseException: Operation returned an invalid status code 'Bad Request'
누군가가 문제를하시기 바랍니다 발견하는 데 도움이 수 있습니까? 어떤 도움 정말 감사.
내 대답을 참조하십시오, 고마워. 그것은 나를 위해 작동합니다. –