2017-08-21 4 views
0

So versuche ich, eine einfache Schritt-Funktion ich in Python mit einem Lambda schrieb aufzurufen. Ich verwende für diesen Zweck boto3Hervorrufen von AWS Schritt Funktion von Lambda in Python

client = boto3.client('stepfunctions') 
    response = client.start_execution(
     stateMachineArn='aws:states:.......', 
     name='dev-hassan-pipeline-sf', 
     input= json.dumps(returnVal) 
    ) 

Und ich habe eine IAM-Rolle geschaffen, die „AWSStepFunctionsFullAccess“ Politik

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": "states:*", 
      "Resource": "*" 
     } 
    ] 
} 

ich diese Rolle meines Lambda zuweisen, aber wenn ich das Lambda betreiben ich bekommen der folgende Fehler

An error occurred (AccessDeniedException) when calling the StartExecution operation: User: arn:aws:sts::xxxxxxxx:assumed-role/dev-hassan-role1/dev-hassan-pipeline-lambda is not authorized to access this resource: ClientError 

dev-hassan-Pipeline-Lambda ist der Name meines Lambda und dev-hassan-role1 ist meine Rolle Name

Kann mir jemand hier helfen, was mache ich falsch, warum kann ich die Schrittfunktion von Lambda nicht aufrufen, da ich ihm die erforderlichen Berechtigungen gegeben habe

Antwort

1

So fand ich den Fehler, ich habe die falsche ARN verwenden. Die ARN Ich war für eine bestimmte Ausführung der Sprungfunktion wurde mit Die richtigen ARN verwendet werden soll

arn:aws:states:us-east-1:xxxxxxxx:stateMachine:dev-hassan-pipeline-sf 

Es ist eigentlich überraschend, dass ich konnte nicht die ARN für die Zustandsmaschine auf dem Web-UI finden. Ich habe meinen Fehler entdeckt, als ich mir ein paar Beispielcodes angesehen habe, und mir wurde klar, dass mein ARN eine Ausführung enthielt und nicht eine Staatsmaschine.

ich nur realisiert, die ich in dieser Frage noch nicht einmal die gesamte ARN Post

0

Sie können die Berechtigungen in AWS IAM beheben. Erstellen Sie eine Rolle mit den erforderlichen Berechtigungen, und beim Erstellen der Lambda-Funktion können Sie auf die oben erstellte IAM-Rolle verweisen, wenn Sie dazu aufgefordert werden.

Hoffnung, dass Ihr Problem mit den Berechtigungen :)

Prost löst!

+0

Ich habe bereits die Rolle mit der erforderlichen Erlaubnis und zugewiesen sie erstellt. Ich habe die Rolle in der Frage erwähnt –