В идеале можно получить и идентификатор проекта, и учетные данные с помощью 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, созданного компиляция конвейера) с указанной учетной записью службы.
Я думаю, что делаю что-то не так, но не могу понять, что именно. Похоже, конфигурация, которую я передаю в конвейер, вообще не используется.
Для справки: 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
Мобильная версия