使用服务帐户从python调用Google Cloud Function进行身份验证

2024-02-24

我有一个触发器类型设置为 HTTP 的云函数,并且还有一个有权调用云函数的服务帐户。我想从 python 脚本调用云函数。我使用以下脚本来调用该函数:

from google.oauth2 import service_account
from google.auth.transport.urllib3 import AuthorizedHttp

credentials = service_account.Credentials.from_service_account_file('/path/to/service-account-credentials.json')

scoped_credentials = credentials.with_scopes(['https://www.googleapis.com/auth/cloud-platform'])

authed_http = AuthorizedHttp(scoped_credentials)

response = authed_http.request('GET', 'https://test-123456.cloudfunctions.net/my-cloud-function')

print(response.status)

我收到未经授权 (401) 错误响应。这是正确的调用方式吗?


为了能够调用您的云函数,您需要针对 Cloud Functions 端点的 ID 令牌

from google.oauth2 import service_account
from google.auth.transport.requests import AuthorizedSession


url = 'https://test-123456.cloudfunctions.net/my-cloud-function'

creds = service_account.IDTokenCredentials.from_service_account_file(
       '/path/to/service-account-credentials.json', target_audience=url)

authed_session = AuthorizedSession(creds)

# make authenticated request and print the response, status_code
resp = authed_session.get(url)
print(resp.status_code)
print(resp.text)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用服务帐户从python调用Google Cloud Function进行身份验证 的相关文章

  • 在浏览器刷新中刷新检票面板

    我正在开发一个付费角色系统 一旦用户刷新浏览器 我就需要刷新该页面中可用的统计信息 统计信息应该从数据库中获取并显示 但现在它不能正常工作 因为在页面刷新中 java代码不会被调用 而是使用以前的数据加载缓存的页面 我尝试添加以下代码来修复
  • Internet Explorer 9 是否会因数组和对象文字末尾的额外逗号而卡住?

    现代浏览器和 Node js 等环境允许您说 a 1 b 2 或 1 2 3 这在历史上一直是 Internet Explorer 的问题 Internet Explorer 9 中修复了此问题吗 对此有两种不同的答案 一种是对象初始值设定
  • 洪水填充优化:尝试使用队列

    我正在尝试创建一种填充方法 该方法采用用户指定的初始坐标 检查字符 然后根据需要更改它 这样做之后 它会检查相邻的方块并重复该过程 经过一番研究 我遇到了洪水填充算法并尝试了该算法 它可以工作 但无法满足我对 250 x 250 个字符的数
  • 使用Multiprocessing和Pool时如何访问全局变量?

    我试图避免将变量冗余地传递到dataList e g 1 globalDict 2 globalDict 3 globalDict 并在全球范围内使用它们 global globalDict然而 在下面的代码中并不是这样做的解决方案 是否有
  • 如何执行“sudo nvm”?

    在我的 Mac 上 我想将一些需要 su 权限的包迁移到另一个节点版本 我使用 homebrew 安装 nvm 现在我需要执行 sudo nvm 或 reinstall packages将失败 me MacBook sudo nvm sud
  • iOS 电池监控 Swift

    我已将监控设置为启用 但模拟器和设备中的电池电量仍然为 1 UIDevice currentDevice batteryMonitoringEnabled true var level UIDevice currentDevice batt
  • tkinter:打开一个带有按钮提示的新窗口[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 用户如何按下 tkinter GUI 中的按钮来打开新窗口 我只需要非常简单的解决方案 如果代码也能被解释那就太好了 这
  • Azure函数版本2.0-应用程序blobTrigger不工作

    我有一个工作功能应用程序 它有一个 blob 输入和一个事件中心输出 在测试版中工作 随着最新的更改 我的功能不再起作用 我尝试根据发行说明更新 host json 文件 但它没有引用 blob 触发器 version 2 0 extens
  • 从输入类型编号获取无效值

    我正在使用输入类型数字 当它无效时 我如何从中获取值 例如 使用类型编号并仅打印 e 这本身是无效的 我正在使用 React 但我认为这个问题非常普遍 onChange event console log event target valu
  • 如何确定母版页中正在显示哪个子页?

    我正在母版页上编写代码 我需要知道正在显示哪个子 内容 页面 我怎样才能以编程方式做到这一点 我用这个 string pageName this ContentPlaceHolder1 Page GetType FullName 它以 AS
  • 如何从 bootstrap-markdown.js 调用 .getContent 和 .parseContent

    我是使用 Bootstrap 插件的新手 刚刚通过代码学院 http www codecademy com en skills make an interactive website 我真的很想用这个很棒的引导 Markdown 插件 ht
  • 如何绘制大时间序列(数千次给药次数/药物剂量)?

    我正在尝试绘制医院中如何开出单一药物的图解 在这个虚拟数据库中 我在 2017 年 1 月 1 日之后遇到了 1000 名患者 绘图的目的是了解该药物的给药模式 在接近入院 出院或患者住院期间是否更频繁 高剂量给药 Get random d
  • python 中的 after() 与 update()

    我是 python 新手 开始使用 tkinter 作为画布 到目前为止 我使用 update 来更新我的画布 但还有一个 after 方法 谁能给我解释一下这个函数 请举个例子 两者之间有什么区别 root after integer c
  • Angularjs:两种方式的数据绑定和控制器重新加载

    如果使用路由和控制器 则模型不会在控制器重新加载之间保存其状态 Angular 在每个路由负载上创建控制器实例和新范围 例如 我在输入中键入具有 ng model something 的内容 转到另一条路线 然后返回第一条路线 我输入的所有
  • WPF/数据集:如何通过 XAML 将相关表中的数据绑定到数据网格列中?

    我正在使用 WPF DataSet 连接到 SQL Server Express XAML 和 C Visual Studio 2013 Express 我从名为 BankNoteBook 的现有 SQL Server Express 数据
  • 在java中使用多个bufferedImage

    我正在 java 小程序中制作游戏 并且正在尝试优化我的代码以减少闪烁 我已经实现了双缓冲 因此我尝试使用另一个 BufferedImage 来存储不改变的游戏背景元素的图片 这是我的代码的相关部分 public class QuizApp
  • 设置/覆盖 UICollectionView 中单元格之间的填充

    我有一个 UICollectionView 但在获取单元格之间的填充时遇到了问题 理论上 我应该能够将屏幕除以 4 并且我可以获得包含 4 个图像的单元格大小 完美地占据屏幕宽度 但是 它选择不这样做 相反 它会创建 3 个具有巨大填充的图
  • Prolog:子句在源文件中不在一起

    我有这段代码 Family tree female pen male tom male bob female liz female pat female ann male jim parent pam bob parent tom bob
  • 通过使用 navbarPanel() 并隐藏导航栏构建多页闪亮应用程序用户端(在 ui.R 中)?

    我想构建一个多页闪亮应用程序 我可以在其中控制用户可以看到哪个页面 迪安 阿塔利确实这个演示应用程序中有类似的东西 https github com daattali advanced shiny tree master multiple
  • 文件修改时间检查的成本

    对于Linux下包含少量字节的文件 我只需要处理自上次处理以来发生更改的时间 我通过调用 PHP 检查文件是否被更改clearstatcache filemtime 定期 由于整个文件总是很小 因此删除对 filemtime 的调用并通过将

随机推荐

  • 在 Procfile 中启动多个工作进程(开发环境与 Heroku)

    我有一个简单的 Procfile 内容如下 web bundle exec rails server thin p PORT worker bundle exec rake jobs work 在 Heroku 上 这将启动 N 个工作任务
  • Java HashMap 数组大小

    我正在阅读Java 8 HashMap的实现细节 谁能告诉我为什么Java HashMap初始数组大小具体是16 16岁有什么特别之处 为什么总是两个人的力量 谢谢 2 的幂之所以到处出现 是因为当用二进制表示数字时 就像在电路中一样 2
  • 我们如何为 pom.xml 创建一个 build.gradle 等效文件来构建和部署 AEM 代码?

    我正在尝试创建一个构建 gradle文件 例如完整的 pom xmlAEM Maven 原型 https github com Adobe Marketing Cloud aem project archetype or 懒骨头模板 htt
  • 将 id 分开并存储在两个不同的数组中

    NSString string vlaue Highlight 1234 1235 1236 1237 Issuer 100 101 102 103 我需要将 1234 1235 1236 1237 存储在一个数组中 100 101 102
  • 自动激活Maven中的父插件

    是否可以在父 POM 中定义一个已停用的插件 并且当子项目继承此插件时 它会自动激活 我猜您想在父 pom 中配置该插件 但仅在继承的项目中使用它 Maven 有一个专门的部分 在pluginManagement 中配置你的插件 但在你需要
  • 超线程/SMT 是一个有缺陷的概念吗?

    HT SMT 背后的主要思想是 当一个线程停止时 同一核心上的另一个线程可以选择该核心的其余空闲时间并透明地与之一起运行 2013 年 英特尔放弃了 SMT 转而采用乱序执行 Silvermont 处理器核心 因为他们发现这可以提供更好的性
  • 如何在JSP中访问请求属性?

    目前我使用 and then 但是我想知道是否可以使用 EL 或 JSTL 而不是使用 scriptlet 来完成同样的操作 EL表达式 requestScope Error Message JSP EL 中有几个隐式对象 看表达语言 ht
  • 如何使用 Javascript 截断/切片/修剪字符串中的最后一个字符?

    我有一根绳子 12345 00 我希望它返回12345 0 我看过trim 但看起来它只是修剪空白并且slice我不明白这是如何运作的 有什么建议么 您可以使用子串 https developer mozilla org en US doc
  • 如何获取具有唯一属性的对象列表

    背景 我有一个list This list有很多对象 每个对象都有一个id 现在对象有不同的类型 objects Aobject Bobject Cobject where gt gt gt Aobject Bobject True gt
  • 在 Go 中,我们可以使用每个键的锁来同步映射的每个键吗?

    在 Go 中 我们可以使用每个键的锁来同步映射的每个键吗 地图级全局锁总是需要的吗 文档说任何对地图的访问都不是线程安全的 但如果有一把钥匙 那么可以单独上锁吗 不完全是 但如果您只是从地图上读取指针并修改所指对象 那么您就没有修改地图本身
  • 我可以使用从其他项目链接的文件夹中的视图吗?

    我在一个解决方案中有多个 MVC 项目 按照这个接受的答案 Visual Studio 项目中文件夹的 添加为链接 https stackoverflow com questions 3610845 add as link for fold
  • 从平面文件向 SQL Server 插入数百万条记录有哪些陷阱?

    我即将开始编写一个 Windows 窗体应用程序 该应用程序将打开一个以竖线分隔且大小约为 230 mb 的 txt 文件 然后 该应用程序会将这些数据插入到 sql server 2005 数据库中 显然这需要快速发生 我在这个项目中使用
  • 在 iTunes Connect 中更改新应用程序版本号

    我相信我设法让自己在 iTunes Connect 中陷入某种奇怪的僵局 我有一个应用程序 当前版本为 2 14 写完更新后 我决定将新版本编号为2 2 iTunes Connect 允许我做到这一点 当我尝试验证新版本时 它告诉我在 iT
  • 难以理解捕获组和反向引用

    为了整理我对正则表达式的了解 我决定阅读一本关于它们的书 正则表达式简介 我知道这很愚蠢 但其中一个介绍性示例对我来说没有意义 d d 1 示例文本 123 456 7890 应该捕获第一个数字 123 谁能解释一下这里发生了什么 据我所知
  • 批量-通过输入更改帐户密码

    我想在启动时创建一个批处理文件 要求用户更改当前的管理员密码 Step 1 User logins Step 2 Batch file runs displaying message Please change Administrator
  • React - 身份验证过程:无法在调度过程中调度

    我已经开始通过flummox react bootstrap 和react router 来玩react 我正在尝试为我的网站创建一个基本的同构 CMS 语境 在身份验证方面 每个用户都有一个功能列表 每个组件都使用我的身份验证存储 可以
  • 如何在IOS中更新App文件(html)?

    我的应用程序非常简单 我有一些带有 html 文件名的 plist 当用户选择一行时 webview 会加载该 html 文件及其内容 我很好奇如何进行应用程序更新 例如 我有一个新的更新的 html 文件 并进行了更正 我希望用户通过单击
  • 如何在NTVS(Node Tools for Visual Studio)中使用nodemon

    我在 Visual Studio Professional 13 上使用 Node 很快意识到每次代码更改都需要重新启动服务器变得很麻烦 所以我做了一些研究 发现大多数人使用nodemon来自动刷新他们的服务器 尽管在线教程使用命令行使用n
  • 触摸屏摇杆算法

    我想在触摸屏上模拟模拟操纵杆 如下图所示 当摇杆区域中心设置为 cx cy 时 如何计算触摸位置 tx ty 的X方向比和Y方向比 1 0 1 0 x 方向的比率为 tx cx r 其中 r 是圆的半径大小 类似地 y方向比率为 ty cy
  • 使用服务帐户从python调用Google Cloud Function进行身份验证

    我有一个触发器类型设置为 HTTP 的云函数 并且还有一个有权调用云函数的服务帐户 我想从 python 脚本调用云函数 我使用以下脚本来调用该函数 from google oauth2 import service account fro