Aliyun Secrets Manager Client for Python
The Aliyun Secrets Manager Client for Python enables Python developers to easily work with Aliyun KMS Secrets.
Read this in other languages: 简体中文 <https://github.com/aliyun/aliyun-secretsmanager-client-python/blob/master/README.zh-cn.rst>
License
Features
Provide quick integration capability to gain secret information
Provide Alibaba secrets cache ( memory cache or encryption file cache )
Provide tolerated disaster by the secrets with the same secret name and secret data in different regions
Provide default backoff strategy and user-defined backoff strategy
Requirements
Python 2.7,3.5,3.6,3.7
Install
Install the official release version through PIP (taking Linux as an example):
$ pip install aliyun-secret-manager-client
You can also install the unzipped installer package directly:
$ sudo python setup.py install
Sample Code
Ordinary User Sample Code
Build Secrets Manager Client by system environment variables (system environment variables setting for details)
from alibaba_cloud_secretsmanager_client.secret_manager_cache_client_builder import SecretManagerCacheClientBuilder
if __name__ == '__main__':
secret_cache_client = SecretManagerCacheClientBuilder.new_client()
secret_info = secret_cache_client.get_secret_info("#secretName#")
print(secret_info.__dict__)
Build Secrets Manager Client by the given parameters(accessKey, accessSecret, regionId, etc)
from alibaba_cloud_secretsmanager_client.secret_manager_cache_client_builder import SecretManagerCacheClientBuilder
from alibaba_cloud_secretsmanager_client.service.default_secret_manager_client_builder import DefaultSecretManagerClientBuilder
if __name__ == '__main__':
secret_cache_client = SecretManagerCacheClientBuilder.new_cache_client_builder(DefaultSecretManagerClientBuilder.standard() \
.with_access_key("#accessKeyId#", "#accessKeySecret#") \
.with_region("#regionId#").build()) \
.build();
secret_info = secret_cache_client.get_secret_info("#secretName#")
print(secret_info.__dict__)
Particular User Sample Code
Use custom parameters or customized implementation
from alibaba_cloud_secretsmanager_client.secret_manager_cache_client_builder import SecretManagerCacheClientBuilder
from alibaba_cloud_secretsmanager_client.cache.file_cache_secret_store_strategy import FileCacheSecretStoreStrategy
from alibaba_cloud_secretsmanager_client.service.default_secret_manager_client_builder import DefaultSecretManagerClientBuilder
from alibaba_cloud_secretsmanager_client.service.default_refresh_secret_strategy import DefaultRefreshSecretStrategy
from alibaba_cloud_secretsmanager_client.service.full_jitter_back_off_strategy import FullJitterBackoffStrategy
if __name__ == '__main__':
secret_cache_client = SecretManagerCacheClientBuilder \
.new_cache_client_builder(DefaultSecretManagerClientBuilder.standard().with_access_key("#accessKeyId#", "#accessKeySecret#") \
.with_back_off_strategy(FullJitterBackoffStrategy(3, 2000, 10000)) \
.with_region("#regionId#").build()) \
.with_cache_secret_strategy(FileCacheSecretStoreStrategy("#cacheSecretPath#", True,"#salt#")) \
.with_refresh_secret_strategy(DefaultRefreshSecretStrategy("#ttlName#")) \
.with_cache_stage("#stage#") \
.with_secret_ttl("#secretName#", 1 * 60 * 1000l) \
.build()
secret_info = secret_cache_client.get_secret_info("#secretName#")
print(secret_info.__dict__)
Metadata
Release files for aliyun-secret-manager-client 0.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aliyun-secret-manager-client-0.0.5.tar.gz | 20.2 kB | Details |
Release files / aliyun-secret-manager-client-0.0.5.tar.gz
| Download URL | aliyun-secret-manager-client-0.0.5.tar.gz |
|---|---|
| Size | 20.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a424ec70ab7fb35dc5b51fdfda35077083cc54d42dd1da5243bf8c471594aced
|
|
BLAKE2b-256 checksum How to use checksums |
aed8c0f405b579b94dff9a6a23890ec4634f6cc1c1ddcc39ea271e1466646d54
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.2
|