CloudTask Klas
Een Azure Batch taak.
Batch voert taken opnieuw uit wanneer een herstelbewerking wordt geactiveerd op een knooppunt. Voorbeelden van herstelbewerkingen zijn (maar zijn niet beperkt tot) wanneer een beschadigd knooppunt opnieuw wordt opgestart of een rekenknooppunt is verdwenen vanwege een hostfout. Nieuwe pogingen vanwege herstelbewerkingen zijn onafhankelijk van en worden niet meegeteld voor de maxTaskRetryCount. Zelfs als de maxTaskRetryCount 0 is, kan er een interne nieuwe poging vanwege een herstelbewerking plaatsvinden. Daarom moeten alle taken idempotent zijn. Dit betekent dat taken moeten worden onderbroken en opnieuw worden opgestart zonder beschadiging of dubbele gegevens te veroorzaken. De best practice voor langlopende taken is om een vorm van controlepunten te gebruiken.
- Overname
-
CloudTask
Constructor
CloudTask(*, id: str = None, display_name: str = None, url: str = None, e_tag: str = None, last_modified=None, creation_time=None, exit_conditions=None, state=None, state_transition_time=None, previous_state=None, previous_state_transition_time=None, command_line: str = None, container_settings=None, resource_files=None, output_files=None, environment_settings=None, affinity_info=None, constraints=None, required_slots: int = None, user_identity=None, execution_info=None, node_info=None, multi_instance_settings=None, stats=None, depends_on=None, application_package_references=None, authentication_token_settings=None, **kwargs)
Parameters
- id
- str
De id kan elke combinatie van alfanumerieke tekens bevatten, inclusief afbreekstreepjes en onderstrepingstekens, en mag niet meer dan 64 tekens bevatten.
- display_name
- str
De weergavenaam hoeft niet uniek te zijn en mag Unicode-tekens bevatten tot een maximale lengte van 1024.
- url
- str
- e_tag
- str
Dit is een ondoorzichtige tekenreeks. U kunt deze gebruiken om te detecteren of de taak tussen aanvragen is gewijzigd. U kunt met name de ETag doorgeven bij het bijwerken van een taak om op te geven dat uw wijzigingen alleen van kracht moeten worden als niemand anders de taak in de tussentijd heeft gewijzigd.
- last_modified
- datetime
- creation_time
- datetime
- exit_conditions
- ExitConditions
Hoe de Batch-service moet reageren wanneer de taak is voltooid.
De huidige status van de taak. Mogelijke waarden zijn: 'actief', 'voorbereiden', 'uitvoeren', 'voltooid'
- state_transition_time
- datetime
De vorige status van de taak. Deze eigenschap is niet ingesteld als de taak de oorspronkelijke status Actief heeft. Mogelijke waarden zijn: 'actief', 'voorbereiden', 'uitvoeren', 'voltooid'
- previous_state_transition_time
- datetime
Deze eigenschap is niet ingesteld als de taak de oorspronkelijke status Actief heeft.
- command_line
- str
Voor taken met meerdere exemplaren wordt de opdrachtregel uitgevoerd als de primaire taak, nadat de primaire taak en alle subtaken de coördinatieopdrachtregel hebben uitgevoerd. De opdrachtregel wordt niet uitgevoerd onder een shell en kan daarom niet profiteren van shell-functies zoals uitbreiding van omgevingsvariabelen. Als u van dergelijke functies wilt profiteren, moet u de shell in de opdrachtregel aanroepen, bijvoorbeeld met 'cmd /c MyCommand' in Windows of '/bin/sh -c MyCommand' in Linux. Als de opdrachtregel naar bestandspaden verwijst, moet deze een relatief pad gebruiken (ten opzichte van de taakwerkmap) of de door Batch opgegeven omgevingsvariabele () gebruiken.https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables
- container_settings
- TaskContainerSettings
De instellingen voor de container waaronder de taak wordt uitgevoerd. Als voor de groep die deze taak uitvoert containerConfiguration is ingesteld, moet dit ook worden ingesteld. Als voor de groep die deze taak uitvoert, geen containerConfiguration is ingesteld, moet dit niet worden ingesteld. Wanneer dit is opgegeven, worden alle mappen recursief onder de AZ_BATCH_NODE_ROOT_DIR (de hoofdmap van Azure Batch mappen op het knooppunt) toegewezen aan de container, worden alle taakomgevingsvariabelen toegewezen aan de container en wordt de taakopdrachtregel uitgevoerd in de container. Bestanden die zijn geproduceerd in de container buiten AZ_BATCH_NODE_ROOT_DIR worden mogelijk niet weergegeven op de hostschijf, wat betekent dat Api's van Batch-bestanden geen toegang hebben tot deze bestanden.
- resource_files
- list[ResourceFile]
Voor taken met meerdere exemplaren worden de resourcebestanden alleen gedownload naar het rekenknooppunt waarop de primaire taak wordt uitgevoerd. Er is een maximale grootte voor de lijst met resourcebestanden. Wanneer de maximale grootte wordt overschreden, mislukt de aanvraag en is de antwoordfoutcode RequestEntityTooLarge. Als dit gebeurt, moet de verzameling ResourceFiles worden verkleind. Dit kan worden bereikt met behulp van .zip-bestanden, toepassingspakketten of Docker-containers.
- output_files
- list[OutputFile]
Voor taken met meerdere exemplaren worden de bestanden alleen geüpload vanaf het rekenknooppunt waarop de primaire taak wordt uitgevoerd.
- environment_settings
- list[EnvironmentSetting]
- affinity_info
- AffinityInformation
Een lokaliteitshint die door de Batch-service kan worden gebruikt om een rekenknooppunt te selecteren waarop de nieuwe taak moet worden gestart.
- required_slots
- int
Het aantal planningssites dat de taak nodig heeft om uit te voeren. De standaardwaarde is 1. Een taak kan alleen worden gepland om te worden uitgevoerd op een rekenknooppunt als het knooppunt voldoende vrije planningssites beschikbaar heeft. Voor taken met meerdere instanties moet dit 1 zijn.
- user_identity
- UserIdentity
De gebruikersidentiteit waaronder de taak wordt uitgevoerd. Als u dit weglaat, wordt de taak uitgevoerd als een gebruiker zonder beheerdersrechten die uniek is voor de taak.
- node_info
- ComputeNodeInformation
Informatie over het rekenknooppunt waarop de taak is uitgevoerd.
- multi_instance_settings
- MultiInstanceSettings
Een object dat aangeeft dat de taak een taak met meerdere exemplaren is en dat informatie bevat over het uitvoeren van de taak met meerdere exemplaren.
- depends_on
- TaskDependencies
De taken waar deze taak van afhankelijk is. Deze taak wordt pas gepland als alle taken die ervan afhankelijk zijn, zijn voltooid. Als een van deze taken mislukt en het aantal nieuwe pogingen is uitgeput, wordt deze taak nooit gepland.
- application_package_references
- list[ApplicationPackageReference]
Toepassingspakketten worden gedownload en geïmplementeerd in een gedeelde map, niet in de taakwerkmap. Daarom, als een pakket waarnaar wordt verwezen al op het knooppunt is en up-to-date is, wordt het niet opnieuw gedownload; de bestaande kopie op het rekenknooppunt wordt gebruikt. Als een pakket waarnaar wordt verwezen, niet kan worden geïnstalleerd, bijvoorbeeld omdat het pakket is verwijderd of omdat het downloaden is mislukt, mislukt de taak.
- authentication_token_settings
- AuthenticationTokenSettings
De instellingen voor een verificatietoken die de taak kan gebruiken om Batch-servicebewerkingen uit te voeren. Als deze eigenschap is ingesteld, biedt de Batch-service de taak een verificatietoken dat kan worden gebruikt om Batch-servicebewerkingen te verifiëren zonder dat hiervoor een accounttoegangssleutel nodig is. Het token wordt geleverd via de omgevingsvariabele AZ_BATCH_AUTHENTICATION_TOKEN. De bewerkingen die met de taak kunnen worden uitgevoerd met behulp van het token, zijn afhankelijk van de instellingen. Een taak kan bijvoorbeeld taakmachtigingen aanvragen om andere taken aan de taak toe te voegen of de status van de taak of van andere taken onder de taak te controleren.
Methoden
as_dict |
Retourneer een dict die JSONify kan zijn met behulp van json.dump. Geavanceerd gebruik kan eventueel een callback gebruiken als parameter: Sleutel is de kenmerknaam die wordt gebruikt in Python. Attr_desc is een dictaat van metagegevens. Bevat momenteel 'type' met het msrest-type en 'key' met de RestAPI-gecodeerde sleutel. Waarde is de huidige waarde in dit object. De geretourneerde tekenreeks wordt gebruikt om de sleutel te serialiseren. Als het retourtype een lijst is, wordt dit beschouwd als hiërarchische resultaatdicteerfunctie. Bekijk de drie voorbeelden in dit bestand:
Als u XML-serialisatie wilt, kunt u de kwargs-is_xml=True doorgeven. |
deserialize |
Parseert een str met behulp van de RestAPI-syntaxis en retourneer een model. |
enable_additional_properties_sending | |
from_dict |
Een dicteren met behulp van de opgegeven sleutelextractor retourneert een model. Houd standaard rekening met sleutelextracties (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor en last_rest_key_case_insensitive_extractor) |
is_xml_model | |
serialize |
Retourneert de JSON die vanuit dit model naar Azure wordt verzonden. Dit is een alias voor as_dict(full_restapi_key_transformer, keep_readonly=False). Als u XML-serialisatie wilt, kunt u de kwargs-is_xml=True doorgeven. |
validate |
Valideer dit model recursief en retourneer een lijst met ValidationError. |
as_dict
Retourneer een dict die JSONify kan zijn met behulp van json.dump.
Geavanceerd gebruik kan eventueel een callback gebruiken als parameter:
Sleutel is de kenmerknaam die wordt gebruikt in Python. Attr_desc is een dictaat van metagegevens. Bevat momenteel 'type' met het msrest-type en 'key' met de RestAPI-gecodeerde sleutel. Waarde is de huidige waarde in dit object.
De geretourneerde tekenreeks wordt gebruikt om de sleutel te serialiseren. Als het retourtype een lijst is, wordt dit beschouwd als hiërarchische resultaatdicteerfunctie.
Bekijk de drie voorbeelden in dit bestand:
attribute_transformer
full_restapi_key_transformer
last_restapi_key_transformer
Als u XML-serialisatie wilt, kunt u de kwargs-is_xml=True doorgeven.
as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)
Parameters
- key_transformer
- <xref:function>
Een sleuteltransformatorfunctie.
- keep_readonly
Retouren
Een dict JSON-compatibel object
Retourtype
deserialize
Parseert een str met behulp van de RestAPI-syntaxis en retourneer een model.
deserialize(data, content_type=None)
Parameters
Retouren
Een exemplaar van dit model
Uitzonderingen
enable_additional_properties_sending
enable_additional_properties_sending()
from_dict
Een dicteren met behulp van de opgegeven sleutelextractor retourneert een model.
Houd standaard rekening met sleutelextracties (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor en last_rest_key_case_insensitive_extractor)
from_dict(data, key_extractors=None, content_type=None)
Parameters
- key_extractors
Retouren
Een exemplaar van dit model
Uitzonderingen
is_xml_model
is_xml_model()
serialize
Retourneert de JSON die vanuit dit model naar Azure wordt verzonden.
Dit is een alias voor as_dict(full_restapi_key_transformer, keep_readonly=False).
Als u XML-serialisatie wilt, kunt u de kwargs-is_xml=True doorgeven.
serialize(keep_readonly=False, **kwargs)
Parameters
Retouren
Een dict JSON-compatibel object
Retourtype
validate
Valideer dit model recursief en retourneer een lijst met ValidationError.
validate()
Retouren
Een lijst met validatiefouten
Retourtype
Azure SDK for Python