reedtechus/azure-data-explorer-laravel

Azure Data Explorer SDK for Laravel


README

logo-print-hd-transparent

Azure Data Explorer SDK for Laravel

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

该项目是一个Laravel包,允许您从Laravel应用程序连接到Azure Data Explorer并执行查询。

⚠️ 实验性:该包仍在开发中,尚未准备好用于生产使用。在1.0.0版本之前,可能仍然会进行破坏性更改,而无需进行主版本号更改。

该包是Azure Data Explorer SDK for PHP的直接扩展,由Reed Tech提供,该SDK提供PHP SDK以与Azure Data Explorer REST API交互。

目标

该项目的目标是提供Azure Data Explorer SDK包的Laravel友好接口。

功能路线图

  • 通过Redis进行缓存

安装

您可以通过composer安装此包

composer require reedtechus/azure-data-explorer-laravel

以下环境变量对于此包正常工作是必需的

# Azure Data Explorer
AZURE_DATA_EXPLORER_TENANT_ID="TENANT_ID"
AZURE_DATA_EXPLORER_CLIENT_ID="CLIENT_ID"
AZURE_DATA_EXPLORER_CLIENT_SECRET="SECRET"
AZURE_DATA_EXPLORER_CLUSTER="CLUSTER"
AZURE_DATA_EXPLORER_REGION="REGION"
AZURE_DATA_EXPLORER_DATABASE="DATABASE_NAME"

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="azure-data-explorer-laravel-config"

这是发布配置文件的内容

return [
	/*
    |--------------------------------------------------------------------------
    | Azure Data Explorer
    |--------------------------------------------------------------------------
    |
    | This is the configuration for the Azure Data Explorer package.
    |
    */

    // The base URL of the Azure Data Explorer API.
    'base_url' => env('AZURE_DATA_EXPLORER_BASE_URL', 'https://login.microsoftonline.com'),

    // The tenant ID of the Azure Data Explorer API.
    'tenant_id' => env('AZURE_DATA_EXPLORER_TENANT_ID'),

    // The client ID of the Azure Data Explorer API.
    'client_id' => env('AZURE_DATA_EXPLORER_CLIENT_ID'),

    // The client secret of the Azure Data Explorer API.
    'client_secret' => env('AZURE_DATA_EXPLORER_CLIENT_SECRET'),

    // The cache driver to use for caching responses.
    'cache_driver' => env('AZURE_DATA_EXPLORER_CACHE_DRIVER', 'redis'),

    // The cache TTL to use for caching responses.
    'cache_ttl' => env('AZURE_DATA_EXPLORER_CACHE_TTL', 3500),

    // The cluster of the Azure Data Explorer API.
    'cluster' => env('AZURE_DATA_EXPLORER_CLUSTER'),

    // The region of the Azure Data Explorer API.
    'region' => env('AZURE_DATA_EXPLORER_REGION'),

	// The database of the Azure Data Explorer API.
	'database' => env('AZURE_DATA_EXPLORER_DATABASE'),
];

用法

// Option A: More efficient to save and re-use the AzureDataExplorer class instance for followup queries
$de = new AzureDataExplorer();
$results = $de->query($query);

// Option B: you can use the AzureDataExplorer::queryOnce() method to perform the query
$results = AzureDataExplorer::queryOnce($query);

这些调用返回一个QueryResultsDTO对象(或抛出异常)。

使用结果

dump('Columns: '.implode(', ', $results->columns));
dump('Number of Results: '.count($results->data));
dump('Execution Time: '.$results->executionTime);

dump('First Row: '.print_r($results->data[0], true));

测试

composer test

依赖关系

变更日志

请参阅CHANGELOG以获取有关最近更改的更多信息。

安全漏洞

请参阅我们关于如何报告安全漏洞的安全策略

致谢

此包以任何方式都不受Microsoft的支持或认可。

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件