magium / mcm-aws-factory
一个用于管理AWS凭证的简单库,基于Magium配置管理器
0.9.4
2017-11-20 17:46 UTC
Requires
- aws/aws-sdk-php: ^3.33
- magium/configuration-manager: ^1
Requires (Dev)
- phpunit/phpunit: ^6.4
This package is not auto-updated.
Last update: 2024-09-15 02:16:55 UTC
README
此库为aws/aws-sdk-php库提供了一个接口,以便您可以使用Magium配置管理器。通常应用程序将有一些静态配置机制,例如XML文件、JSON文件、YAML文件或PHP文件。这本身并没有什么问题,但它将您的部署和配置关注点合并在一起。Magium配置管理器(MCM)打破了这种依赖关系,您可以将配置与部署分开管理。
设置
composer require magium/mcm-aws-factory
安装完成后,您需要使用magium-configuration
命令为您的项目初始化Magium配置管理器(MCM)。您可以在vendor/bin/magium-configuration
中找到它,如果不起作用,您也可以运行php vendor/magium/configuration-manager/bin/magium-configuration
。在本文档中,我们将简单地称之为magium-configuration
。
配置
首先,列出所有配置键,以便您可以看到它们。
$ magium-configuration magium:configuration:list-keys
Valid configuration keys
aws/credentials/region
aws/credentials/key
aws/credentials/secret
然后,您需要设置这些设置
$ magium-configuration set aws/general/region us-east-1
Set aws/general/region to us-east1 (context: default)
Don't forget to rebuild your configuration cache with magium:configuration:build
$ magium-configuration set aws/general/key xxxxxxxxxxxxxxxxxxx
Set aws/general/key to xxxxxxxxxxxxxxxxxxx (context: default)
Don't forget to rebuild your configuration cache with magium:configuration:build
$ magium-configuration set aws/general/secret xxxxxxxxxx
Set aws/general/secret to xxxxxxxxxxx (context: default)
Don't forget to rebuild your configuration cache with magium:configuration:build
然后,您需要构建配置
$ magium-configuration build
Building context: default
Building context: production
Building context: development
用法
接下来,在您的应用程序代码中运行以下内容
$magiumFactory = new \Magium\Configuration\MagiumConfigurationFactory();
$awsFactory = new \Magium\AwsFactory\AwsFactory($magiumFactory->getConfiguration());
$ec2Client = $awsFactory->factory(\Aws\Ec2\Ec2Client::class);
$result = $ec2Client->describeSecurityGroups();
$groups = $result->get('SecurityGroups');
foreach ($groups as $count => $group) {
echo sprintf("\nSecurity Group: %d\n", $count);
foreach ($group as $name => $value) {
if (is_string($value)) {
echo sprintf("%s: %s\n", $name, $value);
}
}
}
您可以在[测试/get-security-groups.php](sample test script)中尝试此操作。