如何使用Google Cloud函数将ip添加到Cloud SQL实例的授权网络



正如标题所说,我有一个gcp-sql实例,并希望使用云函数(在Python中(将一个ip添加到它的授权网络列表中。根据https://cloud.google.com/sql/docs/mysql/configure-ip#rest我可以使用这个休息呼叫:

curl -X PATCH 
-H "Authorization: Bearer "$(gcloud auth print-access-token) 
-H "Content-Type: application/json; charset=utf-8" 
-d @request.json 
https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

因此,我的想法是使用请求从云函数中进行此调用。但是,我不知道如何在cloud函数中得到gcloud auth print-access-token的结果。

您可以使用Python的Cloud SQL Admin API客户端库,该库将使用默认服务帐户凭据为您包含此授权令牌。查看客户端库和示例代码页以了解更多信息。

或者,如果您喜欢手动创建请求,可以使用Oauth 2.0令牌。"授权请求"页面提供了有关如何创建这些请求的详细信息。

这里是一个用于发出授权请求的python代码示例(这里是GET版本。使用您想要的动词自定义它(

from google.auth.transport.requests import AuthorizedSession
from google.oauth2 import service_account
import google.auth
base_url = 'https://www.googleapis.com/sql/v1beta4/projects/'
credentials, project_id = google.auth.default(scopes=['https://www.googleapis.com/auth/cloud-platform'])
project_id = 'yourProjectID'
instance_id = 'yourInstanceID'

authed_session = AuthorizedSession(credentials)
response = authed_session.request('GET', f'{base_url}{project_id}/instances/{instance_id}')
print(response.json())

相关内容

  • 没有找到相关文章

最新更新