【问题标题】:How to install firebase extension in not-interactive way如何以非交互方式安装 Firebase 扩展
【发布时间】:2020-12-04 00:31:02
【问题描述】:

我正在尝试通过 firebase CLI 安装 firebase firestore-bigquery-export 扩展。 但我找不到如何以non-interactive 方式安装扩展。

我需要它,因为我有多个环境和 CI。

控制台包含有关 的信息,但在哪里可以找到参数名称?

$ firebase ext:install firestore-bigquery-export -h
Usage: firebase ext:install [options] [extensionName]

install an official extension if [extensionName] or [extensionName@version] is provided; or run with `-i` to see all available extensions.

Options:
  --params <paramsFile>  name of params variables file with .env format.
  -h, --help             output usage information

感谢您的帮助!

【问题讨论】:

    标签: firebase google-bigquery firebase-cli firebase-extensions


    【解决方案1】:

    如文档中的here 所述(展开“在安装期间绕过交互式终端提示输入参数值”部分),您需要:

    1. 创建一个.env 文件(例如params.env),定义您的 参数值。将文件保存到本地。
    • 通过扩展程序的 extension.yaml 文件中的 param 值声明每个参数
    • 包括所有参数的值。
    • 关注dotenv syntax
    1. 运行带有--params 标志的extension-install 命令。 例如,要安装翻译文本扩展,请运行以下命令:firebase ext:install firestore-translate-text --params=path/to/params.env --project=projectID-or-alias

    要查找给定扩展的extension.yaml 文件,您需要查看其源代码。要查找官方 Firebase 扩展的源代码链接,您需要在 Firebase 扩展产品页面或 Firebase 控制台中点击扩展卡片上的“了解详情”。

    【讨论】:

    • 嗨 user1606854,您有时间查看建议的解决方案吗?
    • 嗨 Renaud Tarnec。是的,您的解决方案对我有用。非常感谢!
    • 但它仍然会问一个问题:firebase ext:install --params=big-query/install/invoices/invoices.env firestore-bigquery-export - BigQuery 数据编辑器(有权编辑所有内容数据集) ?你想继续吗? (是/否)
    • 也被问到Do you wish to continue? 问题。还有其他标志可以绕过它吗?
    • 如果我安装了多个扩展实例,如何以非交互方式指定扩展实例名称?我必须在 params.env 文件中指定它吗?
    【解决方案2】:

    回应 aponski 的评论 here re:安装多个扩展实例...

    再补充一点 Renaud Tarnec 提供的答案......

    在尝试以非交互方式通过 firebase cli 安装 firestore-bigquery-export 扩展的多个实例时,我发现以下方法对我有用。

    值得注意的是,我需要添加 --force 标志(doc 中未提及,除非我遗漏了什么)并通过管道传递扩展 ID,因为这在 extension.yaml 文件中不可用。

    #!/bin/bash
    
    PROJECT_ID=$1
    DIR="$(cd "$(dirname "$0")" && pwd)"
    echo $PROJECT_ID
    
    echo "firestore-bigquery-exports-users" | \
      firebase ext:install firebase/firestore-bigquery-export \
      --params=$DIR/users.params.env \
      --project=$PROJECT_ID \
      --force
    
    echo "firestore-bigquery-exports-events" | \
      firebase ext:install firebase/firestore-bigquery-export \
      --params=$DIR/events.params.env \
      --project=$PROJECT_ID \
      --force
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-03
      • 1970-01-01
      • 1970-01-01
      • 2014-08-25
      • 2012-04-30
      • 2020-06-15
      • 2013-08-29
      相关资源
      最近更新 更多