Kontextobjektet är en kraftfull ny konstruktion för AWS Step-funktioner. Som namnet antyder tillåter det dig att få tillgång till kontextuell information om din tillståndsmaskin och tillståndsutföranden, till exempel den tid då ett tillstånd infördes och hur många försök som har utförts.

Dessutom kan stater som Map samt kapslade arbetsflöden få åtkomst till specialinformation via kontextobjektet. Innan vi dyker in i kontextobjektet om du behöver en uppdatering på AWS-stegfunktioner rekommenderar jag nedanstående video.

De speciella kontextobjektegenskaperna kan nås via attributet Parametrar i ett givet tillstånd. Där $ hänvisar till ingången JSON i ett tillstånd $$ hänvisar till kontextobjektet. Till exempel har egenskapen Parametrar åtkomst till två av attributen från kontextobjektet.

 "Parametrar": {"Input. $": "$", "TaskToken. $": "$$. Task.Token"} 

Nedan finns de egenskaper du får åtkomst från kontextobjektet, $$. Task.Token- attributet kan användas med återuppringningsmönstret för asynkrona exekveringar.

  • Serviceintegrationsmönster - AWS-stegfunktioner
    Stegfunktioner i AWS integreras med tjänster direkt på Amazon State Language. Du kan styra dessa AWS-tjänster med hjälp av tre olika serviceintegrationsmönster.
 {"Execution": {"Id": "String", "Input": {}, "StartTime": "Format: ISO 8601"}, "State": {"EnteredTime": "Format: ISO 8601", " Namn ":" String ", " RetryCount ": Number}, " StateMachine ": {" Id ":" String "}, " Task ": {" Token ":" String "}} 

Kontextobjekt i kartstaten

Kartläget exponerar $$. Map.Item.Index och $$. Map.Item.Värde på objektet som är associerat med den givna parallella exekveringen. Detta tillåter dina parallella exekveringar förmågan att bestämma var i matrisen för artiklar som bearbetas. Du kan också använda ett valstat för att fatta beslut baserat på indexet för den aktuella exekveringen till exempel.

 "Map": {"Item": {"Index": "Number", "Value": "String"}} 
  • AWS stegfunktion kartläge
    AWS Step-funktioner har släppt stöd för dynamisk parallellitet i form av det nya kartläget. Den här artikeln tittar på det nya tillståndet och det är speciella parametrar och egenskaper.

Kontextobjekt i kapslade arbetsflöden

Även om det inte finns några speciella metadata förknippade med att ringa ett kapslat arbetsflöde kan du använda $$. Uppgift.Token för att definiera AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID- variabeln som kan användas för att låta barnens arbetsflöde veta vad föräldrarnas arbetsflöde startade det. Detta gör att du mycket lättare kan spåra avrättningar för felsökning och revision.

 {"Type": "Uppgift", "Resource": "arn: aws: state ::: state: startExecution", "Parameters": {"StateMachineArn": "arn: aws: States: us-east-1: 123456789012 : stateMachine: HelloWorld ", " Input ": {" Kommentar ":" Hej världen! ", " AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID. $ ":" $$. Utförande.Id "}}, " Slut ": true} 
  • AWS-stegfunktioner Kapslade arbetsflöden
    AWS Step-funktioner har nyligen lagt till kapslade arbetsflöden, en funktion som kunder har bett om mycket. I den här artikeln tittar vi på de nya funktionerna som lagts till för kapslade arbetsflöden.