Ich habe eine Instanz, der eine EC2-IAM-Rolle zugewiesen wurde. Ich kann keinen EMR-Jobflow von dieser Instanz mithilfe der temporären Anmeldeinformationen erstellen, die eine von der Rolle zugewiesene Instanz bereitstellt. Ich erhalte die folgende Antwort von der API:
%Vor% Googeln dieser Fehlermeldung hat absolut nichts ergeben. Ich bekomme die gleiche Antwort von der API, ob ich die AWS CLI oder boto
direkt verwende. In dem Versuch, dem Rat dieser Fehlermeldung zu folgen, habe ich versucht, {InstanceProfile: <instance_profile_name>}
an das api_params
Argument für die run_jobflow
-Methode in boto zu übergeben, bekomme aber immer noch den gleichen Fehler. Ich habe auch versucht, das Argument service_role
für run_jobflow
zu verwenden, das ebenfalls fehlgeschlagen ist. Beide zusammen zu passieren, ist ebenfalls gescheitert.
Laut dieser Seite von Amazon-Dokumenten sollte EMR Unterstützen STS und EC2 IAM-Rollen, so wundern, wenn jemand dies zum Arbeiten zuvor bekommen hat.
Ich habe das in Java funktioniert. Wie Sam habe ich eine Service-Rolle und Job-Flow-Rolle angegeben. Es war eine Überraschung für mich, dass ein Fehler bei InstanceProfile die Jobflow-Rolle erforderte. zB:
%Vor%Die andere Sache, die ich getan habe, war in meiner Cloud-Formationsvorlage. Ich habe meiner Instanzrolle die AmazonElasticMapReduceFullAccess-Richtlinie erteilt. zB:
%Vor%Tags und Links amazon-web-services amazon-emr