GCP 工作流程:加载外部 sql 文件?
GCP workflow: load external sql file?
我计划让 Cloud Scheduler 每天 8 点 a.m 调用 GCP 工作流。我的 GCP 工作流将有大约 15 种不同的 steps
,并且只会在 BigQuery 上进行转换(更新、删除、添加)。有些查询会很长,我想知道是否有办法将 .sql
文件加载到 GCP Workflows task1.yaml
?
#workflow entrypoint
ProcessItem:
params: [project, gcsPath]
steps:
- initialize:
assign:
- dataset: wf_samples
- input: ${gcsPath}
- sqlQuery: QUERY HERE
...
你需要做类似的事情:(当然你可以把它赋给一个变量,比如input
)
#workflow entrypoint
main:
steps:
- getSqlfile:
call: http.get
args:
url: https://raw.githubusercontent.com/jisaw/sqlzoo-solutions/master/select-in-select.sql
headers:
Content-Type: "text/plain"
result: queryFromFile
- final:
return: ${queryFromFile.body}
对于可能如下所示的云存储:
call: http.get
args:
url: https://storage.cloud.google.com/................./q1.sql
headers:
Content-Type: "text/plain"
auth:
type: OIDC
result: queryFromFile
或具有这种格式的事件(不同的 URL 语法 + OAuth2)
call: http.get
args:
url: https://storage.googleapis.com/................./q1.sql
headers:
Content-Type: "text/plain"
auth:
type: OAuth2
result: queryFromFile
确保调用者具有访问云存储文件的正确权限。
Note: On further testing, this to work correctly the text/plain
mime-type must be set on the GCS file.
我计划让 Cloud Scheduler 每天 8 点 a.m 调用 GCP 工作流。我的 GCP 工作流将有大约 15 种不同的 steps
,并且只会在 BigQuery 上进行转换(更新、删除、添加)。有些查询会很长,我想知道是否有办法将 .sql
文件加载到 GCP Workflows task1.yaml
?
#workflow entrypoint
ProcessItem:
params: [project, gcsPath]
steps:
- initialize:
assign:
- dataset: wf_samples
- input: ${gcsPath}
- sqlQuery: QUERY HERE
...
你需要做类似的事情:(当然你可以把它赋给一个变量,比如input
)
#workflow entrypoint
main:
steps:
- getSqlfile:
call: http.get
args:
url: https://raw.githubusercontent.com/jisaw/sqlzoo-solutions/master/select-in-select.sql
headers:
Content-Type: "text/plain"
result: queryFromFile
- final:
return: ${queryFromFile.body}
对于可能如下所示的云存储:
call: http.get
args:
url: https://storage.cloud.google.com/................./q1.sql
headers:
Content-Type: "text/plain"
auth:
type: OIDC
result: queryFromFile
或具有这种格式的事件(不同的 URL 语法 + OAuth2)
call: http.get
args:
url: https://storage.googleapis.com/................./q1.sql
headers:
Content-Type: "text/plain"
auth:
type: OAuth2
result: queryFromFile
确保调用者具有访问云存储文件的正确权限。
Note: On further testing, this to work correctly the
text/plain
mime-type must be set on the GCS file.