3

AWSラムダ関数からGoogle Cloud APIにアクセスしようとしていますが、認証方法がわかりません。 Google Cloudのドキュメント(https://cloud.google.com/docs/authentication)の認証ガイドでは、資格情報のJSONファイルをダウンロードしてApplication Default Credentialsを使用したいと考えていますが、ホストされた機能を使用している人は誰でも知っているので、サーバーやランタイム環境では、Lambdaは実行中のコードの環境に任意のファイルを格納することはできません。アプリケーションのデフォルトクレデンシャルやクラウドSDKなしでGoogle Cloud APIを認証する方法は?

クラウドSDKをローカルで使用してアクセストークンを取得することはできますが、有効期限が切れるため、私の機能では永続的なソリューションとして使用できません。

コードでGoogle Cloud APIを呼び出すために無期限に使用できるアクセストークンを取得する方法はありますか。他の解決策はありますか?

+0

どの言語をプログラミングしていますか?どのようなGoogle APIライブラリを使用していますか? – cherba

+0

私のAWS Lamba関数は、ノードJSのJavascriptで書かれており、私はGoogleのNatural Language APIを呼び出しています。 –

+0

https://github.com/google/google-auth-library-nodejsでクレデンシャルを管理しましたか? – cherba

答えて

1

資格情報を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]; 
}); 
関連する問題