Tencent Cloud SDK
Tencent CloudGitHub
简体中文
简体中文
  • 欢迎
  • 常见问题
  • Python
  • 概述
  • 安装
  • 入门
  • 最佳实践
    • 无服务器云函数
      • 无服务器云函数间调用
      • 定时调用无服务器云函数
      • 原生调用无服务器云函数
        • 绑定到无服务器云函数
        • 使用例程组织无服务器云函数
    • 无服务器数据库
      • 创建和管理无服务器数据库
    • 其他 Tencent Cloud 产品
      • 选择最佳的访问凭据类型
  • API 文档
    • 无服务器云函数
      • 类和方法
        • Client 类
          • easy_invoke 方法
          • routine_invoke 方法
          • select_function 方法
          • select_routine 方法
          • bind_function 方法
          • bind_routine 方法
          • schedule_invoke 方法
          • run_schedule 方法
          • invoke 方法
          • create_function 方法
          • delete_function 方法
          • publish_function_version 方法
          • copy_function 方法
          • update_function_code 方法
          • update_function_configure 方法
          • get_function_result_by_request_id 方法
          • get_function_results 方法
          • list_functions 方法
          • list_function_versions 方法
          • get_function_info 方法
          • create_trigger 方法
          • delete_trigger 方法
          • create_namespace 方法
          • delete_namespace 方法
          • list_namespaces 方法
          • update_namespace 方法
          • get_function_code_download_url 方法
          • download_function_code 方法
          • create_layer 方法
          • delete_layer 方法
          • get_layer_info 方法
          • list_layers 方法
          • list_layer_versions 方法
          • submit_monitor_indicator 方法
        • FunctionSchedule 类
          • cancel 方法
        • FunctionResultFuture 类
          • get_request_id 方法
        • FunctionTrigger 类
          • get_trigger_kind 方法
          • get_trigger_context 方法
          • use_timer 方法
          • use_object_storage_bucket 方法
          • use_message_queue_topic 方法
        • FunctionCode 类
          • get_code_source 方法
          • get_code_context 方法
          • use_object_storage_bucket 方法
          • use_local_zip_archive 方法
          • use_git_repository 方法
        • LayerContent 类
        • fetch_client 函数
        • use_routine_dispatcher 函数
      • 数据类型
        • FunctionResult 类型
        • FunctionInfo 类型
        • FunctionInfoEx 类型
        • FunctionVersionInfo 类型
        • NamespaceInfo 类型
        • LayerInfo 类型
        • FunctionConfigure 类型
        • FunctionResultFilter 类型
        • FunctionFilter 类型
        • ObjectStorageBucketTriggerFilter 类型
        • MessageQueueTopicTriggerFilter 类型
        • LayerFilter 类型
        • FunctionRuntime 枚举器
        • FunctionType 枚举器
        • FunctionResultType 枚举器
        • FunctionTriggerKind 枚举器
        • FunctionCodeSource 枚举器
        • LayerContentSource 枚举器
        • LayerStatus 枚举器
      • 异常
        • InvokeError 异常
        • StatusError 异常
    • 无服务器数据库
      • 类和方法
        • Client 类
          • create_instance 方法
          • delete_instance 方法
          • list_instances 方法
          • set_instance_extranet 方法
        • fetch_client 函数
      • 数据类型
        • InstanceInfo 类型
        • InstanceConfigure 类型
        • DatabaseCharset 枚举器
    • 其他 Tencent Cloud 产品
      • 类和方法
        • Waitable 类
          • wait_for_done 方法
          • has_done 方法
          • set_result 方法
        • ErrorManager 类
          • add_handler 方法
          • remove_handler 方法
          • has_handler 方法
          • clear_all_handler 方法
        • UniversalClient 类
          • action 方法
          • action_for_product 方法
          • select_action 方法
          • get_product_id 方法
          • set_product_id 方法
          • set_access_endpoint 方法
          • set_access_proxies 方法
          • get_last_response_metadata 方法
        • Proxies 类
          • use_proxy_server 方法
          • add_proxy_server 方法
          • remove_proxy_server 方法
      • 数据类型
        • ResponseMetadata 类型
        • ProxyAuth 类型
        • ProxyType 枚举器
        • ErrorHandlerResult 枚举器
        • WaitableStatus 枚举器
      • 异常
        • Error 异常
        • NotFoundError 异常
        • ExistedError 异常
        • OccupiedError 异常
        • ClientError 异常
        • RequestError 异常
        • ResponseError 异常
        • ActionError 异常
        • ActionResultError 异常
  • GitHub 存储库
  • Issues 跟踪器
  • PyPI 项目主页
由 GitBook 提供支持
在本页
  • 指导
  • 无服务器云函数
  • 其他 Tencent Cloud 产品
  • API 文档

这有帮助吗?

导出为 PDF

入门

本页将引导您如何在应用程序中集成并使用 Tencent Cloud SDK for Python

指导

借助 Tencent Cloud SDK for Python,您可以以面向对象编程的方式使用 Tencent Cloud 产品。

目前,Tencent Cloud SDK for Python 支持以同步或异步的编程方式集成到应用程序中使用,异步编程方式可以编写性能更好的应用程序。下面我们将通过多个连续的代码片段逐步向您演示如何在 Python 应用程序中集成并使用 Tencent Cloud SDK for Python。

无服务器云函数

我们以 Tencent Cloud 产品 无服务器云函数 为例。

假定我们在数据中心 ap-shanghai 拥有一个名为 default 的命名空间,该命名空间中拥有一个名为 hello 的函数。现在我们尝试使用 Tencent Cloud SDK for Python 调用该函数并获得返回值。

