keboola/azure-api-client

Keboola Azure API 客户端


README

安装

composer require keboola/azure-api-client

用法

使用 API 客户端的最简单方法是创建其实例。

use Keboola\AzureApiClient\ApiClientConfiguration;
use Keboola\AzureApiClient\Marketplace\MarketplaceApiClient;
use Monolog\Logger;

$logger = new Logger('azure-api-client');
$marketplaces = new MarketplaceApiClient(new ClientCredentialsAuth(
    logger: $logger,
));

认证

默认情况下,API 客户端将尝试使用 ENV 变量 AZURE_TENANT_IDAZURE_CLIENT_IDAZURE_CLIENT_SECRET 进行认证。如果其中某些不可用,它将回退到 Azure 元数据 API。

如果您想提供自己的凭据,可以在客户端选项中传递自定义认证器实例

use Keboola\AzureApiClient\ApiClientConfiguration;
use Keboola\AzureApiClient\Authentication\Authenticator\ClientCredentialsAuth;
use Keboola\AzureApiClient\Marketplace\MarketplaceApiClient;

$marketplaces = new MarketplaceApiClient(new ApiClientConfiguration(
    authenticator: new ClientCredentialsAuth(
        'tenant-id',
        'client-id',
        'client-secret',
    ),
));

或者直接提供自定义认证令牌

use Keboola\AzureApiClient\ApiClientConfiguration;
use Keboola\AzureApiClient\Authentication\Authenticator\StaticBearerTokenAuth;
use Keboola\AzureApiClient\Marketplace\MarketplaceApiClient;

$marketplaces = new MarketplaceApiClient(new ApiClientConfiguration(
    authenticator: new StaticBearerTokenAuth('my-token'),
));

或者如果需要,甚至可以使用自定义认证头

use Keboola\AzureApiClient\ApiClientConfiguration;
use Keboola\AzureApiClient\Authentication\Authenticator\StaticBearerTokenAuth;
use Keboola\AzureApiClient\Marketplace\MarketplaceApiClient;

$marketplaces = new MarketplaceApiClient(new ApiClientConfiguration(
    authenticator: new CustomHeaderAuth('aeg-sas-key', 'XXXXXXXXXXXXXXXXXX0GXXX/nDT4hgdEj9DpBeRr38arnnm5OFg=='),
));

如果这仍然不足以满足您的用例,您可以实现自己的 Keboola\AzureApiClient\Authentication\Authenticator\RequestAuthenticatorFactoryInterface 并将其作为 authenticator 传递。

许可

MIT 许可,请参阅 LICENSE 文件。