Ich kann die zweite arg-Anweisung nicht ausführen:
<SPAN class="hljs-string">"python"</SPAN>, <SPAN class="hljs-string">"-c"</SPAN>, <SPAN class="hljs-string">"from main import foo;print(foo('hello'))"</SPAN>
Ich löse einen Cloud Build mit dem Airflow-Operator aus Python Funktion. Sowohl die auslösende DAG als auch Cloud Build kehren erfolgreich zurück.
Das erste Argument zum Installieren der Datei "require.txt" scheint auf der Grundlage der von Cloud Build zurückgegebenen Protokollnachricht zu funktionieren:
Requirement already satisfied: setuptools>=<SPAN class="hljs-number">40.3</SPAN><SPAN class="hljs-number">.0</SPAN> <SPAN class="hljs-keyword">in</SPAN> /usr/local/lib/python3<SPAN class="hljs-number">.7</SPAN>/site-packages (<SPAN class="hljs-keyword">from</SPAN> google-auth>=<SPAN class="hljs-number">1.2</SPAN>->gcsfs>=<SPAN class="hljs-number">0.6</SPAN><SPAN class="hljs-number">.2</SPAN>
Meine Funktion verwendet das Paket gcsfs. Die Funktion, die ich in der Frage verwendet habe, dient nur zur Demonstration.
Vor der Verwendung von Airflow hatte ich dies in einer Yaml-Datei arbeiten. Versuchte eine Reihe von verschiedenen Arten der Argumentation, wie zum Beispiel:
<SPAN class="hljs-string">"args"</SPAN>:[<SPAN class="hljs-string">"-c"</SPAN>,<SPAN class="hljs-string">"pip install -V -r requirements.txt; python -c from main import foo;print(foo('hello'))"</SPAN>]Aber jetzt im Kreis drehen.
Ich würde mich sehr über jede Hilfe freuen, um diese args-Aussage zum Laufen zu bringen.
Dies ist der CloudBuildCreateBuildOperator aus der DAG:
create_build_from_storage_body = {
<SPAN class="hljs-string">"source"</SPAN>: {
<SPAN class="hljs-string">"repoSource"</SPAN>: {
<SPAN class="hljs-string">"projectId"</SPAN>: <SPAN class="hljs-string">"dev-6767"</SPAN>,
<SPAN class="hljs-string">"repoName"</SPAN>: <SPAN class="hljs-string">"bq-pipeline"</SPAN>,
<SPAN class="hljs-string">"branchName"</SPAN>: <SPAN class="hljs-string">"master"</SPAN>,
}
},
<SPAN class="hljs-string">"steps"</SPAN>: [{
<SPAN class="hljs-string">"name"</SPAN>: <SPAN class="hljs-string">"docker.io/library/python:3.7"</SPAN>,
<SPAN class="hljs-string">"entrypoint"</SPAN>: <SPAN class="hljs-string">"/bin/bash"</SPAN>,
<SPAN class="hljs-string">"args"</SPAN>: [<SPAN class="hljs-string">"-c"</SPAN>, <SPAN class="hljs-string">"pip install -V -r requirements.txt"</SPAN>,
<SPAN class="hljs-string">"python"</SPAN>, <SPAN class="hljs-string">"-c"</SPAN>, <SPAN class="hljs-string">"from main import foo;print(foo('hello'))"</SPAN>
],
}],
}
Es kann sein, dass jemand hier Hilfe anbieten kann, aber ich vermute, dass Sie in einem Forum, das mehr mit Ihnen zu tun hat, mehr Erfolg haben Luftstrom .