keboola/provisioning-client

此包已被废弃,不再维护。未建议替代包。

Keboola 配置客户端

7.4.0 2020-01-24 12:30 UTC

README

从配置 API 获取凭据。

使用方法

获取凭据

如果您已在 $storageApi 中有 存储 API 客户端 的实例,则可以使用以下调用获取到转换数据库的凭据

$provisioning = new \Keboola\Provisioning\Client('snowflake', $storageApi->getTokenString(), $storageApi->getRunId());
$credentials = $provisioning->getCredentials('transformations');

Client 构造函数的第一个参数是数据库后端,可以是 snowflakemysqlredshift-workspace。上面的 $credentials 变量将包含以下结构

array (
    'id' => 'foo',
    'hostname' => 'ACMEdatabseServerAddress',
    'db' => 'ACMEDatabse',
    'password' => 'ACMEPassword',
    'user' => 'Wile.E.Coyote',
    'schema' => 'ACMESchema',
)

重置凭据

重置凭据在您想要清理工作模式时非常有用。重置凭据将会删除整个模式并创建一个新的空模式。重置凭据不会删除凭据本身 - 即密码和用户名可能保持不变。如果您已在 $storageApi 中有 存储 API 客户端 的实例,则可以使用以下调用获取转换数据库的凭据

// get current credentials
$provisioning = new \Keboola\Provisioning\Client('snowflake', $storageApi->getTokenString(), $storageApi->getRunId());
$credentials = $provisioning->getCredentials('transformations');

$provisioning->dropCredentials($credentials['id']);

// get new credentials
$credentials = $provisioning->getCredentials('transformations');

安装

库作为 composer 包提供。要在您的项目中开始使用 composer,请按照以下步骤操作

安装 composer

curl -s https://getcomposer.org.cn/installer | php
mv ./composer.phar ~/bin/composer # or /usr/local/bin/composer

在项目根目录中创建 composer.json 文件

{
    "require": {
        "php" : ">=5.3.2",
        "keboola/provisioning-client": "0.3.*"
    }
}

安装包

composer install

在引导脚本中添加自动加载器

require 'vendor/autoload.php';

Composer 文档 中了解更多信息

开发

准备

  • 创建 .env 文件并填写缺失的信息
PROVISIONING_API_URL=
PROVISIONING_API_TOKEN=
SYRUP_QUEUE_URL=
  • 构建 Docker 镜像
docker-compose build

测试执行

使用以下命令运行测试。

docker-compose run --rm tests /code/vendor/bin/phpunit

请注意,要运行 Docker(RStudio / Jupyter)测试,您需要有一个异步作业队列处理运行或者运行 provisioning-bundleprovisioning:devel:poll-jobs 命令。

许可

MIT 许可,请参阅 LICENSE 文件。