Переменные среды недоступны в работниках DataflowPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Переменные среды недоступны в работниках Dataflow

Сообщение Anonymous »

у вас есть приложение Python, которое использует луч Apache и поток данных в качестве средства запуска. Приложение использует закрытый пакет Python «uplight-telemetry», который настраивается с использованием «extra_packages» при создании объекта Pipeline_options. Этот пакет ожидает переменную среды с именем «OTEL_SERVICE_NAME», и, поскольку эта переменная отсутствует в рабочем потоке данных, это приводит к ошибке во время запуска приложения.
Я передаю эту переменную, используя пользовательскую варианты трубопровода. Код для создания параметров конвейера выглядит следующим образом:

Код: Выделить всё

pipeline_options = ProcessBillRequests.CustomOptions(
project=gcp_project_id,
region="us-east1",
job_name=job_name,
temp_location=f'gs://{TAS_GCS_BUCKET_NAME_PREFIX}{os.getenv("UP_PLATFORM_ENV")}/temp',
staging_location=f'gs://{TAS_GCS_BUCKET_NAME_PREFIX}{os.getenv("UP_PLATFORM_ENV")}/staging',
runner='DataflowRunner',
save_main_session=True,
service_account_email= service_account,
subnetwork=os.environ.get(SUBNETWORK_URL),
extra_packages=[uplight_telemetry_tar_file_path],
setup_file=setup_file_path,
OTEL_SERVICE_NAME=otel_service_name,
OTEL_RESOURCE_ATTRIBUTES=otel_resource_attributes
# Set values for additional custom variables as needed
И код, выполняющий конвейер, выглядит следующим образом:

Код: Выделить всё

result = (
pipeline
| "ReadPendingRecordsFromDB" >> read_from_db
| "Parse input PCollection" >> beam.Map(ProcessBillRequests.parse_bill_data_requests)
| "Fetch bills " >> beam.ParDo(ProcessBillRequests.FetchBillInformation())
)
pipeline.run().wait_until_finish()
Есть ли способ установить переменные среды в пользовательских параметрах, доступных в работнике?

Подробнее здесь: https://stackoverflow.com/questions/776 ... ow-workers
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»