我正在尝试从AWS Lambda函数访问Google Cloud API,但我不知道如何进行身份验证。 Google云端文档(https://cloud.google.com/docs/authentication)中的身份验证指南要求我下载凭据JSON文件并使用应用程序默认凭据,但是任何使用过托管函数的人都知道,重点是您不需要管理服务器或运行时环境,因此Lambda不允许我在运行代码的环境中存储任意文件。
我可以在本地使用Cloud SDK来获取访问令牌,但它会过期,所以我不能在我的函数中使用它作为永久解决方案。
我是否有办法获得一个访问令牌,我可以无限期地在我的代码中使用它来调用Google Cloud API?还有其他解决方案吗?
答案 0 :(得分:5)
我发现如何硬编码凭证而无需将它们保存在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];
});