我正在尝试从AWS Lambda函数访问Google Cloud API,但我不知道如何进行身份验证。Google Cloud 文档 (https://cloud.google.com/docs/authentication) 中的身份验证指南希望我下载凭证 JSON 文件并使用应用程序默认凭证,但正如任何使用过托管函数的人都知道的那样,关键是你不需要管理服务器或运行时环境,所以 Lambda 没有让我能够在运行代码的环境中存储任意文件。
我可以在本地使用 Cloud SDK 来获取访问令牌,但它已过期,因此我无法在我的函数中将其用作永久解决方案。
有没有办法获取一个访问令牌,我可以在我的代码中无限期地使用它来调用 Google Cloud API?还有其他解决方案吗?
我发现了如何硬编码凭据而无需将它们保存在 JSON 文件中。它在此文档中:
https://googlecloudplatform.github.io/google-cloud-node/#/docs/language/0.7.0/guides/authentication
下面是调用语言 API 的示例。
var language = require('@google-cloud/language')({
projectId: '',
credentials: {
client_email: '',
private_key: '',
}
});
language.detectEntities('Axel Foley is from Detroit').then(function(data) {
var entities = data[0];
var apiResponse = data[1];
});