googleapis / googleapis/python-aiplatform

[aiplatform] Allow explicit project_id parameter when initializing api_client

未关闭
#5,759 0 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
api: vertex-ai
主要语言
Python
星标
905
派生
465
平均合并
1 天 13 小时
30 天内合并 PR
44

描述

Hi,

I noticed an issue when initializing the API client in aiplatform.
In [base.py#L568](https://github.com/googleapis/python-aiplatform/blob/main/google/cloud/aiplatform/base.py#L568), the `api_client` is initialized with only the `credentials object`, but without an explicit `project_id`:

```
self.api_client = self._instantiate_client(
location=self.location,
credentials=self.credentials,
appended_user_agent=appended_user_agent,
)
```

The problem is that the credentials object only carries the `quota project ID` (see the [google.auth.credentials reference](https://google-auth.readthedocs.io/en/stable/reference/google.auth.credentials.html)), not the actual project ID.

This makes it impossible to specify a different project ID for API requests other than the one used for quota billing.

## Expected behavior

It should be possible to initialize the api_client with an explicit project_id, separate from the quota_project_id in the credentials.

## Why this matters

Some users may want to:

* Use credentials tied to one project for billing/quota purposes
* Target a different project for Vertex AI resources

Currently, this scenario is not supported because the project_id cannot be overridden.

## Possible solution

Support a project argument when creating the client and pass it explicitly:

```
self.api_client = self._instantiate_client(
location=self.location,
credentials=self.credentials,
appended_user_agent=appended_user_agent,
project=project_id, # <-- new
)
```

This would align with other Google Cloud client libraries that allow explicit project configuration.

Thanks!

贡献指南

打开贡献指南

调研方向

从 google/cloud/aiplatform/base.py 中第 568 行附近的 api_client 初始化开始,跟踪 _instantiate_client 以了解客户端参数是如何传递的。添加对显式 project_id 的支持,同时将其与凭据的配额项目 ID 分开,然后验证 API 请求可以针对显式配置的项目。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
ai, api
Issue 类型
功能
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
描述清楚
新手友好度
45/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。