docker gcloud.dataflow.flex-template.run 无法识别的参数:--温度-位置

k2fxgqgv  于 2023-01-16  发布在  Docker
关注(0)|答案(1)|浏览(137)

我通过gcloud dataflow flex-template run CLI提供了staging和temp位置,这两个都是有效的可选标志(as per docs),并且没有提到您应该或不应该同时提供这两个标志。

为什么会出现此错误?

错误:(gcloud.dataflow.flex-template.run)无法识别的参数:--临时位置(您的意思是“--暂存位置”吗?)gs://gcs存储桶名称

  • 编辑:按要求添加上下文 *

该进程在Buildkite CI/CD管道中执行,因此一般来说,Buildkite代理/步骤调用运行bash脚本的gcloudDocker容器。我还可以在本地运行此命令和容器组合,效果很好--错误仅在管道中运行时出现
Dockerfile

FROM gcr.io/google.com/cloudsdktool/cloud-sdk

COPY docker/scripts/gcloud-deploy-flex-template.sh /app/gcloud-deploy-flex-template.sh

WORKDIR /app

# RUN sudo apt-get install google-cloud-sdk <-- threw error

ENTRYPOINT "/app/gcloud-deploy-flex-template.sh"

gcloud-deploy-flex-template.sh

gcloud dataflow flex-template run ${JOB_NAME} \
    --template-file-gcs-location ${TEMPLATE_PATH}.json \
    --region us-central1 \
    --staging-location ${GCS_PATH}/staging/${JOB_NAME} \
    --temp-location ${GCS_PATH}/temp \
        --parameters requirements_file=requirements.txt \
        --parameters input_subscription=${INPUT_SUBSCRIPTION} \
        --parameters output_table=${OUTPUT_TABLE} \
        --parameters subject=${SUBJECT} \
        --parameters schema_registry_url=${SCHEMA_REGISTRY_URL} \
    --subnetwork=${SUBNETWORK} \
    --service-account-email=${SERVICE_ACCOUNT_EMAIL}
iyzzxitl

iyzzxitl1#

正如我在评论中提出的,您可以使用最新版本的官方googlesdk映像:

FROM google/cloud-sdk:412.0.0

COPY docker/scripts/gcloud-deploy-flex-template.sh /app/gcloud-deploy-flex-template.sh

WORKDIR /app

# RUN sudo apt-get install google-cloud-sdk <-- threw error

ENTRYPOINT "/app/gcloud-deploy-flex-template.sh"

FROM gcr.io/google.com/cloudsdktool/cloud-sdk:408.0.1

COPY docker/scripts/gcloud-deploy-flex-template.sh /app/gcloud-deploy-flex-template.sh

WORKDIR /app

# RUN sudo apt-get install google-cloud-sdk <-- threw error

ENTRYPOINT "/app/gcloud-deploy-flex-template.sh"

相关问题