Mon exigence est d'obtenir toutes les machines virtuelles dans un abonnement avec le temps de lancement (créé). Je n'ai pas trouvé le temps créé VM dans le tableau de bord où, comme dans le Activity log
trouvé un horodatage. Je voudrais récupérer toutes les machines virtuelles qui ont été créées par un ID d'abonnement avec le temps créé.Obtenir l'heure de création de la machine virtuelle sur Azure à l'aide de l'API Python
(Pour détails de ce compte 2FA est activée si - UserPassCredentials ne fonctionnera pas)
Liste de toutes les machines virtuelles dans un identifiant d'abonnement:
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))
Fetch temps créé à partir 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__)
Je suis en mesure d'obtenir toutes les machines virtuelles (1s t exemple de programme), Cependant, tout en essayant de récupérer le Activity log
obtenir une erreur (2e programme exemple).
Erreur:
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'
Quelqu'un peut me aider à trouver la question s'il vous plaît? toute aide vraiment appréciée.
S'il vous plaît se référer à ma réponse, merci.Il travaille pour moi. –