Python 云函数触发数据流时,如何在数据流中传递requirements.txt参数?
目标-我有一个数据流模板(用python编写)它依赖于pandas和nltk,我还想从云函数触发数据流作业。为此,我已经将代码上传到一个bucket中,并准备在cloud函数中指定模板位置 问题-当您使用discovery google module from cloud功能触发数据流作业时,如何传递通常用于安装任何第三方库的requirements\u file参数 先决条件-我知道通过指定本地目录路径通过本地计算机启动作业时可以做到这一点,但当我尝试从GCS(如Python 云函数触发数据流时,如何在数据流中传递requirements.txt参数?,python,google-cloud-platform,google-cloud-dataflow,Python,Google Cloud Platform,Google Cloud Dataflow,目标-我有一个数据流模板(用python编写)它依赖于pandas和nltk,我还想从云函数触发数据流作业。为此,我已经将代码上传到一个bucket中,并准备在cloud函数中指定模板位置 问题-当您使用discovery google module from cloud功能触发数据流作业时,如何传递通常用于安装任何第三方库的requirements\u file参数 先决条件-我知道通过指定本地目录路径通过本地计算机启动作业时可以做到这一点,但当我尝试从GCS(如--requirements_
--requirements_文件gs://bucket/requirements.txt
指定路径时,会出现一个错误,提示:
找不到文件gs://bucket/requirements.txt。它是在--requirements\u file命令行选项中指定的
数据流的模板不是python或java代码,而是用python或java编写的代码的编译版本。因此,当您创建模板时,您可以像通常那样在参数中传递
requirements.txt
,如下所示
python dataflow-using-cf.py \
--runner DataflowRunner \
--project <PROJECT_ID> \
--staging_location gs://<BUCKET_NAME>/staging \
--temp_location gs://<BUCKET_NAME>/temp \
--template_location ./template1 \
--requirements_file ./requirements.txt \
python数据流-using-cf.py\
--转轮数据流转轮\
--计划\
--暂存位置\u gs:///暂存\
--临时位置gs:///temp\
--模板位置。/template1\
--需求文件。/requirements.txt\
上面的命令将创建一个名为
template1
的文件,如果您读取该文件,它将包含一个JSON结构,该文件是您编写的数据流代码的编译版本,在编译过程中,它将从本地目录中读取requirements.txt
,并编译其步骤。然后,您可以将模板添加到一个bucket中,并提供云功能的路径,在创建模板后,您不必担心requirements.txt
文件。您是否已经像通常那样通过gcloud functions deploy
部署了谷歌云功能?看一下这是一个快速启动,展示了如何指定依赖项。是的,它提到了谷歌云功能的requirements.txt,而不是谷歌数据流,不是吗?好吧,我有点困惑了。所以你有一个谷歌云函数,你想用它来触发一个云数据流管道,对吗?这个函数看起来怎么样?doc-code-我正要问,如果通过gcloud dataflow jobs run
触发它,它会工作吗?谢谢,我一直在努力解决这个问题。现在它开始工作了。