选择最佳的访问凭据类型
本页将向您介绍 Tencent Cloud SDK for Python 目前已支持的访问凭据类型
通常 情况下,我们会选择最简单、直观的在应用程序源代码中硬编码访问凭据信息,这种方式并不便于访问凭据的管理和定期轮换,也不利于组织复杂的应用程序项目源代码。我们将该方式称之为默认访问凭据类型,其源代码形态通常为:
access_credentials: credentials.Credentials = credentials.Credentials(
secret_id = 'AKIDF3sMOAU1pOgkmrKHchX6TZQ1Mo1C5qa7',
secret_key = 'b4JL8fwxkIgsKMXGi39yYt0ECxZw4wZf'
)
在下文中我们将向您介绍 Tencent Cloud SDK for Python 中所支持的其他访问凭据类型,您可以根据应用程序需求选择最佳的实践方式。
环境凭据是指在特定应用程序运行环境中由环境变量所存储的访问凭据信息,Tencent Cloud SDK for Python 支持自动查找并使用有效的环境凭据作为客户端的访问凭据。
环境凭据类型由命名空间和模块
tencent.cloud.auth.credentials
中类 EnvironmentalCredentials
代表,该类的签名如下:class EnvironmentalCredentials(Credentials)
继承:
tencent.cloud.auth.credentials.Credentials
类当您选择并使用环境凭据时,Tencent Cloud SDK for Python 将尝试在当前运行环境的环境变量中查找默认名为
TENCENTCLOUD_SECRETID
和 TENCENTCLOUD_SECRETKEY
的环境变量值,对应访问凭据的 Secret ID 和 Secret Key 字段。在下文中我们将通过 Python 代码片段向您演示如何使用环境凭据实例化无服务器云函数产品客户端:
from tencent.cloud.auth import credentials
function_client: functions.Client = functions.Client(
access_credentials = credentials.EnvironmentalCredentials()
)
当您在 Tencent Cloud 无服务器云函数产品所运行的无服务器云函数代码中使用时,您可以为该无服务器云函数配置 运行角色。当无服务器云函数运行时将自动为其分配非持久临时访问凭据,该访问凭据将被 Tencent Cloud SDK for Python 视为环境凭据。
如果运行环境中存储访问凭据的环境变量名称与默认查找的环境变量名称不同,您可以手动指定:
from tencent.cloud.auth import credentials
function_client: functions.Client = functions.Client(
access_credentials = credentials.EnvironmentalCredentials(
variable_name_of_secret_id = 'MY_SECRETID',
variable_name_of_secret_key = 'MY_SECRETKEY'
)
)
现在 Tencent Cloud SDK for Python 将尝试在当前运行环境的环境变量中查找名为
MY_SECRETID
和 MY_SECRETKEY
的环境变量值。环境凭据支持隐式使用,这意味着若当前应用程序的运行环境符合环境凭据的所有默认行为,您将无需明确指定使用环境凭据:
function_client: functions.Client = functions.Client()
请注意,如果当前应用程序运行环境中无法找到符合条件的环境凭据,将引发 EnvironmentError 异常。