Учетная запись специального обслуживания с конвейерами KFP в Vertex AIPython

Программы на Python
Ответить
Anonymous
 Учетная запись специального обслуживания с конвейерами KFP в Vertex AI

Сообщение Anonymous »

Попытка использовать определенную учетную запись службы (не по умолчанию) для запуска конвейеров kfp в VertexAI. Ключи JSON не подходят.
В идеале можно получить и идентификатор проекта, и учетные данные с помощью google.auth.default(), как предложено в руководстве пользователя google.auth. .
До сих пор я пробовал:
  • Использовать устаревший kfp.v2.google.client.AIPlatformClient< /code>, экземпляр клиента создан с помощью проекта Указан идентификатор и запущен конвейер с помощью create_run_from_spec с аргументом ключевого слова service_account
  • Использование google.cloud.aiplatform.pipeline_jobs.PipelineJob, экземпляр объекта создается с помощью проекта ID, запуск конвейера с помощью submit и service_account kwarg
  • Создание нового запуска из облачного пользовательского интерфейса (и файла JSON, созданного компиляция конвейера) с указанной учетной записью службы.
Я пробовал все три как с реальным конвейером (работающим на специально созданных контейнерах), так и с минимальным рабочим пример (с использованием облегченных компонентов Python). Во всех случаях, когда я запускаю creds, project = google.auth.default(), а затем печатаю проект и creds.service_account_email, я получаю незнакомый идентификатор проекта (всегда один и тот же). один во всех случаях) и по умолчанию для электронной почты сервисного аккаунта.
Я думаю, что делаю что-то не так, но не могу понять, что именно. Похоже, конфигурация, которую я передаю в конвейер, вообще не используется.
Для справки: MWE:
from kfp.v2 import dsl

@dsl.component(packages_to_install=['google-auth'])
def check_auth(name:str) -> str:
import google.auth
creds,project = google.auth.default()
print(f'Project is: {project}')
print(f'Got creds for: {creds.service_account_email}')
return project

@dsl.pipeline(
name='adc-mwe-pipeline'
)
def pipeline() -> str:
auth_check = check_auth(name='name')
return auth_check.output

from google.cloud.aiplatform import pipeline_jobs
from kfp.v2 import compiler

compiler.Compiler().compile(pipeline_func=pipeline, package_path='mwe.json')

start_pipeline = pipeline_jobs.PipelineJob(
display_name='mwe',
template_path='mwe.json',
location='some-location',
project='my-project',
enable_caching=False
)

start_pipeline.submit(service_account="my-service-account")


Подробнее здесь: https://stackoverflow.com/questions/773 ... -vertex-ai
Ответить

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

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

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

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

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