导入模块

首先我们需要导入 Tencent Cloud SDK for Python 的相关软件包和模块:

from tencent.cloud.core import errors
from tencent.cloud.auth import credentials
from tencent.cloud.serverless import functions

访问凭据

接着我们需要实例化一个访问凭据,以便于 Tencent Cloud 可以确信您有权访问相关资源并执行操作:

access_credentials = credentials.Credentials(
    secret_id = 'AKIDF3sMOAU1pOgkmrKHchX6TZQ1Mo1C5qa7',
    secret_key = 'b4JL8fwxkIgsKMXGi39yYt0ECxZw4wZf'
)

产品客户端

然后我们需要实例化一个 无服务器云函数 产品的抽象产品客户端,以便于我们通过面向对象编程的方式与 无服务云函数 产品交互:

function_client: functions.Client = functions.Client(
    access_credentials = access_credentials
)

参数 credentials_context 要求您提供一个有效的访问凭据,它是可选的。

如果您在 无服务器云函数 产品所创建的函数中使用 Tencent Cloud SDK for Python 且该参数被忽略或设置为 None,Tencent Cloud SDK for Python 将尝试查找并使用环境凭据。

调用函数

最后我们将尝试调用无服务器云函数并获取返回值:

return_value: str = function_client.easy_invoke(
    region_id = 'ap-shanghai',  # Unique identifier of the data center
    namespace_name = 'default', # Name of the namespace
    function_name = 'hello'     # Name of the Cloud Function
)

在以上示例代码中,局部变量 return_value 将拥有无服务器云函数 hello 的实际返回值。

方法 easy_invoke 将尝试推断给定无服务器云函数调用结果中的函数返回数据类型,并将其解析封装为 Python 原生数据类型返回。

请注意,如果给定的无服务器云函数运行时出错,方法 easy_invoke 将引发 InvokeError 异常,该异常类型在 tencent.cloud.serverless.functions.errors 模块中定义。

如果您正在寻找在无服务器云函数间相互调用的方法,使用 Tencent Cloud SDK for Python 提供的托管式产品客户端或许是一个不错的选择:

return_value: str = functions.invoke('hello')

其他 Tencent Cloud 产品

对于 Tencent Cloud SDK for Python 未提供抽象产品客户端的 Tencent Cloud 产品,依然可以使用通用客户端直接访问 Tencent Cloud API 并获得结果。

我们以 Tencent Cloud 产品 云服务器 为例。假定我们需要检索数据中心 ap-shanghai 目前正在运营的所有可用区 ID 列表:

导入模块

首先我们需要导入 Tencent Cloud SDK for Python 的相关软件包和模块:

from tencent.cloud.core import errors
from tencent.cloud.core import client
from tencent.cloud.auth import credentials

访问凭据

接着我们需要实例化一个访问凭据,以便于 Tencent Cloud 可以确信您有权访问相关资源并执行操作:

access_credentials = credentials.Credentials(
    secret_id = 'AKIDF3sMOAU1pOgkmrKHchX6TZQ1Mo1C5qa7',
    secret_key = 'b4JL8fwxkIgsKMXGi39yYt0ECxZw4wZf'
)

通用客户端

然后我们需要实例化一个通用客户端,以便于我们使用面向对象编程的方式与 云服务器 产品所提供的 Tencent Cloud API 进行交互:

virtual_machine_client: client.UniversalClient = client.UniversalClient(
    product_id = 'cvm',     # Unique identifier of the product
    access_credentials = access_credentials    # Access credentials
)

使用 Tencent Cloud API

action_result: dict = virtual_machine_client.action(
    region_id = 'ap-shanghai',      # Unique identifier of the data center
    action_id = 'DescribeZones',    # Unique identifier of the Tencent Cloud API
    action_version = '2017-03-12'   # Version name of the Tencent Cloud API
)

请注意,如果给定 Tencent Cloud API 发生错误或对应操作执行失败,方法 action 将引发 ActionError 异常;如果给定 Tencent Cloud API 返回结果不符合预期协定,方法 action 将引发 ActionResultError 异常。这些异常类型在模块 tencent.cloud.core.errors 中定义。

打印数据中心正在运营的所有可用区 ID:

for zone_info in action_result['ZoneSet']:
    print(zone_info['Zone'])

API 文档

在上文中我们通过多个连续的代码片段逐步向您演示 Tencent Cloud SDK for Python 的基本用法。如果您需要获取相关产品客户端或通用客户端的其他用法,请参阅我们的技术文档。

上一页安装下一页最佳实践

最后更新于5年前

这有帮助吗?

上文示例代码中给定的参数 secret_id 和 secret_key 为演示凭据,您需要转到 创建并获取适用于您账户的凭据。

环境凭据:是指绑定 的无服务器云函数被运行时,在运行环境中所临时生成的非持久性访问凭据。

此时 Tencent Cloud SDK for Python 将代您管理访问凭据和产品客户端,函数 functions.invoke 在内部将调用托管产品客户端实例的 方法。

请注意,函数 functions.invoke 仅支持已配置 的无服务器云函数发起调用。

参阅 源代码以获取完整的无服务器云函数产品 Python 示例代码。

上文示例代码中给定的参数 secret_id 和 secret_key 为演示凭据,您需要转到 创建并获取适用于您账户的凭据。

最后我们尝试使用 云服务器 产品提供的 Tencent Cloud API - 检索数据中心园区正在运营的所有可用区 ID 列表:

Tencent Cloud 控制台
选择最佳的访问凭据类型
运行角色
easy_invoke
运行角色
Quick-Start
Tencent Cloud 控制台
DescribeZones
API 文档