google-gax
是 Google Cloud 的 API 客户端库,用于响应式并发编程,具有客户端重试、请求日志记录、超时和元数据传输等功能。
安装 google-gax
你可以通过 npm 管理器安装 google-gax
:
npm install google-gax --save
如果你使用 yarn
管理器,则可以使用以下命令来安装:
yarn add google-gax
初始化 google-gax
在使用 google-gax
前,你需要初始化它。以下是如何进行初始化:
const { GoogleAuth } = require('google-auth-library'); const { auth } = new GoogleAuth({ keyFilename: '/path/to/keyfile.json', scopes: ['https://www.googleapis.com/auth/cloud-platform'] }); const { GoogleApiFactory } = require('google-gax'); const gaxClient = new GoogleApiFactory().create([apiName], { auth });
以上代码中,我们创建了 GoogleAuth
实例和 GoogleApiFactory
实例。auth
参数会指向一个已设置好的凭据,这将用于客户端授权。
你需要将 [apiName]
替换为你要使用的 API 的名称。可以在 Google Cloud Console 控制台上的 APIs & Services
页面中找到 API 的名称。
调用 API
在初始化了 google-gax
之后,你可以调用 API 了。以下是使用 google-gax
操作 Google Cloud Storage的示例:
-- -------------------- ---- ------- ----- - ------ - - ---------------------- ----- - -------- - -- - - - ------- ----- - ---------------- - - ---------------------- ----- -------- ------------ - ----- ---------- - --- ------------------------ ------------ ------------------------ ------- -------------------------------------------------- -- ----- --------- - --- ------------------------------------ - ----- ---------- --- ----- ------- - ----- ------------------------------- ---------- -------------- --- ----------------------------- - -------------
以上代码中,我们使用操作 Google Cloud Storage 的 API listBuckets
获取 PROJECT_ID
下的存储桶。在调用时,我们将 [PROJECT_ID]
替换为实际的项目 ID。
使用元数据传输服务
google-gax
还支持使用元数据传输服务,以在客户端之间共享元数据。以下是如何在客户端之间共享有关 API 请求的元数据:
-- -------------------- ---- ------- ----- - ---------- - - ------------------------------- ----- - ---- - - --- ------------- ----- - -------- - - ---------------- ----- -------- - --- ----------- ------------------------------------- --------------- ----- - ---------------- - - ---------------------- ----- --------- - --- ------------------------------------ - ----- -------- ---
以上代码中,我们使用 Metadata
函数创建了一个元数据对象。我们向元数据对象中添加了一个 x-goog-request-params
标头,它是通过 *
支持任何未识别的标头和查询参数的泛型查询参数。
这是用于元数据传输的 HTTP 请求头文件的一个示例:
POST /google.longrunning.Operations/Wait HTTP/1.1 x-goog-user-project: my-project x-goog-request-params: wait=false&timeout=600s
结束语
google-gax
将为你的应用程序带来许多优点,如请求日志记录、客户端重试、超时等。在使用 google-gax
时,请务必初始化它并调用需要使用的 API。同时,也可以使用元数据传输服务传输有关 API 请求的元数据。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/google-gax