仅本页所有页面
由 GitBook 提供支持
无法为149页生成 PDF,生成在100页时停止。
使用50页进行扩展。
1 / 100

简体中文

Loading...

Loading...

Python

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Client 类

命名空间和模块:tencent.cloud.serverless.functions

简要

代表无服务器云函数产品客户端的类。利用该类,您可以以同步或异步面向对象编程的方式快速、安全地与无服务器云函数产品交互。

继承:tencent.cloud.serverless.functions.client.AbstractClient 类

兼容性

从产品软件包 tencent-cloud-sdk-serverless-functions 的 0.1.3 版本开始,无服务器云函数产品客户端类型将不再继承自 BaseClient,而是 UniversalClient。

  • tencent.cloud.serverless.functions.Client 类

    • tencent.cloud.serverless.functions.client.AbstractClient 类

      • tencent.cloud.core.client.UniversalClient

构造

该类仅支持构造类实例后使用,构造实例方法继承自父类,其构造实例方法签名如下:

构造实例方法参数和参数描述如下:

兼容性

请注意,对于 Tencent Cloud SDK for Python 0.1.3 或更低版本,参数名称为:

值得注意的是,旧版本除参数名称不同外,与新版本中的参数数据类型和行为是一致的。

属性

该类型的实例包含可被公开访问的属性有:

兼容性

该类型部分可被公开访问的属性可能需要最新的 Tencent Cloud SDK for Python 版本:

示例

在下文中我们将向您演示如何构造一个无服务器云函数产品客户端类实例:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.3

routine_invoke 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

调用给定无服务器云函数的指定例程,并获取例程的实际返回值。

参数

select_routine 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

选择一个给定无服务器云函数的指定例程并返回给定无服务器云函数例程的 Python 原生函数实例。对该函数实例的调用等同于对给定无服务器云函数例程的调用,其关键字参数将作为给定无服务器云函数例程的关键字参数。

参数

select_function 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

选择一个无服务器云函数并返回给定无服务器云函数的 Python 原生函数实例。对该函数实例的调用等同于对给定无服务器云函数的调用,其关键字参数将作为给定无服务器云函数的事件。

参数

class Client(client.AbstractClient)
类
  • tencent.cloud.core.client.BaseClient 类

是

当前无服务器云函数产品客户端实例所绑定的一个或多个代理服务器配置实例。如果需要修改代理服务器配置,请使用 方法。

请注意,如果当前无服务器云函数产品客户端未设置代理服务器配置,该属性默认值为 None。

参数

类型

必选

描述

access_credentials

Credentials

否

访问凭据类实例。如果该参数被忽略或设置为 None,默认设置为环境凭据或文件凭据。

access_proxies

Proxies

否

代理服务器配置类实例。如果该参数被忽略或设置为 None,默认不使用任何代理服务器。

文档中的参数名

旧的参数名

类型一致

行为一致

access_credentials

credentials_context

是

是

access_proxies

proxies_context

是

是

属性

类型

只读

描述

error_manager

ErrorManager

是

当前无服务云函数产品客户端实例的错误管理器实例。借助错误管理器,您可以自定义对感兴趣地错误的处理方式。

credentials

Credentials

是

当前无服务器云函数产品客户端实例所绑定的访问凭据实例。

proxies

属性

软件包

版本要求

error_manager

tencent-cloud-sdk-core

>= 0.1.2

credentials

tencent-cloud-sdk-core

>= 0.1.2

proxies

tencent-cloud-sdk-core

>= 0.1.3

UniversalClient 类

Proxies

该方法的参数和参数描述如下:

参数

类型

必选

描述

region_id

str

是

调用的无服务器云函数所在数据中心的唯一标识符。

例如:ap-shanghai

namespace_name

str

是

调用的无服务器云函数所在命名空间的名称。

例如:default

function_name

返回值

该方法返回给定无服务器云函数的指定例程调用的实际返回值。返回值视参数的值不同而异,详情请参阅方法 easy_invoke 的返回值描述。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

InvokeError

给定无服务器云函数在调用过程中遇到错误,这通常是由于无服务器云函数所运行的代码存在异常。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.5

使用例程组织无服务器云函数
easy_invoke 方法
该方法的参数和参数描述如下:

参数

类型

必选

描述

region_id

str

是

选择的无服务器云函数所在数据中心的唯一标识符。

例如:ap-shanghai

namespace_name

str

是

选择的无服务器云函数所在命名空间的名称。

例如:default

function_name

返回值

该方法返回给定无服务器云函数例程的 Python 原生函数实例。

返回的函数实例将在内部调用方法 routine_invoke 实现对给定无服务器云函数例程的调用,其函数实例的返回值与方法 routine_invoke 的返回值一致。

异常

该方法预期行为不会主动引发任何异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.5

使用例程组织无服务器云函数
routine_invoke 方法
该方法的参数和参数描述如下:

参数

类型

必选

描述

region_id

str

是

选择的无服务器云函数所在数据中心的唯一标识符。

namespace_name

str

是

选择的无服务器云函数所在命名空间的名称。

function_name

返回值

该方法返回给定无服务器云函数的 Python 原生函数实例。

返回的函数实例将在内部调用方法 easy_invoke 实现对给定无服务器云函数的调用,其函数实例的返回值与方法 easy_invoke 的返回值一致。

异常

该方法预期行为不会主动引发任何异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

easy_invoke 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

调用给定无服务器云函数并获得无服务器云函数的实际返回值。

参数

该方法的参数和参数描述如下:

返回值

该方法返回值取决于参数 function_async 的值。如果该参数设置为 False,该方法返回给定无服务器云函数调用结果中的实际返回值;如果该参数设置为 True,该方法返回用于标识给定无服务器云函数调用的唯一标识符(Request ID)字符串。

实际返回值:指给定给定无服务器云函数所运行代码的真实返回值。该方法将尝试推断给定无服务器云函数运行结果中返回值的数据类型,例如给定无服务器云函数返回整形数值,该方法将返回使用 Python 原生数据类型解析包装的 Int 值。

请注意,如果以异步编程方式使用该方法,且参数 function_async 被设置为 True,该方法将返回代表给定无服务器云函数未来实际返回值的 FunctionResultFuture 类实例。

返回的 FunctionResultFuture 实例支持使用 await 关键字等待给定无服务器云函数本次调用的实际返回值。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

InvokeError

给定无服务器云函数在调用过程中遇到错误,这通常是由于无服务器云函数所运行的代码存在异常。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

bind_function 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

将给定无服务器云函数绑定在另一个 Python 原生函数、类方法或类实例方法上。之后对被绑定可调用对象的调用将被重定向为对给定无服务器云函数的调用。

该方法是一个装饰器,您应该以 Python 装饰器语法使用它,否则行为是未定义的。

参数

该方法的参数和参数描述如下:

返回值

该方法返回装饰器处理器函数实例。

被绑定可调用对象被调用时将在内部调用方法 实现对给定无服务器云函数的调用,其被绑定可调用对象的返回值与方法 的返回值一致。

异常

该方法预期行为不会主动引发任何异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

bind_routine 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

将给定无服务器云函数的指定例程绑定在另一个 Python 原生同步或异步函数上。之后对被绑定的 Python 原生同步或异步函数的调用将被重定向为对给定无服务器云函数例程的调用。

该方法是一个装饰器,您应该以 Python 装饰器语法使用它,否则行为是未定义的。

使用例程组织无服务器云函数

参数

该方法的参数和参数描述如下:

返回值

该方法返回装饰器处理器函数实例。

被绑定的 Python 原生函数被调用时将在内部调用方法 routine_invoke 实现对给定无服务器云函数的调用,其被绑定的 Python 原生函数的返回值与方法 routine_invoke 的返回值一致。

异常

该方法预期行为不会主动引发任何异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.5

schedule_invoke 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

计划在给定本机 UNIX 时间戳调用给定无服务器云函数。

参数

publish_function_version 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

为给定无服务器云函数发布一个新的版本。

参数

run_schedule 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

运行所有已创建的定时无服务器云函数调用任务,直到没有仍未调用的定时任务存在时该方法返回。这些任务通常由实例方法 创建。

请注意,该方法仅适用于同步编程方式,异步编程方式无需手动调用该方法。

create_function 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

调用给定无服务器云函数并获得无服务器云函数的运行结果。

参数

delete_function 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

删除一个已创建的给定无服务器云函数。

参数

update_function_code 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

更新给定无服务器云函数的源代码。

参数

def __init__(self,
    access_credentials: credentials.Credentials = None,
    access_proxies: proxies.Proxies = None
)
from tencent.cloud.auth import credentials
from tencent.cloud.serverless import functions

# Please replace with your access credentials

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

function_client: functions.Client = functions.Client(
    access_credentials = access_credentials,
    access_proxies = None
)
def routine_invoke(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    routine_name: str,
    routine_parameter: dict = None,
    function_version: str = None,
    function_async: bool = False
) -> object
return_value: int = function_client.routine_invoke(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'arithmetic',
    routine_name = 'addend',
    routine_parameter = {
        'value1': 10,
        'value2': 20
    }
)
def select_routine(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    routine_name: str,
    function_version: str = None,
    function_async: bool = False
)
addend = function_client.select_routine(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'arithmetic',
    routine_name = 'addend'
)

return_value: int = addend(
    value1 = 10,
    value2 = 20
)
def select_function(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    function_version: str = None,
    function_async: bool = False
) -> function
addend = function_client.select_function(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'addend',
    function_version = '1',
    function_async = False
)

return_value: int = addend(
    value1 = 10,
    value2 = 20
)
def easy_invoke(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    function_event: dict = None,
    function_version: str = None,
    function_async: bool = False
) -> object
def bind_function(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    function_version: str = None,
    function_async: bool = False,
    include_attributes: list = None
) -> object
def bind_routine(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    function_version: str = None,
    function_async: bool = False,
    routine_name: str = None
) -> object

str

是

调用的无服务器云函数名称。

例如:arithmetic

routine_name

str

是

调用的无服务器云函数的例程名称。

例如:addend

routine_parameter

dict

否

调用的无服务器云函数关键字参数。

例如:{ 'value1': 10, 'value2': 20 }

function_version

str

否

调用的无服务器云函数版本名称。

如果该参数被忽略或设置为 None,默认调用最新版本。

function_async

bool

否

调用的无服务器云函数是否以异步的方式运行。

如果该参数被忽略或设置为 None,默认以同步方式运行。

str

是

选择的无服务器云函数名称。

例如:arithmetic

routine_name

str

是

选择的无服务器云函数的例程的名称。

例如:addend

function_version

str

否

选择的无服务器云函数版本名称。

如果该参数被忽略或设置为 None,默认为最新版本。

function_async

bool

否

选择的无服务器云函数是否以异步的方式运行。

如果该参数被忽略或设置为 None,默认以同步方式运行。

str

是

选择的无服务器云函数名称。

function_version

str

否

选择的无服务器云函数版本名称。

如果该参数被忽略或设置为 None,默认为最新版本。

function_async

bool

否

选择的无服务器云函数是否以异步的方式运行。

如果该参数被忽略或设置为 None,默认以同步方式运行。

set_access_proxies

是

调用的无服务器云函数名称。

function_event

dict

否

调用的无服务器云函数事件。

如果该参数被忽略或设置为 None,默认传递空事件。

function_version

str

否

调用的无服务器云函数版本名称。

如果该参数被忽略或设置为 None,默认调用最新版本。

function_async

bool

否

调用的无服务器云函数是否以异步的方式运行。

如果该参数被忽略或设置为 None,默认以同步方式运行。

参数

类型

必选

描述

region_id

str

是

调用的无服务器云函数所在数据中心的唯一标识符。

namespace_name

str

是

调用的无服务器云函数所在命名空间的名称。

function_name

str

是

绑定的无服务器云函数名称。

function_version

str

否

绑定的无服务器云函数版本名称。

如果该参数被忽略或设置为 None,默认为最新版本。

function_async

bool

否

绑定的无服务器云函数是否以异步的方式运行。

如果该参数被忽略或设置为 None,默认以同步方式运行。

include_attributes

list<str>

否

需要包含当前实例的属性名称列表实例,这些属性将被优先添加到绑定的无服务器云函数调用事件。如果被绑定的可调用对象不是类方法或类实例方法,该参数将被忽略。

参数

类型

必选

描述

region_id

str

是

绑定的无服务器云函数所在数据中心的唯一标识符。

namespace_name

str

是

绑定的无服务器云函数所在命名空间的名称。

function_name

easy_invoke
easy_invoke

str

是

绑定的无服务器云函数名称。

例如:arithmetic

function_version

str

否

绑定的无服务器云函数版本名称。

如果该参数被忽略或设置为 None,默认为最新版本。

function_async

bool

否

绑定的无服务器云函数是否以异步的方式运行。

如果该参数被忽略或设置为 None,默认以同步方式运行。

routine_name

str

否

绑定的无服务器云函数的例程名称。

如果该参数被忽略或设置为 None,默认为绑定的 Python 原生同步或异步函数的名称。

参数

类型

必选

描述

region_id

str

是

绑定的无服务器云函数所在数据中心的唯一标识符。

例如:ap-shanghai

namespace_name

str

是

绑定的无服务器云函数所在命名空间的名称。

例如:default

function_name

routine_invoke 方法

str

兼容性

该实例方法在产品软件包 tencent-cloud-sdk-serverless-functions - 0.1.2 版本中新增。如果产品软件包低于适用版本,应该使用底层级 API 模拟实现:

否则,已创建的定时无服务器云函数调用任务可能永远不会被运行。

参数

该方法没有参数。

返回值

该方法没有返回值。

异常

该方法可能会主动引发以下异常:

StatusError

没有已创建的定时调用任务需要运行或正在运行。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.2

schedule_invoke
return_value: int = function_client.easy_invoke(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'addend',
    function_event = {
        'value1': 10,
        'value2': 20
    },
    function_version = '1',
    function_async = False
)
@function_client.bind_function(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'addend',
    function_version = '1',
    function_async = False,
    include_attributes = None
)
def addend(
    value1: int,
    value2: int
) -> int:
    raise NotImplementedError

return_value: int = addend(
    value1 = 10,
    value2 = 20
)
@function_client.bind_routine(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'arithmetic'
)
def addend(
    value1: int,
    value2: int
) -> int:
    raise NotImplementedError

return_value: int = addend(
    value1 = 10,
    value2 = 20
)
def run_schedule(self)
function_client.get_event_loop().run_forever()
function_client.run_schedule()
该方法的参数和参数描述如下:

参数

类型

必选

描述

region_id

str

是

计划调用的无服务器云函数所在数据中心的唯一标识符。

namespace_name

str

是

计划调用的无服务器云函数所在命名空间的名称。

function_name

请注意,参数 invoke_timestamp 给定的 UNIX 时间戳必须与本机时间同步,否则实际调用给定无服务器云函数的时间可能与预期不同。

返回值

该方法返回代表给定无服务器云函数计划调用任务的 FunctionSchedule 类实例。如果参数 invoked_callback 被设置为有效的函数实例,其函数实例回调时将传入该方法的返回值。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

该方法的参数和参数描述如下:

参数

类型

必选

描述

region_id

str

是

发布的无服务器云函数所在数据中心的唯一标识符。

namespace_name

str

是

发布的无服务器云函数所在命名空间的名称。

function_name

返回值

该方法没有返回值。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

该方法的参数和参数描述如下:

参数

类型

必选

描述

region_id

str

是

创建的无服务器云函数所在数据中心的唯一标识符。

namespace_name

str

是

创建的无服务器云函数所在命名空间的名称。

function_name

返回值

该方法返回可等待操作对象,这将允许您等待无服务器云函数资源真正地创建完成。

兼容性

在 Tencent Cloud SDK for Python 0.1.6 或更低版本中,该方法没有返回值。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.6

Waitable 类
该方法的参数和参数描述如下:

参数

类型

必选

描述

region_id

str

是

删除的无服务器云函数所在数据中心的唯一标识符。

namespace_name

str

是

删除的无服务器云函数所在命名空间的名称。

function_name

返回值

该方法没有返回值。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

该方法的参数和参数描述如下:

参数

类型

必选

描述

region_id

str

是

更新的无服务器云函数所在数据中心的唯一标识符。

namespace_name

str

是

更新的无服务器云函数所在命名空间的名称。

function_name

返回值

该方法没有返回值。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

copy_function 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

为给定无服务器云函数创建一个拷贝副本函数。

参数

该方法的参数和参数描述如下:

返回值

该方法没有返回值。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

invoke 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

调用给定无服务器云函数并获得无服务器云函数的运行结果。

参数

该方法的参数和参数描述如下:

返回值

返回包含给定无服务器云函数运行结果的字典实例,其数据类型为 。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

InvokeError

给定无服务器云函数在调用过程中遇到错误,这通常是由于无服务器云函数所运行的代码存在异常。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

ActionResultError

Tencent Cloud API 返回结果是非预期的,该异常通常情况下不会引发。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

get_function_result_by_request_id 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

获取给定无服务器云函数指定 Request ID 的运行结果。

参数

该方法的参数和参数描述如下:

返回值

该方法返回给定无服务器云函数指定 Request ID 的运行结果字典实例,其数据类型为 。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

NotFoundError

给定无服务器云函数的 Request ID 无效或未找到运行结果。如果 Request ID 有效,则给定无服务器云函数可能还在运行或运行结果仍未完成收集。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

update_function_configure 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

更新给定无服务器云函数的配置。

参数

该方法的参数和参数描述如下:

返回值

该方法没有返回值。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

list_function_versions 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

获取给定无服务器云函数的所有版本信息。

参数

该方法的参数和参数描述如下:

返回值

该方法返回一个用于遍历获取无服务器云函数版本信息的生成器实例,生成器实例每次迭代返回包含无服务器云函数版本信息的字典实例,其数据类型为 。

由于 Tencent Cloud API 不支持分页游标检索并获取,因此该方法将尝试一次性获取无服务器云函数的所有版本信息。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

create_trigger 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

为给定无服务器云函数创建一个触发器。

参数

get_function_info 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

获取给定无服务器云函数的基本信息。

参数

list_functions 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

获取给定命名空间内的无服务器云函数基本信息,该方法将尝试检索符合条件的无服务器云函数项。

参数

delete_trigger 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

将给定触发器从指定无服务器云函数上删除。

参数

get_function_results 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

获取给定无服务器云函数的运行结果,该方法将尝试检索符合条件的所有运行结果记录。

参数

download_function_code 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

下载给定无服务器云函数的源代码 ZIP 档案文件到本机硬盘。

参数

def schedule_invoke(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    function_event: dict = None,
    function_version: str = None,
    function_async: bool = False,
    invoke_timestamp: int = None,
    invoked_callback: object = None
) -> FunctionSchedule
import time

def schedule_callback(
    schedule_task: functions.FunctionSchedule
):
    if not schedule_task.is_successful:
        raise schedule_task.exception
    
    print(schedule_task.return_value)
    print(schedule_task.result)

schedule_task = function_client.schedule_invoke(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'addend',
    function_event = {
        'value1': 10,
        'value2': 20
    },
    function_version = '1',
    function_async = False,
    invoke_timestamp = int(time.time()) + 5,
    invoked_callback = schedule_callback
)

# schedule_task.cancel()    # Cancel schedule
def publish_function_version(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    version_description: str = None
)
function_client.publish_function_version(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'addend',
    version_description = 'New addition calculation function version'
)
def create_function(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    function_description: str,
    function_code: FunctionCode,
    function_runtime: str = 'Python3',
    function_type: str = None,
    function_configure: dict = None
)
function_client.create_function(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'addend',
    function_description = 'Addition function',
    function_code = functions.FunctionCode().use_object_storage_bucket(
        region_id = 'ap-shanghai-1',
        bucket_id = 'scf-code',
        object_name = 'source.zip'
    ),
    function_runtime = functions.FunctionRuntime.Python,
    function_type = functions.FunctionType.Event,
    function_configure = {
        'handler': 'index.main',
        'memory_size': 128,
        'time_out': 3
    }
)
def delete_function(self,
    region_id: str,
    namespace_name: str,
    function_name: str
)
function_client.delete_function(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'addend'
)
def update_function_code(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    function_code: FunctionCode,
    function_handler: str
)
function_client.update_function_code(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'addend',
    function_code = functions.FunctionCode().use_object_storage_bucket(
        region_id = 'ap-shanghai-1',
        bucket_id = 'scf-code',
        object_name = 'source.zip'
    ),
    function_handler = 'index.main'
)
def copy_function(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    target_region_id: str,
    target_namespace_name: str,
    target_function_name: str,
    allow_override: bool = False,
    copy_configure: bool = True
)
def invoke(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    function_event: dict = None,
    function_version: str = None,
    function_async: bool = False
) -> dict
def get_function_result_by_request_id(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    function_request_id: str,
    function_version: str = None
) -> dict
def update_function_configure(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    function_description: str = None,
    function_configure: dict = None
)
def list_function_versions(self,
    region_id: str,
    namespace_name: str,
    function_name: str
) -> object

str

是

计划调用的无服务器云函数名称。

function_event

dict

否

计划调用的无服务器云函数事件。

如果该参数被忽略或设置为 None,默认传递空事件。

function_version

str

否

计划调用的无服务器云函数版本名称。

如果该参数被忽略或设置为 None,默认调用最新版本。

function_async

bool

否

计划调用的无服务器云函数是否以异步的方式运行。

如果该参数被忽略或设置为 None,默认以同步方式运行。

invoke_timestamp

int

否

计划调用给定无服务器云函数的本机 UNIX 时间戳。 如果该参数被忽略或设置为 None,默认位于当前本机 UNIX 时间戳 3 秒钟后。

invoked_callback

function

否

计划调用的无服务器云函数调用完成回调函数实例。如果该参数被忽略或设置为 None,给定无服务器云函数调用结果将被丢弃。

str

是

发布的无服务器云函数名称。

version_description

str

否

发布的无服务器云函数版本的描述正文。

str

是

创建的无服务器云函数名称。

function_description

str

否

创建的无服务器云函数描述正文。

function_code

FunctionCode

是

创建的无服务器云函数代码实例。

function_runtime

str

否

创建的无服务器云函数运行时名称。如果该参数被忽略,默认运行时为 Python3。建议使用 FunctionRuntime 枚举器成员。

function_type

str

否

创建的无服务器云函数类型。如果该参数被忽略,默认类型为 Event。建议使用 FunctionType 枚举器成员。

function_configure

FunctionConfigure

否

创建的无服务器云函数配置。如果该参数被忽略或设置为 None,被创建的函数将采用默认配置。

str

是

删除的无服务器云函数名称。

str

是

更新的无服务器云函数名称。

function_code

FunctionCode

是

更新的无服务器云函数代码实例。

function_handler

str

是

更新的无服务器云函数的入口函数符号名。

是

当前无服务器云函数名称。

target_region_id

str

是

目标无服务器云函数所在数据中心的唯一标识符。

target_namespace_name

str

是

目标无服务器云函数所在命名空间的名称。

target_function_name

str

是

目标无服务器云函数名称。

allow_override

bool

否

如果目标无服务器云函数已存在,是否允许将其覆盖。如果该参数被忽略或设置为 None,默认不允许覆盖。

copy_configure

bool

否

是否将当前无服务器云函数配置拷贝给目标无服务器云函数。如果该参数被忽略或设置为 None,默认不拷贝当前函数配置。

参数

类型

必选

描述

region_id

str

是

当前无服务器云函数所在数据中心的唯一标识符。

namespace_name

str

是

当前无服务器云函数所在命名空间的名称。

function_name

str

是

调用的无服务器云函数名称。

function_event

dict

否

调用的无服务器云函数事件。

如果该参数被忽略或设置为 None,默认传递空事件。

function_version

str

否

调用的无服务器云函数版本名称。

如果该参数被忽略或设置为 None,默认调用最新版本。

function_async

bool

否

调用的无服务器云函数是否以异步的方式运行。

如果该参数被忽略或设置为 None,默认以同步方式运行。

参数

类型

必选

描述

region_id

str

是

调用的无服务器云函数所在数据中心的唯一标识符。

namespace_name

str

是

调用的无服务器云函数所在命名空间的名称。

function_name

FunctionResult

str

是

获取的无服务器云函数名称。

function_request_id

str

是

获取的无服务器云函数 Request ID 字符串。

function_version

str

否

获取的无服务器云函数的版本名称。如果该参数被忽略或设置为 None,默认为最新版本。

参数

类型

必选

描述

region_id

str

是

获取的无服务器云函数所在数据中心的唯一标识符。

namespace_name

str

是

获取的无服务器云函数所在命名空间的名称。

function_name

FunctionResult

str

是

获取的无服务器云函数名称。

参数

类型

必选

描述

region_id

str

是

获取的无服务器云函数所在数据中心的唯一标识符。

namespace_name

str

是

获取的无服务器云函数所在命名空间的名称。

function_name

FunctionVersionInfo

str

function_client.copy_function(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'addend',
    target_region_id = 'ap-guangzhou',
    target_namespace_name = 'default',
    target_function_name = 'addend',
    allow_override = True,
    copy_configure = True
)
return_result: str = function_client.invoke(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'addend',
    function_event = {
        'value1': 10,
        'value2': 20
    },
    function_version = '1',
    function_async = False
)
function_client.get_function_result_by_request_id(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'addend',
    function_request_id = 'effae55e-480e-11ea-b078-5254007aa7a1',
    function_version = '1'
)
function_version_set = function_client.list_function_versions(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'addend'
)

for info in function_version_set :
    print(info['name'])

是

更新的无服务器云函数名称。

function_description

str

否

更新的无服务器云函数描述正文。如果该参数被忽略或设置为 None,默认不更新描述正文。

function_configure

否

更新的无服务器云函数配置字典实例。如果该参数被忽略或设置为 None,默认不更新函数配置。

参数

类型

必选

描述

region_id

str

是

更新的无服务器云函数所在数据中心的唯一标识符。

namespace_name

str

是

更新的无服务器云函数所在命名空间的名称。

function_name

str

该方法的参数和参数描述如下:

参数

类型

必选

描述

region_id

str

是

创建触发器的无服务器云函数所在数据中心的唯一标识符。

namespace_name

str

是

创建触发器的无服务器云函数所在命名空间的名称。

function_name

返回值

该方法没有返回值。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

该方法的参数和参数描述如下:

参数

类型

必选

描述

region_id

str

是

获取的无服务器云函数所在数据中心的唯一标识符。

namespace_name

str

是

获取的无服务器云函数所在命名空间的名称。

function_name

返回值

返回包含给定无服务器云函数基本信息的字典实例,其数据类型为 FunctionInfoEx。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

该方法的参数和参数描述如下:

参数

类型

必选

描述

region_id

str

是

获取的无服务器云函数所在数据中心的唯一标识符。

namespace_name

str

是

获取的无服务器云函数所在命名空间的名称。

requirement_context

返回值

该方法返回一个用于遍历获取符合过滤条件的无服务器云函数基本信息的生成器实例,生成器实例每次迭代返回包含无服务器云函数基本信息的字典实例,其数据类型为 FunctionInfo。

该方法在内部维护一个缓冲循环,每次使用 Tencent Cloud API 检索并获取 100 条符合条件的无服务器云函数运行结果。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

该方法的参数和参数描述如下:

参数

类型

必选

描述

region_id

str

是

删除触发器的无服务器云函数所在数据中心的唯一标识符。

namespace_name

str

是

删除触发器的无服务器云函数所在命名空间的名称。

function_name

返回值

该方法没有返回值。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

该方法的参数和参数描述如下:

参数

类型

必选

描述

region_id

str

是

获取的无服务器云函数所在数据中心的唯一标识符。

namespace_name

str

是

获取的无服务器云函数所在命名空间的名称。

function_name

返回值

该方法返回一个用于遍历获取符合过滤条件的无服务器云函数运行结果的生成器实例,生成器实例每次迭代返回包含无服务器云函数运行结果的字典实例,其数据类型为 FunctionResult。

该方法在内部维护一个缓冲循环,每次使用 Tencent Cloud API 检索并获取 100 条符合条件的无服务器云函数运行结果。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

该方法的参数和参数描述如下:

参数

类型

必选

描述

region_id

str

是

下载源代码的无服务器云函数所在数据中心的唯一标识符。

namespace_name

str

是

下载源代码的无服务器云函数所在命名空间的名称。

function_name

返回值

该方法没有返回值。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

update_namespace 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

更新给定命名空间的基本信息。

参数

该方法的参数和参数描述如下:

返回值

该方法没有返回值。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定命名空间已存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

create_namespace 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

创建一个新的命名空间。

参数

该方法的参数和参数描述如下:

返回值

该方法没有返回值。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定命名空间已存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

get_function_code_download_url 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

获取给定无服务器云函数的源代码 ZIP 档案下载 URL 字符串。

参数

该方法的参数和参数描述如下:

返回值

返回给定无服务器云函数的源代码 ZIP 档案下载 URL 字符串。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

delete_namespace 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

将给定命名空间删除。

参数

该方法的参数和参数描述如下:

返回值

该方法没有返回值。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定命名空间不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

create_layer 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

创建一个新层或已存在层的新版本。

参数

该方法的参数和参数描述如下:

返回值

该方法返回可等待操作对象,这将允许您等待层或层版本资源真正地创建完成。返回的可等待对操作对象包含操作结果,其指示新创建的层或层版本的版本编号。

兼容性

在 Tencent Cloud SDK for Python 0.1.6 或更低版本中,该方法返回新创建的层或层版本的版本编号。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.6

list_namespaces 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

获取给定数据中心已创建的命名空间基本信息。

参数

该方法的参数和参数描述如下:

返回值

该方法返回一个用于遍历获取命名空间基本信息的生成器实例,生成器实例每次迭代返回包含命名空间基本信息的字典实例,其数据类型为 。

该方法在内部维护一个缓冲循环,每次使用 Tencent Cloud API 检索并获取 20 条符合条件的无服务器云函数运行结果。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定命名空间不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

get_layer_info 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

获取一个已创建层的指定层版本的信息。

参数

list_layers 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

获取已创建的所有层的最新层版本信息。

参数

list_layer_versions 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

获取已创建就绪的层的所有层版本信息。

参数

delete_layer 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

删除一个已创建就绪的层或层的指定版本。

参数

submit_monitor_indicator 方法

命名空间和类:tencent.cloud.serverless.functions.Client

简要

向 Tencent Cloud 云监控产品上报给定无服务器云函数的自定义监控指标数据。

参数

function_client.update_function_configure(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'addend',
    function_description = 'New function description',
    function_configure = {
        'memory_size': 256
    }
)
def create_trigger(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    function_trigger: FunctionTrigger,
    function_version: str = None
)
function_client.create_trigger(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'addend',
    function_trigger = functions.FunctionTrigger().use_timer(
        timer_name = 'default',
        timer_cron = '* * * * *'
    ),
    function_version = '1'
)
def get_function_info(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    function_version: str = None
) -> dict
function_info: dict = function_client.get_function_info(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'addend',
    function_version = '1'
)
def list_functions(self,
    region_id: str,
    namespace_name: str,
    requirement_context: dict = None
) -> object
function_set = function_client.list_functions(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    requirement_context = {
        'search': {
            'function_name': 'add'
        }
    }
)

for info in function_set:
    print(info['name'])
def delete_trigger(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    function_trigger: FunctionTrigger,
    function_version: str = None
)
function_client.delete_trigger(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'addend',
    function_trigger = functions.FunctionTrigger().use_timer(
        timer_name = 'default',
        timer_cron = '* * * * *'
    ),
    function_version = '1'
)
def get_function_results(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    requirement_context: dict = None,
    function_version: str = None
) -> object
function_results = function_client.get_function_results(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'addend',
    requirement_context = {
        'type': functions.FunctionResultType.Succeed
    },
    function_version = '1'
)

# Don't worry, this method won't retrieve and get
# all the running results at this time.

for result in function_results:
    print(result['request_id'])
def download_function_code(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    function_version: str = None,
    download_file_name: str = None
) -> dict
download_url: str = function_client.download_function_code(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'addend',
    function_version = '1',
    download_file_name = './source.zip'
)
def update_namespace(self,
    region_id: str,
    namespace_name: str,
    namespace_description: str
)
def create_namespace(self,
    region_id: str,
    namespace_name: str,
    namespace_description: str = None
)
def get_function_code_download_url(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    function_version: str = None
) -> dict
def delete_namespace(self,
    region_id: str,
    namespace_name: str
)
def create_layer(self,
    region_id: str,
    layer_name: str,
    layer_description: str,
    layer_content: LayerContent,
    layer_runtimes: list,
    layer_license: str = None
) -> int
def list_namespaces(self,
    region_id: str
)

str

是

创建触发器的无服务器云函数名称。

function_trigger

FunctionTrigger

是

代表无服务器云函数触发器配置的 FunctionTrigger 实例。

function_version

str

否

创建触发器的无服务器云函数版本名称。

str

是

获取的无服务器云函数名称。

function_version

str

否

获取的无服务器云函数版本名称。

FunctionFilter

否

包含检索过滤条件的字典实例。

str

是

删除触发器的无服务器云函数名称。

function_trigger

FunctionTrigger

是

代表无服务器云函数触发器配置的 FunctionTrigger 实例。

function_version

str

否

删除触发器的无服务器云函数版本名称。

str

是

获取的无服务器云函数名称。

requirement_context

FunctionResultFilter

否

过滤符号条件的无服务器云函数运行结果的过滤器上下文字典实例。

function_version

str

否

获取的无服务器云函数的版本名称。如果该参数被忽略或设置为 None,默认为最新版本。

str

是

下载源代码的无服务器云函数名称。

function_version

str

否

下载源代码的无服务器云函数版本名称。

download_file_name

str

否

存储源代码 ZIP 档案的本机文件名。如果该参数被忽略或设置为 None,默认下载到当前工作目录,文件名以 function-code-{FUNCTION_NAME}-{FUNCTION_VERSION}.zip 命名。

FunctionConfigure

是

更新的命名空间描述正文。

参数

类型

必选

描述

region_id

str

是

更新的命名空间所在数据中心的唯一标识符。

namespace_name

str

是

更新的命名空间名称。

namespace_description

str

否

创建的命名空间描述正文。

参数

类型

必选

描述

region_id

str

是

创建的命名空间所在数据中心的唯一标识符。

namespace_name

str

是

创建的命名空间名称。

namespace_description

str

是

获取的无服务器云函数名称。

function_version

str

否

获取的无服务器云函数版本名称。

参数

类型

必选

描述

region_id

str

是

获取的无服务器云函数所在数据中心的唯一标识符。

namespace_name

str

是

获取的无服务器云函数所在命名空间的名称。

function_name

str

参数

类型

必选

描述

region_id

str

是

创建的命名空间所在数据中心的唯一标识符。

namespace_name

str

是

创建的命名空间名称。

参数

类型

必选

描述

region_id

str

是

获取的命名空间所在数据中心的唯一标识符。

NamespaceInfo
function_client.update_namespace(
    region_id = 'ap-shanghai',
    namespace_name = 'test',
    namespace_description = 'Update namespace'
)
function_client.create_namespace(
    region_id = 'ap-shanghai',
    namespace_name = 'test',
    namespace_description = 'New namespace'
)
download_url: str = function_client.get_function_code_download_url(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'addend',
    function_version = '1'
)
function_client.delete_namespace(
    region_id = 'ap-shanghai',
    namespace_name = 'test',
)
for namespace_info in function_client.list_namespaces(
    region_id = 'ap-shanghai'
):
    print(namespace_info['name'])

是

创建的层的描述正文。

例如:default layer

layer_content

是

包含创建的层的数据的 LayerContent 实例。

例如:LayerContent().use_local_zip_archive(...)

layer_runtimes

list

是

包含创建的层兼容的无服务器云函数运行时名称的列表实例。

例如:[ FunctionRuntime.Python ]

layer_license

str

否

创建的层的许可正文。

例如:default license

参数

类型

必选

描述

region_id

str

是

创建层的数据中心唯一标识符。

例如:ap-shanghai

layer_name

str

是

创建的层的唯一名称。

例如:default

layer_description

Waitable 类

str

该方法的参数和参数描述如下:

参数

类型

必选

描述

region_id

str

是

层的数据中心唯一标识符。

例如:ap-shanghai

layer_name

str

是

层的唯一名称。

例如:default

layer_version

返回值

该方法返回包含层信息的字典实例,其数据类型为 LayerInfo。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.2

该方法的参数和参数描述如下:

参数

类型

必选

描述

region_id

str

是

层的数据中心唯一标识符。

例如:ap-shanghai

requirement_context

dict

否

包含层过滤器上下文的字典实例,其数据类型为 。

返回值

该方法返回一个用于遍历获取符合过滤条件的层信息的生成器实例,生成器实例每次迭代返回包含层信息的字典实例,其数据类型为 LayerInfo。

该方法在内部维护一个缓冲循环,每次使用 Tencent Cloud API 检索并获取 20 条符合条件的层信息。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.2

该方法的参数和参数描述如下:

参数

类型

必选

描述

region_id

str

是

获取的层的数据中心唯一标识符。

例如:ap-shanghai

layer_name

str

时

获取的层的唯一名称。

requirement_context

返回值

该方法返回一个用于遍历获取符合过滤条件的层信息的生成器实例,生成器实例每次迭代返回包含层信息的字典实例,其数据类型为 LayerInfo。

请注意,由于该方法背后的 Tencent Cloud API 不支持分页检索,该方法将试图一次性获取所有符合条件的层信息。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.2

该方法的参数和参数描述如下:

参数

类型

必选

描述

region_id

str

是

删除的层的数据中心唯一标识符。

例如:ap-shanghai

layer_name

str

是

删除的层的唯一名称。

例如:default

layer_version

兼容性

在 Tencent Cloud SDK for Python 0.1.6 或更低版本中,参数 layer_version 必须提供。

返回值

该方法没有返回值。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

ActionError

Tencent Cloud API 错误。例如访问凭据无效、给定无服务器云函数不存在等均会引发该异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.6

该方法的参数和参数描述如下:

参数

类型

必选

描述

region_id

str

是

无服务器云函数所在数据中心的唯一标识符。

例如:ap-shanghai

namespace_name

str

是

无服务器云函数所在命名空间的唯一名称。

例如:default

function_name

返回值

该方法没有返回值。

异常

该方法可能会主动引发以下异常:

ValueError

参数值或类型不符合预期。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.2

FunctionCode 类

命名空间和模块:tencent.cloud.serverless.functions.client

简要

代表无服务器云函数源代码配置的类。通过利用该类,您可以快速指定无服务器云函数的源代码,而无需关注源代码数据类型。

构造

layer_version: int = functions_client.create_layer(
    region_id = 'ap-shanghai',
    layer_name = 'default',
    layer_description = 'default layer',
    layer_content = functions.LayerContent().use_local_zip_archive(
        local_file_path = './layer-data.zip'
    ),
    layer_runtimes = [
        functions.FunctionRuntime.Python,
        functions.FunctionRuntime.Java
    ],
    layer_license = 'default license'
).result
def get_layer_info(self,
    region_id: str,
    layer_name: str,
    layer_version: int
) -> dict
layer_info: dict = function_client.get_layer_info(
    region_id = 'ap-shanghai',
    layer_name = 'default',
    layer_version = 1
)
def list_layers(self,
    region_id: str,
    requirement_context: dict = None
)
for layer_info in function_client.list_layers(
    region_id = 'ap-shanghai'
):
    print(layer_info['name'])
def list_layer_versions(self,
    region_id: str,
    layer_name: str,
    requirement_context: dict = None
)
for layer_info in function_client.list_layer_versions(
    region_id = 'ap-shanghai',
    layer_name = 'default'
):
    print(layer_info['version'])
def delete_layer(self,
    region_id: str,
    layer_name: str,
    layer_version: int = None
)
function_client.delete_layer(
    region_id = 'ap-shanghai',
    layer_name = 'default',
    layer_version = 1
)
def submit_monitor_indicator(self,
    region_id: str,
    namespace_name: str,
    function_name: str,
    indicator_name: str,
    indicator_value: int,
    function_version: str = None
)
function_client.submit_monitor_indicator(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'hello',
    indicator_name = 'number_of_invokes',
    indicator_value = 1
)

int

是

层的版本编号。

例如:1

dict

否

包含层过滤器上下文的字典实例,其数据类型为 LayerFilter。

int

否

删除的层的版本编号。 如果该参数被忽略或设置为 None,默认批量删除所有层版本。

例如:1

str

是

无服务器云函数的唯一名称。

例如:hello

indicator_name

str

是

上报的自定义指标唯一名称。

例如:number_of_invokes

indicator_value

int

是

上报的自定义指标对应的数据值。

例如:1

function_version

str

否

无服务器云函数版本唯一名称。

例如:$LATEST

LayerContent
LayerFilter
该类仅支持构造类实例后使用,其构造实例方法签名如下:

示例

在下文中我们将向您演示如何构造一个无服务器云函数源代码类实例并使用它。

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

class FunctionCode
def __init__(self)
from tencent.cloud.serverless import functions

# The method will return itself.

functions.FunctionCode().use_object_storage_bucket(
    region_id = 'ap-shanghai-1',
    bucket_name = 'scf-code',
    object_name = 'source.zip'
)

use_local_zip_archive 方法

命名空间和模块:tencent.cloud.serverless.functions.client.FunctionCode

简要

配置使用本机硬盘上的 ZIP 压缩档案文件作为无服务器云函数源代码来源。

参数

该方法具有以下参数,其参数、参数类型和参数描述如下:

返回值

该方法返回当前代表无服务器云函数源代码配置的 类实例本身。

异常

该方法可能会主动引发的异常类型如下:

ValueError

参数值或类型不符合预期。

IOError

给定 ZIP 压缩档案文件不存在或无法读取。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

use_git_repository 方法

命名空间和模块:tencent.cloud.serverless.functions.client.FunctionCode

简要

配置使用给定 Git 仓库作为无服务器云函数源代码来源。

参数

该方法具有以下参数,其参数、参数类型和参数描述如下:

返回值

该方法返回当前代表无服务器云函数源代码配置的 类实例本身。

异常

该方法可能会主动引发的异常类型如下:

ValueError

参数值或类型不符合预期。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

get_code_source 方法

命名空间和模块:tencent.cloud.serverless.functions.client.FunctionCode

简要

获取无服务器云函数源代码来源类型。

参数

该方法没有参数。

返回值

该方法返回无服务器云函数源代码来源类型,与受支持的触发器种类名称相对应的是 枚举器。

异常

该方法不会主动引发任何异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

get_code_context 方法

命名空间和模块:tencent.cloud.serverless.functions.client.FunctionCode

简要

获取包含无服务器云函数源代码配置描述结构上下文的字典实例。

参数

该方法没有参数。

返回值

该方法返回包含无服务器云函数源代码描述结构上下文的字典实例。如果当前尚未配置源代码来源,该方法将始终返回 None。

异常

该方法不会主动引发任何异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

use_object_storage_bucket 方法

命名空间和模块:tencent.cloud.serverless.functions.client.FunctionCode

简要

配置使用对象存储桶作为无服务器云函数源代码来源。

参数

该方法具有以下参数,其参数、参数类型和参数描述如下:

返回值

该方法返回当前代表无服务器云函数源代码配置的 类实例本身。

异常

该方法可能会主动引发的异常类型如下:

ValueError

参数值或类型不符合预期。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

def use_local_zip_archive(self,
    local_file_path: str
)
def use_git_repository(self,
    git_url: str,
    git_branch_name: str = None,
    git_directory_name: str = None,
    git_commit_id: str = None,
    git_username: str = None,
    git_password: str = None
)
def get_code_source(self) -> int
def get_code_context(self) -> dict
def use_object_storage_bucket(self,
    region_id: str,
    bucket_name: str,
    object_name: str
)

参数

类型

必选

描述

local_file_path

str

是

本机硬盘上的 ZIP 压缩档案文件路径。

FunctionCode

否

Git 仓库中包含用于无服务器云函数源代码的目录名称。

git_commit_id

str

否

Git 仓库中包含用于无服务器云函数源代码的提交 ID。

git_username

str

否

拥有给定 Git 仓库访问权限的用户名。

git_password

str

否

拥有给定 Git 仓库访问权限用户的密码。

参数

类型

必选

描述

git_url

str

是

Git 仓库 URL 字符串。

git_branch_name

str

否

Git 仓库中已创建的分支名称。

git_directory_name

FunctionCode

str

FunctionCodeSource

是

对象存储桶中用于作为无服务器云函数源代码 ZIP 档案文件的对象名称。

参数

类型

必选

描述

region_id

str

是

对象存储桶所在数据中心园区的可用区唯一标识符。

bucket_name

str

是

对象存储桶的完全名称,例如 scf-code-1000000000。

object_name

FunctionCode

str

functions.FunctionCode.use_local_zip_archive(
    local_file_path = './source.zip'
)
functions.FunctionCode.use_git_repository(
    git_url = 'https://github.com/tencentyun/scf-demo-repo.git',
    git_directory_name = 'Python3.6-helloworld'
)
functions.FunctionCode().get_code_source()
functions.FunctionCode().get_code_context()
functions.FunctionCode.use_object_storage_bucket(
    region_id = 'ap-shanghai',
    bucket_name = 'scf-code-1000000000',
    object_name = 'source.zip'
)

FunctionResult 类型

命名空间和模块:tencent.cloud.serverless.functions

简要

包含无服务器云函数运行结果的字典类型。

成员

该数据类型包含的成员和成员描述如下:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

{
    'function_name': 'hello',
    'return_result': 'hello serverless!',
    'is_successful': True,
    'start_time': '2020-01-10 18:05:45',
    'run_duration': 100,
    'bill_duration': 100,
    'usage_memory_size': 32,
    'run_log': ...,
    'log_level': None,
    'log_source': None,
    'request_id': 'bc309eaa-6d64-11e8-a7fe-5254000b4175'
}

是

无服务器云函数是否成功运行和结束。

start_time

str

是

无服务器云函数的运行开始时间字符串。

run_duration

int

是

无服务器云函数的运行时长(毫秒)。

bill_duration

int

是

无服务器云函数的计费时长(毫秒)。

usage_memory_size

int

是

无服务器云函数运行时最高占用内存(MBytes)。

run_log

str

否

无服务器云函数的运行日志。

log_level

str

否

无服务器云函数的运行日志等级。

log_source

str

否

无服务器云函数的运行日志来源。

成员

类型

必选

描述

function_name

str

否

无服务器云函数的名称

return_result

str

是

无服务器云函数的包装返回值。

is_successful

bool

FunctionType 枚举器

命名空间和模块:tencent.cloud.serverless.functions

简要

包含无服务器云函数受支持函数类型名称成员的枚举器。

class FunctionType:
    Event: str = 'Event'
    HttpService: str = 'HTTP'

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

类和方法

最佳实践

本节将通过实践演示引导您进一步了解如何在应用程序中集成并使用 Tencent Cloud SDK for Python

概述

借助 Tencent Cloud SDK for Python,您可以以同步或异步面向对象编程的方式快速实现与 Tencent Cloud 产品的功能交互。

在本节中我们将通过多个完整的示例向您演示如何在实际应用场景的应用程序中集成 Tencent Cloud SDK for Python 并使用相关高级特性以完成一些操作逻辑。

前提

请注意,在阅读实际应用场景最佳实践篇之前,请确保:

  • 已 或更高版本。

  • 已 最新稳定版本。

  • 已阅读并理解 。

  • 已通过 创建适用于您账户的 Tencent Cloud API 访问凭据。

安装 Python 3.6
安装 Tencent Cloud SDK for Python
Tencent Cloud SDK for Python 入门篇
Tencent Cloud 控制台

Client 类

命名空间和模块:tencent.cloud.serverless.database.client

简要

代表无服务器数据库产品客户端的类。通过利用无服务器数据库产品客户端,您可以以同步或异步面向对象编程的方式快速访问无服务器数据库产品。

继承:tencent.cloud.core.client.UniversalClient 类

UniversalClient 类

构造

该类仅支持构造类实例后使用,其构造实例方法签名如下:

参数

属性

该类可公开访问的属性继承自通用产品客户端,请参阅 UniversalClient 类的属性:

示例

在下文中,我们将向您演示如何正确地构造一个无服务器数据库客户端实例并使用它:

通常情况下,建议您使用环境凭证或文件凭证,而不是将访问凭证硬编码。与无服务器云函数产品客户端一样,您可以使用 fetch_client 函数获取适用于当前超线程的无服务器数据库产品客户端实例。

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-database >= 0.1.1

class Client(client.UniversalClient)

参数

类型

必选

描述

access_credentials

Credentials

否

访问凭据类实例。如果该参数被忽略或设置为 None,默认设置为环境凭据或文件凭据。

access_proiexs

Proxies

否

代理服务器配置类实例。如果该参数被忽略或设置为 None,默认不使用任何代理服务器。

UniversalClient 类
def __init__(self,
    access_credentials = None,
    access_proiexs = None
)
from tencent.cloud.auth import credentials
from tencent.cloud.serverless import database

# Please replace with your access credentials

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

client: database.Client = database.Client(
    access_credentials = access_credentials
)

instance_info: dict = client.create_instance(
    region_id = 'ap-shanghai',
    zone_id = 'ap-shanghai-2',
    instance_name = 'default',
    instance_configure = {
        'database': {
            'version': '10.4',
            'charset': database.DatabaseCharset.UTF8
        },
        'vpc': {
            'id': 'vpc-f7qfb64q',
            'subnet_id': 'subnet-aieh8myj'
        }
    }
)

print('database instance id: ' + str(instance_info['id']))
client = database.fetch_client()

安装

本页将引导您安装 Tencent Cloud SDK for Python

安装

从 PyPI 安装

通常情况下,这是您的首选安装方式。

请注意,如果当前操作系统环境已同时安装 Python 2 和 Python 3 版本,通常情况下 Python 软件包管理器对应的 Shell 命令为 pip3,而不是 pip。

借助 Python 软件包管理器,您可以快速安装 Tencent Cloud SDK for Python:

如果您只想安装并集成所需 Tencent Cloud 产品,可以采用拆分安装的方式获取部分 Tencent Cloud SDK for Python。首先我们需要安装基础软件包,因为大多数 Tencent Cloud 产品软件包依赖它们。

然后安装所需 Tencent Cloud 产品对应的产品软件包。例如 无服务器云函数 的产品软件包:

通常情况下,我们建议您直接选取并安装所需 Tencent Cloud 产品软件包,被安装的产品软件包将自动安装其依赖的其他软件包,这也包括基础软件包。

如果您仅希望在当前项目目录安装 Tencent Cloud SDK for Python:

从源代码安装

首先我们需要安装用于构建 Tencent Cloud SDK for Python 软件包的依赖软件包:

然后从 Tencent Cloud SDK for Python 的 GitHub 仓库克隆开放源代码实现:

接着导航到包含 Tencent Cloud SDK for Python 开放源代码实现的基础和产品软件包目录,然后将这些软件包逐一构建并安装:

在以上演示中我们已逐个构建并安装以下基础软件包和产品软件包:

卸载

如果您采用完整安装方式获取并安装 Tencent Cloud SDK for Python:

如果您采用拆分安装方式获取并安装 Tencent Cloud SDK for Python,您需要逐个卸载已安装的 Tencent Cloud SDK 产品软件包,例如 无服务器云函数 产品软件包:

最后卸载 Tencent Cloud SDK for Python 的基础软件包:

源代码

我们将 Tencent Cloud SDK for Python 的源代码实现托管在 GitHub 开放访问仓库中,您可以前往 获取。

入门

本页将引导您如何在应用程序中集成并使用 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 的相关软件包和模块:

访问凭据

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

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

产品客户端

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

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

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

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

调用函数

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

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

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

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

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

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

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

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

其他 Tencent Cloud 产品

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

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

导入模块

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

访问凭据

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

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

通用客户端

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

使用 Tencent Cloud API

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

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

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

API 文档

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

软件包名称

软件包类型

产品名称

tencent-cloud-sdk-auth

基础软件包

Tencent Cloud SDK for Python - 核心

tencent-cloud-sdk-core

基础软件包

Tencent Cloud SDK for Python - 核心

tencent-cloud-sdk-serverless-functions

产品软件包

Tencent Cloud - 无服务器云函数

https://github.com/nobody-night/tencent-cloud-sdk-python
Tencent Cloud 控制台
选择最佳的访问凭据类型
运行角色
easy_invoke
运行角色
Quick-Start
Tencent Cloud 控制台
DescribeZones
API 文档
pip install tencent-cloud-sdk
pip install tencent-cloud-sdk-auth
pip install tencent-cloud-sdk-core
pip install tencent-cloud-sdk-serverless-functions
pip install tencent-cloud-sdk -t .
pip install setuptools
pip install wheel
git clone https://github.com/nobody-night/tencent-cloud-sdk-python.git
cd tencent-cloud-sdk-python/packages

cd tencent-cloud-sdk-auth
python setup.py install

cd ../tencent-cloud-sdk-core
python setup.py install

cd ../tencent-cloud-sdk-serverless-functions
python setup.py install
pip uninstall tencent-cloud-sdk
pip uninstall tencent-cloud-sdk-serverless-functions
pip uninstall tencent-cloud-sdk-core
pip uninstall tencent-cloud-sdk-auth
from tencent.cloud.core import errors
from tencent.cloud.auth import credentials
from tencent.cloud.serverless import functions
access_credentials = credentials.Credentials(
    secret_id = 'AKIDF3sMOAU1pOgkmrKHchX6TZQ1Mo1C5qa7',
    secret_key = 'b4JL8fwxkIgsKMXGi39yYt0ECxZw4wZf'
)
function_client: functions.Client = functions.Client(
    access_credentials = access_credentials
)
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: str = functions.invoke('hello')
from tencent.cloud.core import errors
from tencent.cloud.core import client
from tencent.cloud.auth import credentials
access_credentials = credentials.Credentials(
    secret_id = 'AKIDF3sMOAU1pOgkmrKHchX6TZQ1Mo1C5qa7',
    secret_key = 'b4JL8fwxkIgsKMXGi39yYt0ECxZw4wZf'
)
virtual_machine_client: client.UniversalClient = client.UniversalClient(
    product_id = 'cvm',     # Unique identifier of the product
    access_credentials = access_credentials    # Access credentials
)
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
)
for zone_info in action_result['ZoneSet']:
    print(zone_info['Zone'])

常见问题

欢迎

欢迎您查阅 Tencent Cloud SDK 在线文档。

什么是 Tencent Cloud SDK?

Tencent Cloud SDK 是面向开发者提供的一套可用于访问 Tencent Cloud API 的 SDK。

借助 Tencent Cloud SDK,您可以以面向对象编程的方式快速、安全地访问 Tencent Cloud API 并将其集成到您的应用程序,而无需关注实现细节。

适用的开发语言

目前 Tencent Cloud SDK 面向以下语言提供开放源代码实现。

Python

还有其他问题?

没关系,您仍然可以从 常见问题 页面寻求问题解答。

如果您的问题未在常见问题页面中列出,您可以通过以下即时通讯平台寻求技术支持。

Tencent QQ

您可以手动检索群组号码 537539545 或导航到 加入群组。

Telegram

您可以导航到 加入群组,这通常适用于非中国大陆用户。

法律信息

本网站上包含的商标、Tencent Cloud 和腾讯云字样均由 . 所有,版权所有者的联系方式是 。

概述
常见问题
https://jq.qq.com/?_wv=1027&k=57elf7z
https://t.me/tencent_cloud_serverless
Tencent Cloud
https://cloud.tencent.com/act/event/connect-service

概述

本页将引导您如何通过 Python 面向对象编程的方式使用 Tencent Cloud SDK.

Tencent Cloud SDK for Python 是面向 Python 推出的 Tencent Cloud SDK 开放源代码实现。

借助 Tencent Cloud SDK for Python,您可以以面向对象编程的方式快速访问 Tencent Cloud API 并将其集成到您的应用程序,而无需关注实现细节。

请注意,Tencent Cloud SDK for Python 仅面向 Python 3.6 或更高 CPython 运行时版本提供兼容性支持。使用 Python 2 版本的开发者应该尽快升级到 Python 3.6 或更高版本。

Python 软件基金会宣布将于 2020 年停止对 Python 2 的支持。

Features Tencent Cloud SDK for Python 支持全异步编程方式。

无服务器云函数

定时调用无服务器云函数

本文将向您介绍并演示借助 Tencent Cloud SDK for Python 如何实现本机定时调用无服务器云函数

概述

谈论到定时调用无服务器云函数时,或许我们首先想到的是利用无服务器云函数的定时触发器功能来实现。当我们需要在大量不确定个数的指定时间调用无服务器云函数时定时触发器将不能为我们提供便利,因为无服务器云函数的触发器个数受触发器配额限制。

通过借助 Tencent Cloud SDK for Python 的无服务器云函数定时调用机制,我们可以快速在本机运行环境中实现在在多个指定时间调用指定的无服务器云函数并获得运行结果,这也称之为按时间计划调用。

在下文中我们将通过一个简单的应用场景向您进一步介绍并演示如何利用 Tencent Cloud SDK for Python 实现对指定无服务器云函数的本机定时调用。

场景

设定

假定我们在数据中心 ap-shanghai 的命名空间 default 拥有一个已创建就绪的无服务器云函数 hello,其无服务器云函数的配置为:

要求

在该场景中我们要求无服务器云函数 hello 实现发起一个 HTTP 请求到 并获得响应正文(Body)作为无服务器云函数的返回值。

此外,在本地运行环境创建一个 Python 脚本并实现计划在本机时间的 10 秒后、20 秒后和 30 秒后调用无服务器云函数 hello 并获得无服务器云函数的实际返回值。

指导

在下文中,我们将通过几个步骤向您演示编写符合当前场景要求的代码示例:

编写无服务器云函数

首先,我们需要根据本场景要求编写无服务器云函数 hello 的源代码。

导入模块

为便于发起 HTTP GET 请求,我们采用 Python HTTP 库 requests 实现。

入口函数

接着,我们需要为无服务器云函数 hello 编写入口函数。

在上文示例代码中,我们导入依赖模块 requests 并使用 requests.get 函数向 发起 HTTP GET 请求并将响应正文(Body)作为无服务器云函数 hello 的返回值。

编写本地脚本

然后,我们需要根据本场景要求编写一个 Python 脚本并实现计划定时调用无服务器云函数 hello。

导入模块

首先我们需要在无服务器云函数 hello 中导入 Tencent Cloud SDK for Python 相关命名空间和模块:

回调函数

为便于获取计划定时调用的无服务器云函数运行结果,我们需要定义一个调用完成后的回调函数。当指定无服务器云函数在指定时间调用并运行完成后,Tencent Cloud SDK for Python 将调用指定回调函数。

入口函数

接着,我们需要为 Python 脚本编写入口函数代码。

在上文示例代码中我们首先实例化一个无服务器云函数产品客户端和访问凭据,接着获取当前本机 UNIX 时间戳,然后循环 3 次并分别创建相对于前一步获取的本机 UNIX 时间戳的 10 秒、20 秒和 30 秒定时无服务器云函数调用任务,最后运行已创建的所有定时调用任务并等待完成。

值得注意的是上文中示例代码以同步编程方式使用 Tencent Cloud SDK for Python,对于异步编程方式将无需调用无服务器云函数产品客户端实例的 run_schedule 方法,所有已创建的定时调用任务将被 Tencent Cloud SDK for Python 自动调度运行。

运行

最后,我们运行本场景中所创建并编写的本地 Python 脚本,如果一切正常将打印输出:

无服务器数据库

配置

值

运行环境

Python 3.6

内存上限

64 MBytes

入口函数

index.main

运行角色

QCS_SCFExcuteRole

https://libget.com/hello
https://libget.com/hello
schedule_invoke 方法
run_schedule 方法
import requests
def main(
    event: dict,
    context: dict
) -> str:
    return requests.get('https://libget.com/hello').text
import time

from tencent.cloud.auth import credentials
from tencent.cloud.serverless import functions
def completed_callback(
    function_schedule: functions.FunctionSchedule
):
    # Check if serverless cloud function is called and run successfully
    if not function_schedule.is_successful:
        # Throws an exception thrown by the task
        raise function_schedule.exception   

    # Print the actual return value of the serverless cloud function
    print('info: ' + str(function_schedule.return_value))
def main():
    # Instantiate a serverless cloud function product client
    function_client: functions.Client = functions.Client(
        # Instantiate an access credential
        access_credentials = credentials.Credentials(
            secret_id = 'AKIDF3sMOAU1pOgkmrKHchX6TZQ1Mo1C5qa7',
            secret_key = 'b4JL8fwxkIgsKMXGi39yYt0ECxZw4wZf'
        )
    )

    # Get the current native UNIX timestamp value
    current_unix_timestamp: int = int(time.time())

    # Loop 3 times to create a scheduled invoke task
    for loop_count in range(3):
        function_client.schedule_invoke(
            region_id = 'ap-shanghai',
            namespace_name = 'default',
            function_name = 'hello',
            invoke_timestamp = current_unix_timestamp + ((loop_count + 1) * 10),
            invoked_callback = completed_callback   
        )

    # Run all scheduled tasks until completion
    function_client.run_schedule()
info: hello libget!
info: hello libget!
info: hello libget!

选择最佳的访问凭据类型

本页将向您介绍 Tencent Cloud SDK for Python 目前已支持的访问凭据类型

概述

通常情况下,我们会选择最简单、直观的在应用程序源代码中硬编码访问凭据信息,这种方式并不便于访问凭据的管理和定期轮换,也不利于组织复杂的应用程序项目源代码。我们将该方式称之为默认访问凭据类型,其源代码形态通常为:

在下文中我们将向您介绍 Tencent Cloud SDK for Python 中所支持的其他访问凭据类型,您可以根据应用程序需求选择最佳的实践方式。

种类

环境凭据

环境凭据是指在特定应用程序运行环境中由环境变量所存储的访问凭据信息,Tencent Cloud SDK for Python 支持自动查找并使用有效的环境凭据作为客户端的访问凭据。

环境凭据类型由命名空间和模块 tencent.cloud.auth.credentials 中类 EnvironmentalCredentials 代表,该类的签名如下:

继承:tencent.cloud.auth.credentials.Credentials 类

当您选择并使用环境凭据时,Tencent Cloud SDK for Python 将尝试在当前运行环境的环境变量中查找默认名为 TENCENTCLOUD_SECRETID 和 TENCENTCLOUD_SECRETKEY 的环境变量值,对应访问凭据的 Secret ID 和 Secret Key 字段。

在下文中我们将通过 Python 代码片段向您演示如何使用环境凭据实例化无服务器云函数产品客户端:

当您在 Tencent Cloud 无服务器云函数产品所运行的无服务器云函数代码中使用时,您可以为该无服务器云函数配置 运行角色。当无服务器云函数运行时将自动为其分配非持久临时访问凭据,该访问凭据将被 Tencent Cloud SDK for Python 视为环境凭据。

如果运行环境中存储访问凭据的环境变量名称与默认查找的环境变量名称不同,您可以手动指定:

现在 Tencent Cloud SDK for Python 将尝试在当前运行环境的环境变量中查找名为 MY_SECRETID 和 MY_SECRETKEY 的环境变量值。

环境凭据支持隐式使用,这意味着若当前应用程序的运行环境符合环境凭据的所有默认行为,您将无需明确指定使用环境凭据:

请注意,如果当前应用程序运行环境中无法找到符合条件的环境凭据,将引发 EnvironmentError 异常。

文件凭据

没错,Tencent Cloud SDK for Python 不但支持环境凭据,也支持文件凭据。顾名思义,文件凭据是指将有效的访问凭据信息以 JSON 序列化文本的形式存储在文件上,Tencent Cloud SDK for Python 支持自动查找并使用有效的文件凭据作为客户端的访问凭据。

环境凭据类型由命名空间和模块 tencent.cloud.auth.credentials 中类 FileCredentials 代表,该类的签名如下:

继承:tencent.cloud.auth.credentials.Credentials 类

当您选择并使用文件凭据时,Tencent Cloud SDK for Python 将尝试在当前运行目录下查找名为 secret.json 的 JSON 序列化文本文件,其文件内容形态如下:

其中,JSON 属性 secretId 和 secretKey 分别对应访问凭据的 Secret ID 和 Secret Key 字段。

在下文中我们将通过 Python 代码片段向您演示如何使用文件凭据实例化无服务器云函数产品客户端:

请注意,文件凭据类型与环境凭据类型的实例化默认参数值不同,文件凭据类型实例化时必须明确指定包含访问凭据的 JSON 序列化文本文件的路径。

与环境凭据相同,文件凭据也支持隐式使用,这意味着若当前应用程序的文件环境符合文件凭据的所有默认行为,您将无需明确指定使用环境凭据,Tencent Cloud SDK for Python 将尝试在应用程序当前工作目录下查找名为 secret.json 的 JSON 序列化文本文件:

请注意,如果当前应用程序文件环境中无法找到符合条件的文件凭据,将引发 FileNotFoundError 异常;如果文件凭据中缺少必要的属性,将引发 KeyError 异常。

优先级

在上文中我们向您介绍了 Tencent Cloud SDK for Python 最新版本目前已支持的访问凭据类型,如果您决定隐式使用访问凭据类型,Tencent Cloud SDK for Python 将自动根据以下优先级查找:

  1. 默认凭据

  2. 文件凭据

  3. 环境凭据

查找规则为若前一项访问凭据类型已找到,则终止其他类型的访问凭据查找。例如当前应用程序运行环境中同时满足文件凭据和环境凭据,根据访问凭据类型优先级,文件凭据将优先被使用。

建议

根据您的应用场景,Tencent Cloud SDK for Python 建议您选择的访问凭据类型如下:

建议您根据应用程序所需要访问的 Tencent Cloud 产品资源分别创建适用于您 Tencent Cloud 账户的最小权限访问凭据。除非必要,否则访问凭据不应具有资源完全访问权限。

无服务器云函数间调用

本页将向您介绍并演示如何使用 Tencent Cloud SDK for Python 轻松实现无服务器云函数间调用

概述

通常情况下,我们可能需要在一个无服务器云函数中依赖另一个或多个无服务器云函数。通过在无服务器云函数中集成并使用 Tencent Cloud SDK for Python,无服务器云函数间调用将非常易于实现。

在下文中我们将通过一个简单的应用场景向您进一步介绍并演示如何使用 Tencent Cloud SDK for Python 快速实现在无服务器云函数之间相互调用。

场景

设定

假定我们在数据中心 ap-shanghai 的命名空间 default 中拥有 2 个已创建就绪的无服务器云函数,其名称分别是 hello 和 addend。这些无服务器云函数的配置如下:

要求

在该场景中,我们要求在无服务器云函数 hello 中以友好且可供人类直接阅读的字符串返回一次加法运算的结果,其加法运算过程要求在无服务器云函数 addend 中实现。

指导

在下文中,我们将通过几个步骤向您演示编写符合当前场景要求的代码示例:

编写 addend 函数

首先,我们需要先编写无服务器云函数 hello 的依赖函数 addend 的函数源代码:

在无服务器云函数 addend 中,我们尝试获取当前函数调用事件中的字段 value1 和 value2 的值,并将字段 value1 和 value2 的值相加后返回,期望相加值类型为整形。

编写 hello 函数

接着,我们需要编写依赖无服务器云函数 addend 的主函数 hello 的函数源代码:

导入模块

首先我们需要在无服务器云函数 hello 中导入 Tencent Cloud SDK for Python 相关命名空间和模块:

入口函数

接着我们需要为无服务器云函数 hello 编写入口函数。

在入口函数中我们将尝试使用 Tencent Cloud SDK for Python 所提供的无服务器云函数间调用功能调用无服务器云函数 addend 完成一次加法运算并获取结果:

在无服务器云函数 hello 中,我们尝试使用 Tencent Cloud SDK for Python 函数间调用功能调用无服务器云函数 addend 计算数值 10 和 20 的相加结果并以人类易读的描述性字符串返回。

如果无服务器云函数 addend 运行出错,则返回错误原因的描述性字符串。

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

运行

现在我们尝试运行无服务器云函数 hello,如果一切正常其运行结果为:

探究

在上文的演示代码中我们导入 Tencent Cloud SDK for Python 的无服务器云函数产品软件包,使用 functions.invoke 函数完成无服务器云函数之间相互调用的工作。

您或许已经注意到,无服务器云函数间调用的方式不需要您维护一个访问凭据和无服务器云函数产品客户端实例,这是因为 Tencent Cloud SDK for Python 的无服务器云函数间调用机制已代您维护一个有效的临时访问凭据和产品客户端实例。

当您初次使用 functions.invoke 或 functions.invoke_async 函数时,Tencent Cloud SDK for Python 会尝试在内部实例化一个无服务器云函数产品客户端并搜寻采用非持久环境凭据。

当无服务器云函数已配置具有有效访问权限的 时,其函数在运行代码之前将自动申请并获得一个非持久性的临时访问凭据并将其存储在当前运行环境的环境变量中,这就是环境凭据的由来。

如果当前无服务器云函数已配置 ,实例化通用或产品客户端时允许不提供访问凭据,此时 Tencent Cloud SDK for Python 将自动搜寻并采用环境凭据。

并且,函数 functions.invoke 或 functions.invoke_async 在内部将依赖无服务器云函数产品客户端的 easy_invoke 实例方法,其具有与依赖方法相同的行为和返回值。

请注意,使用无服务器云函数间调用方式调用的目标无服务器云函数必须与当前无服务器云函数所在数据中心相同,且命名空间为 default。

否则,您应该将参数 namespace_name 和 region_id 设置为有效值。

因此,无服务器云函数间调用机制并非真正地脱离无服务器云函数产品客户端,只是 Tencent Cloud SDK for Python 为开发者提供更佳便利的封装调用机制。

原生调用无服务器云函数

本文将向您介绍并演示借助 Tencent Cloud SDK for Python 如何以 Python 原生函数的形式调用指定无服务器云函数。

概述

当我们谈论到如何使用 Tencent Cloud SDK for Python 调用无服务器云函数时,或许首先想到的是利用无服务器云函数产品客户端所提供的 invoke、easy_invoke 或 schedule_invoke 等实例方法快速发起对指定无服务器云函数的调用并获得运行结果。

但除此之外,我们还可以借助 Tencent Cloud SDK for Python 的无服务器云函数产品客户端所提供的高级特性以 Python 原生函数的形式调用指定无服务器云函数。

通常情况下我们在当前运行环境中对无服务器云函数的调用过程或许都可以被称之为 RPC(远程过程调用),开发者可以感知到 RPC 过程的存在。例如我们使用无服务器云函数产品客户端所提供的 easy_invoke 实例方法调用指定无服务器云函数时,我们可以感知到这是一次调用请求。

通过利用 Tencent Cloud SDK for Python 的无服务器云函数产品客户端所提供的 Python 原生调用高级特性,我们可以将对无服务器云函数的调用封装为对一个 Python 原生函数的调用。这样当开发者对相关联的 Python 原生函数调用时等同于对指定无服务器云函数的调用,从而屏蔽 RPC 过程感知。

没有理解?没关系,在下文中我们将通过一个简单的场景介绍并演示如何使用该高级特性。

场景

设定

假定我们在数据中心 ap-shanghai 的命名空间 default 拥有一个已创建就绪的无服务器云函数 addend,其无服务器云函数的配置为:

其无服务器云函数的源代码为:

要求

在该场景中,我们要求在本地 Python 脚本中实现对无服务器云函数 addend 的调用,传入函数事件字段 value1 和 value2 并获得实际返回值。

其调用必须以 Python 原生函数的形式呈现。

指导

在下文中,我们将通过几个步骤向您演示编写符合当前场景要求的代码示例:

编写 Python 脚本

导入模块

首先,我们需要导入依赖的 Tencent Cloud SDK for Python 的命名空间和模块:

入口函数

接着,我们需要为 Python 脚本编写入口函数,所有代码逻辑将在该函数中实现。

在上文示例代码中,我们首先实例化一个无服务器云函数产品客户端和访问凭据;接着使用无服务器云函数产品客户端的实例方法 select_function 选择一个无服务器云函数并获得与之对应的 Python 原生函数 addend;最后调用 Python 原生函数 addend 并打印输出无服务器云函数 addend 的实际返回值。

在获得的 Python 原生函数 addend 内部,其将调用与之关联的无服务器云函数产品客户端的实例方法 easy_invoke 实现对指定无服务器云函数的调用。

请注意,对关联无服务器云函数的 Python 原生函数调用时其参数必须完全使用关键字参数传递,参数名即为指定无服务器云函数运行时事件的字段名称,否则行为是未定义的。

在上文示例代码中所涉及的 API 如下:

运行

最后,我们尝试运行本地 Python 脚本,如果一切正常将输出:

探究

或许您已经注意到,使用 Tencent Cloud SDK for Python 的无服务器云函数产品客户端的实例方法 select_function 所获得的关联 Python 原生函数无法使用顺序参数,且无法与类方法、类实例方法相结合并获得 IDE 所提供的引导提示。

如果您希望以类方法、类实例方法或函数的形式以可控的函数或方法签名组成您的代码,或许使用 Tencent Cloud SDK for Python 的无服务器云函数客户端所提供的另一项高级特性更加合适:

绑定到无服务器云函数

本文将向您进一步介绍并演示借助 Tencent Cloud SDK for Python 如何将无服务器云函数绑定到类方法、类实例方法或函数,这是获得关联无服务器云函数的 Python 原生函数的进阶。

概述

这是由 Tencent Cloud SDK for Python 的无服务器云函数产品客户端所提供的高级特性,如果您未曾阅读如何选择一个无服务器云函数并获得与之关联的 Python 原生函数的实践文档,请先阅读:

原生调用无服务器云函数

在上篇实践文档中我们得知 Tencent Cloud SDK for Python 的无服务器云函数产品客户端的实例方法 select_function 可以选择一个无服务器云函数并获得与之相关联的 Python 原生函数,通过对 Python 原生函数的调用即为对关联无服务器云函数的调用,从而屏蔽 RPC 感知。

遗憾的是,我们无法控制所获得与无服务器云函数关联的 Python 原生函数的签名和形态,且不能将其集成为类方法或类实例方法。与此同时,我们或许还需要在全局范围内维护一个 Python 原生函数实例。

不过无需担心,Tencent Cloud SDK for Python 的无服务器云函数产品客户端提供了另一种高级特性用于解决上述问题,我们将其称之为绑定到无服务器云函数。

与关联到无服务器云函数的高级特性不同,绑定到无服务器云函数特性使用 Python 高级特性装饰器实现,这意味着开发者可以以更简洁、美观的代码快速集成该特性。

没有理解?没关系,在下文中我们将通过几个简单的应用场景向您进一步说明如何使用绑定到无服务器云函数特性组成您的应用程序代码逻辑。

指导

在下文中我们将列举几段连续的示例代码并向您介绍 Tencent Cloud SDK for Python 的无服务器云函数产品客户端所提供的绑定到无服务器云函数特性的工作流程,我们仍然以无服务器云函数 addend 为例:

导入模块

首先我们需要在应用程序中导入所依赖的 Tencent Cloud SDK for Python 相关命名空间和模块:

产品客户端

然后我们需要在应用程序源代码的适合层级实例化一个或多个无服务器云函数产品客户端和访问凭据,在下文中我们将选择 Python 模块全局变量作为适合层级:

在上文示例代码中,我们所实例化的无服务器云函数产品客户端由 Python 模块全局变量 function_client 存储。

绑定 Python 函数

Python 原生函数可能是我们将应用程序与无服务器云函数相集成的多数选择。

投射函数

我们首先为无服务器云函数 addend 编写在 Python 原生函数的投射:

在上文示例代码中,Python 原生函数 addend 将引发 NotImplementedError 异常,该异常指示当前函数逻辑未实现。

绑定函数

接下来我们需要做的是,为无服务器云函数 addend 的 Python 原生投射函数套用一层装饰器:

上文示例代码中是 Python 原生投射函数 addend 套用 Python 装饰器后的形态。

运行函数

最后,我们尝试调用在上文示例代码中定义的 Python 原生函数 addend 并获得运行结果:

如果一切正常,我们将得到打印输出:

绑定的无服务器云函数 addend 运行事件为:

绑定 Python 类方法

有时或许我们希望使用 Python 类方法或类实例方法与无服务器云函数相集成。

定义实例类

首先我们需要编写一个可实例化的类以演示如何将类方法或类实例方法绑定到无服务器云函数:

在上文示例代码中,我们定义了符号名为 Addition 的实例类。该类拥有一个实例方法 get_result 用于计算类属性 value1 和 value2 的相加值。

绑定方法

接着,我们需要将实例类 Addition 的实例方法 get_result 绑定到无服务器云函数 addend 以实现加法运算功能。套用装饰器后的实例类形态如下:

在上文示例代码中我们额外使用了一个在绑定 Python 函数时未使用也不受支持的装饰器参数 include_attributes。该参数允许提供一个列表实例,列表实例的成员为需要从当前所绑定类方法或类实例方法的类实例或静态类中所额外包含的公开属性名称。

被装饰器参数 include_attributes 包含的类公开属性名和值将作为绑定的无服务器云函数运行时事件的字段名称和值,被绑定的类方法或类实例方法的参数也将包括在其中,这与是否使用并设置装饰器参数 include_attributes 的值无关。

请注意,被绑定的类方法的首个参数名称必须为 cls;被绑定的类实例方法的首个参数名称必须为 self,否则行为是未定义的。

运行方法

最后,我们尝试实例化一个 Addition 类并调用其实例方法 get_result 获得加法运算结果:

如果一切正常,我们将得到打印输出:

绑定的无服务器云函数 addend 运行事件为:

探究

或许您已经注意到,使用 Tencent Cloud SDK for Python 的无服务器云函数产品客户端所提供的绑定到无服务器云函数高级特性时,调用被绑定的函数、类方法或类实例方法支持顺序参数和关键字参数,与 Python 原生函数、类方法或类实例方法的参数传递规则一致。

这是因为 Tencent Cloud SDK for Python 在实现过程中使用 Python 反射(自省)高级特性实现对被绑定可调用对象的参数名称的检查。

创建和管理无服务器数据库

借助 Tencent Cloud SDK for Python,您可以以面向对象编程的方式创建和管理无服务器数据库资源。

概述

与传统数据库资源不同,无服务器数据库是一款按需分配资源的数据库产品。无服务器数据库将根据您的请求量、实际存储数据大小来自动分配资源,无需关注底层计算和存储资源,开箱即用,仅需为实际使用的资源量付费。无服务器数据库有哪些优势?

在向下阅读本文之前,您需要确保已阅读 入门篇 并理解一些基本概念。

在本文中我们将向您详细介绍,如何使用 Tencent Cloud SDK for Python 提供的无服务器数据库产品客户端以面向对象编程的方式快速创建并管理一个或多个无服务器数据库实例。

指导

在下文中,我们将通过几个连续的步骤向您演示:

创建数据库

导入模块

在创建无服务器数据库资源前,我们需要导入 Tencent Cloud SDK for Python 相关命名空间和模块:

请注意,这需要您的运行环境已安装 tencent-cloud-sdk-serverless-database 组件包,通常情况下该组件包包括在最新的 Tencent Cloud SDK 中。

创建客户端

接着,我们需要创建一个无服务器数据库产品客户端,这将允许我们访问无服务器数据库产品:

在上文示例代码中,我们使用 fetch_client 函数获得一个与当前超线程相关的无服务器数据库产品客户端实例。因便捷性和安全性原因,该函数仅支持使用环境凭据和文件凭据:

创建数据库

现在,我们需要在 ap-shanghai-2 数据中心可用区创建一个名为 default 的无服务器数据库实例:

在上文示例代码中,我们创建的无服务器数据库配置如下:

参数 instance_configure 的数据类型为 ,该数据类型包含所创建的无服务器数据库实例配置信息。

打印唯一标识符

最后,我们打印输出所创建的无服务器数据库实例的唯一标识符:

与无服务器数据库实例名称不同,无服务器数据库实例唯一标识符是不可重复的。

列出数据库

借助 Tencent Cloud SDK for Python 所提供的无服务器数据库产品客户端,我们可以非常方便地列出给定数据中心园区内已创建的无服务器数据库实例的详细信息:

变量 info 的数据类型为 ,其包含一个无服务器数据库实例的详细信息。

访问数据库

有时候我们的业务或工作负载可能因开发调试等原因,需要通过公网访问无服务器数据库实例。默认设置下无服务器数据库实例不允许通过公网访问,但我们可以轻松改变这一设置:

在上文示例代码中,参数 instance_extranet 代表给定无服务器数据库实例是否允许通过公网访问,如果该参数被忽略,默认为 True。

设置成功后,您需要通过调用实例方法 list_instances 检索公网访问地址。

删除数据库

一个无服务器数据库实例已不再使用?没关系,我们可以利用 Tencent Cloud SDK for Python 所提供的无服务器数据库产品客户端将其快速删除(销毁):

之后,被删除的无服务器数据库实例资源将在短时间内销毁回收。

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

其他 Tencent Cloud 产品

类和方法

无服务器云函数

高

应用场景类型

建议选择的访问凭据类型

参考级别

单一源文件

优先使用默认凭据,其次考虑使用文件凭据。

不适用

多源文件项目

优先使用文件凭据,其次考虑使用环境凭据。

不适用

无服务器云函数

优先使用文件凭据,其次考虑使用环境凭据。

不适用

开发环境

建议使用环境凭据,降低访问凭据泄漏风险。

配置项

值

运行环境

Python 3.6

内存上限

64 MBytes

入口函数

index.main

运行角色

QCS_SCFExcuteRole

运行角色
easy_invoke 方法
运行角色
运行角色

配置

值

运行环境

Python 3.6

内存上限

64 MBytes

入口函数

index.main

运行角色

QCS_SCFExcuteRole

Client 类
select_function 方法
绑定到无服务器云函数
什么是 Python 装饰器?
bind_function 方法

subnet-aieh8myj

配置项

成员

值

数据库版本

database.version

10.4

数据库字符集

database.charset

UTF-8

实例私有网络

vpc.id

vpc-f7qfb64q

实例私有网络子网

选择最佳的访问凭据类型
InstanceConfigure
InstanceConfigure 类型
create_instance 方法
InstanceInfo
InstanceInfo 类型
list_instances 方法
set_instance_extranet 方法

vpc.subnet_id

class EnvironmentalCredentials(Credentials)
from tencent.cloud.auth import credentials

function_client: functions.Client = functions.Client(
    access_credentials = credentials.EnvironmentalCredentials()
)
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'
    )
)
function_client: functions.Client = functions.Client()
class FileCredentials(Credentials)
{
    "secretId": "AKIDF3sMOAU1pOgkmrKHchX6TZQ1Mo1C5qa7",
    "secretKey": "b4JL8fwxkIgsKMXGi39yYt0ECxZw4wZf"
}
from tencent.cloud.auth import credentials

function_client: functions.Client = functions.Client(
    access_credentials = credentials.FileCredentials('./secret.json')
)
function_client: functions.Client = functions.Client()
def main(
    event: dict,
    context: dict
) -> int:
    try:
        return event['value1'] + event['value2']
    except KeyError as error:
        raise ValueError('event missing field: ' + str(error))
from tencent.cloud.serverless import functions
def main(
    event: dict,
    context: dict
) -> str:
    try:
        result: int = functions.invoke('addend', function_event = {
            'value1': 10,
            'value2': 20    
        })
        
        return 'addend result: ' + str(result)
    except functions.errors.InvokeError as error:
        return 'invoke addend function error: ' + str(error)
"addend result: 30"
def main(
    event: dict,
    context: dict
) -> int:
    try:
        return event['value1'] + event['value2']
    except KeyError as error:
        raise ValueError('event missing field: ' + str(error))
from tencent.cloud.auth import credentials
from tencent.cloud.serverless import functions
def main():
    # Instantiate a serverless cloud function product client
    function_client: functions.Client = functions.Client(
        # Instantiate an access credential
        access_credentials = credentials.Credentials(
            secret_id = 'AKIDF3sMOAU1pOgkmrKHchX6TZQ1Mo1C5qa7',
            secret_key = 'b4JL8fwxkIgsKMXGi39yYt0ECxZw4wZf'
        )
    )

    # Select a serverless cloud function and get a
    # corresponding Python native function.
    addend = function_client.select_function(
        region_id = 'ap-shanghai',
        namespace_name = 'default',
        function_name = 'addend'
    )
    
    # Calling Python native functions and getting results
    addition_result: int = addend(
        value1 = 10,
        value2 = 20
    )
    
    # Print function actual return value
    print('info: addition result: ' + str(addition_result))
info: addition result: 30
from tencent.cloud.auth import credentials
from tencent.cloud.serverless import functions
function_client: functions.Client = functions.Client(
    access_credentials = credentials.Credentials(
        secret_id = 'AKIDF3sMOAU1pOgkmrKHchX6TZQ1Mo1C5qa7',
        secret_key = 'b4JL8fwxkIgsKMXGi39yYt0ECxZw4wZf'
    )
)
def addend(
    value1: int,
    value2: int
) -> int:
    raise NotImplementedError
@function_client.bind_function(
    region_id = 'ap-shanghai',
    namespace_name = 'default',
    function_name = 'addend'
)
def addend(
    value1: int,
    value2: int
) -> int:
    raise NotImplementedError
def main():
    addition_result: int = addend(10, 20)
    print('info: addition result: ' + str(addition_result))
info: addition result: 30
{
    "value1": 10,
    "value2": 20
}
class Addition:

    def __init__(self,
        value1: int,
        value2: int
    ):
        self.value1: int = value1
        self.value2: int = value2
    
    def get_result(self) -> int:
        raise NotImplementedError
class Addition:

    def __init__(self,
        value1: int,
        value2: int
    ):
        self.value1: int = value1
        self.value2: int = value2
    
    @function_client.bind_function(
        region_id = 'ap-shanghai',
        namespace_name = 'default',
        function_name = 'addend',
        include_attributes = [
            'value1',
            'value2'
        ]
    )
    def get_result(self) -> int:
        raise NotImplementedError
def main():
    addition_result: int = Addition(10, 20).get_result()
    print('info: addition result: ' + str(addition_result))
info: addition result: 30
{
    "value1": 10,
    "value2": 20
}
from tencent.cloud.serverless import database
client = database.fetch_client()
instance_info: dict = client.create_instance(
    region_id = 'ap-shanghai',
    zone_id = 'ap-shanghai-2',
    instance_name = 'default',
    instance_configure = {
        'database': {
            'version': '10.4',
            'charset': database.DatabaseCharset.UTF8
        },
        'vpc': {
            'id': 'vpc-f7qfb64q',
            'subnet_id': 'subnet-aieh8myj'
        }
    }
)
print(instance_info['id'])
for info in client.list_instances('ap-shanghai'):
    print(info)
client.set_instance_extranet(
    region_id = 'ap-shanghai',
    instance_id = instance_info['id'],
    instance_extranet = True
)
client.delete_instance(
    region_id = 'ap-shanghai',
    instance_id = instance_info['id']
)

API 文档

本节将引导您进一步了解 Tencent Cloud SDK for Python 所提供的更多功能和高级特性

前提

阅读 Tencent Cloud SDK for Python 技术文档之前,强烈建议您先阅读入门文档。

入门

异步

Tencent Cloud SDK for Python 建立在全异步 API 支持的基础之上,这意味着所有 API 均以异步编程方式编写。不过,我们仍为同步编程方式提供兼容 API 支持,这些适用于同步编程方式的兼容 API 将在内部调用其适用于异步编程方式的 API 版本。

适用于异步编程方式的 API 命名均以 _async 结尾。

例如我们在无服务器云函数产品客户端中使用的方法 easy_invoke,其具有适用于同步和异步编程方式共 2 个 API 版本,其方法符号名分别为:

  • 同步编程方式:easy_invoke

  • 异步编程方式:easy_invoke_async

在 API 文档中我们将以便于理解的同步编程方式向您介绍和演示,其适用于异步编程方式的 API 版本在行为和参数定义上与适用于同步编程方式的 API 版本一致。

请注意,适用于同步编程方式的 API 不支持在异步编程方式中使用,否则行为是未定义的。

建议

Tencent Cloud SDK for Python 面向开发者提供低级 API 和高级 API。除非必要或拥有 API 文档的兼容性承诺,否则您应该始终使用高级 API 编写应用程序。

低级 API 通常是 Tencent Cloud SDK for Python 为面向内部高级 API 实现提供的底层 API 实现,低级 API 签名和行为可能会因 Tencent Cloud SDK for Python 的版本更新而改变甚至废止、删除,这将导致依赖低级 API 的应用程序无法在集成更高版本的 Tencent Cloud SDK for Python 时正确工作。

例如高级 API 方法 在内部调用低级 API 方法 tencent.cloud.core.client.BaseClient._request_action_async 以实现对 Tencent Cloud API 的调用并获得结果。

请注意,如果一个高级 API 未在 API 文档中声明,表明该 API 可能是实验性的并可能会在未来的某一个版本中被废止、删除,应该谨慎在应用程序中使用。

Tencent Cloud 产品

目前 Tencent Cloud SDK for Python 面向以下 Tencent Cloud 产品提供抽象的产品客户端:

无服务器云函数

其他 Tencent Cloud 产品

您需要集成并使用的 Tencent Cloud 产品未列出?没关系,您仍然可以使用 Tencent Cloud SDK for Python 提供的通用客户端直接快速、安全地访问 Tencent Cloud API 并获得结果,Tencent Cloud SDK for Python 将代您管理 Tencent Cloud API 身份验证和签名、底层互联网通信和请求与响应解析等实现细节:

请注意,目前 Tencent Cloud SDK for Python 所有类型均不是线程安全的。在多线程应用程序模型中,您应该在每一条超线程上下文中实例化一个或多个独立的类型实例。

使用例程组织无服务器云函数

本文将向您进一步介绍并演示借助 Tencent Cloud SDK for Python 如何为无服务器云函数创建多个例程并调用它们,这是绑定到无服务器云函数的进阶。

概述

这是由 Tencent Cloud SDK for Python 的无服务器云函数产品客户端所提供的高级特性,如果您未曾阅读如何将一个无服务器云函数绑定到 Python 原生同步或异步函数的实践文档,请先阅读:

绑定到无服务器云函数

在上一篇最佳实践中我们得知借助 Tencent Cloud SDK for Python 可以快速实现将一个或多个 Python 原生的同步或异步函数绑定到指定的无服务器云函数,进而以完全 Python 原生调用的形态组织代码以屏蔽或减少开发者对无服务器云函数调用时的 RPC 流程感知。

遗憾的是,该高级特性仅适用于无服务器云函数调用方,而被调用的无服务器云函数依旧需要以传统事件处理的方式组织一个或多个功能的代码实现。当我们在一个无服务器云函数中提供的相关功能较多时,开发者还需要在无服务器云函数执行方法中实现事件解析和派发。

因此,Tencent Cloud SDK for Python 通过提供另外一种高级特性以解决这些问题,我们将其称之为适用于无服务器云函数集成调用的例程派发框架,简称无服务器云函数例程。

与绑定到无服务器云函数的高级特性相同,无服务器云函数例程特性也使用 Python 高级特性装饰器实现,这意味着开发者可以以更简洁、美观的代码快速集成该特性。

没有理解?没关系,在下文中我们将通过几个简单的应用场景向您进一步说明如何使用无服务器云函数例程特性组成您的应用程序代码逻辑。

指导

在下文中我们将列举几段连续的示例代码并向您介绍 Tencent Cloud SDK for Python 所提供的无服务器云函数例程特性的工作流程。

假定我们需要在一个无服务器云函数中实现对加法和减法的算术运算:

无服务器云函数

创建函数

首先我们需要创建一个名为 arithmetic 的无服务器云函数:

编写代码

然后,我们需要为无服务器云函数 arithmetic 编写代码。与以往不同,我们将使用 Tencent Cloud SDK for Python 提供的无服务器云函数例程特性和框架。首先我们需要导入使用的命名空间和模块:

接着我们需要调用 use_routine_dispatcher 函数为当前无服务器云函数启用例程派发器框架:

在上述代码中,我们得到一个被称之为例程派发器类型的实例并由变量 dispatcher 存储。例程派发器实际上是一个可解析无服务器云函数例程调用协议的路由,每一个例程派发器实例将管理一个或多个已注册的无服务器云函数例程。没有理解?没关系,让我们继续向下阅读。

然后我们需要编写 2 个例程,分别是 addend 和 subtract,分别对应加法和减法的算术运算:

或许您已经注意到,无服务器云函数例程实际上是一个套用例程派发装饰器的一个 Python 原生函数,在上述代码中我们仅需要为 Python 原生函数使用 @dispatcher.routine 装饰器即可将其注册为可调用的无服务器云函数例程。

到此,无服务器云函数 arithmetic 的代码已完成编写。

本地函数

编写代码

在上文中我们已经创建名为 arithmetic 的无服务器云函数,并分别实现适用于加法和减法算术运算的无服务器云函数例程,现在让我们在一个本地函数中调用它们:

首先,我们需要导入所依赖的命名空间和模块:

接着,我们需要在本地函数的 Python 模块全局获取一个无服务器云函数产品客户端实例:

然后,我们需要为无服务器云函数的 addend 和 subtract 分别创建 2 个 Python 原生函数,并将他们分别绑定到对应的无服务器云函数例程:

是的,对无服务器云函数例程的绑定与对无服务器云函数的绑定非常相似。

我们仅需要定义 2 个与无服务器云函数例程签名完全一致的 Python 原生函数,然后为其分别套用 @function_client.bind_routine 装饰器即可。现在对 Python 原生函数 addend 和 subtract 的调用等同于对无服务器云函数 arithmetic 的例程 addend 和 subtract 的调用。

值得注意的是,我们将这些与无服务器云函数例程签名相同的 Python 函数称之为 Python 原生扮演函数。

当然,如果您不希望在应用程序中为每一个无服务器云函数例程编写对应的 Python 原生函数,您可以选择由 Tencent Cloud SDK for Python 代您创建一个与指定无服务器云函数例程相关联的 Python 原生函数:

现在,变量 addend 和 subtract 为可调用的 Python 原生函数对象。

调用例程

最后,我们尝试在本地函数中调用无服务器云函数 arithmetic 的例程 addend 和 subtract,并打印输出加法和减法算术运算的结果:

请注意,如果您使用方法 seletc_routine 创建无服务器云函数例程的 Python 原生扮演函数,您需要完全使用关键字参数调用,否则 Tencent Cloud SDK for Python 无法确定每个参数对应的位置:

如果您希望在调用无服务器云函数例程时获得 RPC 流程感知,您可以使用方法 routine_invoke :

打印输出

如果一切正常,您将会在终端看到如下输出:

cancel 方法

命名空间和模块:tencent.cloud.serverless.functions.FunctionSchedule

简要

尝试取消还未开始调用的无服务器云函数定时调用任务。

参数

该方法没有参数。

返回值

该方法没有返回值。

异常

该方法可能会主动引发以下异常:

StatusError

该异常指示定时调用任务已被触发,无法取消。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

def cancel(self)
tencent.cloud.core.client.UniversalClient.action
无服务器云函数
其他 Tencent Cloud 产品

属性

值

数据中心

ap-shanghai

命名空间

default

函数名称

arithmetic

运行环境

Python 3.6

什么是 Python 装饰器?
bind_routine 方法
select_routine 方法
routine_invoke 方法
from tencent.cloud.serverless import functions
dispatcher = functions.use_routine_dispatcher()
@dispatcher.routine
def addend(
    value1: int,
    value2: int
) -> int:
    return value1 + value2

@dispatcher.routine
def subtract(
    value1: int,
    value2: int
) -> int:
    return value1 - value2
from tencent.cloud.serverless import functions
function_client = functions.fetch_client()
@function_client.bind_routine('ap-shanghai', 'default', 'arithmetic')
def addend(
    value1: int,
    value2: int
) -> int:
    raise NotImplementedError

@function_client.bind_routine('ap-shanghai', 'default', 'arithmetic')
def subtract(
    value1: int,
    value2: int
) -> int:
    raise NotImplementedError
addend = function_client.seletc_routine('ap-shanghai', 'default',
    'arithmetic', 'addend')
    
subtract = function_client.seletc_routine('ap-shanghai', 'default',
    'arithmetic', 'subtract')
print(addend(10, 20))
print(subtract(30, 20))
print(addend(
    value1 = 10,
    value2 = 20
))

print(subtract(
    value1 = 30,
    value2 = 20
))
30
10
import sys

try:
    schedule_task.cancel()
except functions.errors.StatusError as error:
    print('error': + str(error), file = sys.stderr)

FunctionTrigger 类

命名空间和模块:tencent.cloud.serverless.functions.client

简要

代表无服务器云函数触发器配置的类。通过利用该类,您可以快速为无服务器云函数配置一个指定类型的触发器,而无需关注触发器配置数据类型。

class FunctionTrigger

构造

该类仅支持构造类实例后使用,其构造实例方法签名如下:

示例

在下文中我们将向您演示如何构造一个触发器配置类实例并使用它。

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

FunctionSchedule 类

命名空间和模块:tencent.cloud.serverless.functions

简要

代表无服务器云函数定时调用任务的类。

请注意,您不应该直接构造该类的类实例,而是应该使用 Client 类的类实例方法 schedule_invoke 获得一个该类的实例,否则行为可能是未定义的。

属性

该类包含的可公开访问属性和属性描述如下:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

get_trigger_kind 方法

命名空间和模块:tencent.cloud.serverless.functions.client.FunctionTrigger

简要

获取触发器种类,该方法通常用于确定当前配置的触发器类型。

参数

该方法没有参数。

返回值

该方法返回触发器种类名称,与受支持的触发器种类名称相对应的是 枚举器。

异常

该方法不会主动引发任何异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

FunctionResultFuture 类

命名空间和模块:tencent.cloud.serverless.functions

简要

代表无服务器云函数异步调用运行结果的类。

如果使用异步编程方式,该类支持使用 await 关键字等待无服务器云函数运行完成。

请注意,您不应该直接构造该类的类实例,而是应该使用 Client 类的类实例方法 easy_invoke 获得一个该类的实例,否则行为可能是未定义的。

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

get_trigger_context 方法

命名空间和模块:tencent.cloud.serverless.functions.client.FunctionTrigger

简要

获取触发器描述结构上下文。

参数

该方法没有参数。

返回值

该方法返回包含触发器描述结构上下文的字典实例。如果当前已配置的触发器种类不支持触发器描述结构或尚未配置触发器,该方法将始终返回 None。

异常

该方法不会主动引发任何异常。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

get_request_id 方法

命名空间和模块:tencent.cloud.serverless.functions.FunctionResultFuture

简要

获取无服务器云函数异步调用的唯一标识符(Request ID)字符串。

参数

use_object_storage_bucket 方法

命名空间和模块:tencent.cloud.serverless.functions.client.FunctionTrigger

简要

配置使用对象存储桶触发器。

参数

class FunctionSchedule
def get_trigger_kind(self) -> str
def get_trigger_context(self) -> dict

数据类型

def __init__(self)
FunctionTriggerKind
class FunctionResultFuture(asyncio.Future)
该方法没有参数。

返回值

该方法返回无服务器云函数异步调用的 Request ID 字符串。

异常

该方法通常情况下不会引发任何异常。

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

def get_request_id(self) -> str
from tencent.cloud.auth import credentials
from tencent.cloud.serverless import functions

# The method will return itself.

functions.FunctionTrigger().use_timer(
    timer_name = 'default',
    timer_cron = '* * * * *'
)
functions.FunctionTrigger().get_trigger_kind()
functions.FunctionTrigger().get_trigger_context()

该属性包含无服务器云函数的实际返回值,请参阅类 Client 的实例方法 的返回值说明。

属性

类型

描述

is_successful

bool

该属性指示无服务器云函数是否成功调用、运行。

exception

Exception

该属性指示无服务器云函数调用过程中所引发(如果有)的异常类型。

result

dict

该属性包含无服务器云函数的运行结果,其数据类型为 FunctionResult。

return_value

...

该方法具有以下参数,其参数、参数类型和参数描述如下:

参数

类型

必选

描述

bucket_endpoint

str

是

对象存储桶的 XML API 访问端点主机名。

bucket_requirement_context

是

包含对象存储桶触发器事件过滤描述结构的字典实例。

返回值

该方法返回当前代表触发器配置的 FunctionTrigger 类实例本身。

异常

该方法可能会主动引发的异常类型如下:

ValueError

参数值或类型不符合预期。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

什么是对象存储桶触发器?

use_message_queue_topic 方法

命名空间和模块:tencent.cloud.serverless.functions.client.FunctionTrigger

简要

配置使用消息队列主题触发器。什么是消息队列主题触发器?

参数

该方法具有以下参数,其参数、参数类型和参数描述如下:

请注意,该方法参数 topic_instance_id 和 topic_requirement_context 是保留参数,这些参数应始终忽略或设置为 None,否则将引发 NotImplementedError 异常。

返回值

该方法返回当前代表触发器配置的 类实例本身。

异常

该方法可能会主动引发的异常类型如下:

ValueError

参数值或类型不符合预期。

NotImplementedError

保留参数被设置为非预期值。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

use_timer 方法

命名空间和模块:tencent.cloud.serverless.functions.client.FunctionTrigger

简要

配置使用定时触发器。什么是定时触发器?

参数

该方法具有以下参数,其参数、参数类型和参数描述如下:

返回值

该方法返回当前代表触发器配置的 类实例本身。

异常

该方法可能会主动引发的异常类型如下:

ValueError

参数值或类型不符合预期。

示例

下面我们将通过一段 Python 代码向您演示如何使用该方法:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

FunctionInfoEx 类型

命名空间和模块:tencent.cloud.serverless.functions

简要

包含无服务器云函数基本信息和配置的字典类型。

成员

LayerContent 类

命名空间和模块:tencent.cloud.serverless.functions.client

简要

代表层数据配置的类。通过利用该类,您可以快速指定层数据的来源,而无需关注层数据的数据类型。

继承:tencent.cloud.serverless.functions.client.FunctionCode 类。

def use_object_storage_bucket(self,
    bucket_endpoint: str,
    bucket_requirement_context: dict
)
functions.FunctionTrigger.use_object_storage_bucket(
    bucket_endpoint = 'scf-code-1000000000.cos.ap-shanghai.myqcloud.com',
    bucket_requirement_context = {
        'event_id': 'cos:ObjectCreated:*'
    }
)
def use_message_queue_topic(self,
    topic_name: str,
    topic_instance_id: str = None,
    topic_requirement_context = None
)
def use_timer(self,
    timer_name: str,
    timer_cron: str
)
easy_invoke
ObjectStorageBucketTriggerFilter

参数

类型

必选

描述

timer_name

str

是

定时触发器的唯一名称。 绑定该触发器的无服务器云函数可通过触发事件获得该触发器的唯一名称。

timer_cron

str

是

定时触发器触发周期标准 Cron 表达式。

如何编写 Cron 表达式?

FunctionTrigger
该类是 FunctionCode 的子类,其方法、可访问属性等与父类相同。

构造

该类仅支持构造类实例后使用,其构造实例方法签名如下:

示例

在下文中我们将向您演示如何构造一个层数据类实例并使用它。

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.2

class LayerContent
functions.FunctionTrigger.use_timer(
    timer_name = 'default',
    timer_cron = '* * * * *'
)
def __init__(self)
from tencent.cloud.serverless import functions

# The method will return itself.

functions.LayerContent().use_object_storage_bucket(
    region_id = 'ap-shanghai-1',
    bucket_name = 'scf-layer',
    object_name = 'layer-data.zip'
)

否

包含消息队列主题消息过滤描述结构的字典实例。

参数

类型

必选

描述

topic_name

str

是

消息队列主题名称。

topic_instance_id

str

否

消息队列主题所属的消息队列实例唯一标识符。

topic_requirement_context

FunctionTrigger

该数据类型包含的成员和成员描述如下:

成员

类型

必选

描述

info

是

包含无服务器云函数基本信息的字典实例。

configure

是

包含无服务器云函数配置信息的字典实例。

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

FunctionInfo 类型

命名空间和模块:tencent.cloud.serverless.functions

简要

包含无服务器云函数基本信息的字典类型。

成员

该数据类型包含的成员和成员描述如下:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

fetch_client 函数

命名空间和模块:tencent.cloud.serverless.functions

简要

获取适用于当前超线程的内建无服务器云函数产品客户端实例。

如果在当前超线程中从未创建过内建无服务器云函数产品客户端实例,默认创建新的客户端实例并将其设置为适用于当前超线程的内置客户端实例,反之复用已创建的客户端实例。

该函数不允许指定被创建无服务器云函数产品客户端的访问凭据,这意味着您的应用程序只能使用可被自动查找并设置的环境凭据或文件凭据,详情请参阅最佳实践篇:

选择最佳的访问凭据类型

兼容性

在 Tencent Cloud SDK for Python 0.1.3 或更低版本中,您可以考虑使用非公开实验性 API 替代该函数:

请注意,函数 get_builtin_client 与 fetch_client 不同,它试图在多个超线程上下文中共享同一个内建地无服务器云函数产品客户端实例,这可能会在多线程模型的应用程序中产生意外的脏数据。

最佳实践是升级并集成最新的 Tencent Cloud SDK for Python 版本。

参数

该函数没有参数。

返回值

该函数返回适用于当前超线程的内置无服务器云函数产品客户端实例。如果在相同的超线程上下文中多次调用该函数,每次调用返回的无服务器云函数产品客户端实例是相同的。

异常

该函数可能会主动引发以下异常类型:

EnvironmentError

没有找到可用的文件凭据或环境凭据。

KeyError

查找到的文件凭据缺失必要的访问凭据字段。

示例

接下来我们将通过一段 Python 代码向您演示如何使用该函数:

如果当前复用的无服务器云函数产品客户端实例不再干净,您可以考虑使用函数 destroy_client 销毁适用于当前超线程的内置无服务器云函数产品客户端实例。

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.3

use_routine_dispatcher 函数

命名空间和模块:tencent.cloud.serverless.functions

简介

为当前无服务器云函数使用例程派发器框架。

当该函数的参数 override_handler 被忽略或值设置为 True 时,该函数将尝试查找本次函数调用是由哪一个 Python 模块发起,并在来源 Python 模块中创建或覆盖名为 main 的无服务器云函数执行方法。

请注意,请确保当前无服务器云函数的执行方法名为 main,并且仅在包含执行方法定义的 Python 模块中调用一次该函数,否则该函数可能无法正常工作。

如果您的无服务器云函数已确定使用适用于无服务器云函数集成调用的例程派发器框架,您将无需为该无服务器云函数编写名为 main 的执行方法。

参数

该函数拥有的参数、参数类型和参数描述如下:

返回值

该函数返回适用于无服务器云函数集成调用的例程派发器 IntegrateDispatch 实例。

异常

该函数可能会主动引发以下异常类型:

ValueError

参数值或类型不符合预期。

ModuleNotFoundError

该函数无法确定当前函数调用来自于哪一个 Python 模块。

示例

接下来我们将通过一段 Python 代码片段向您演示如何使用该函数:

现在,Python 原生函数 addend 已向例程派发器注册并对外提供可名为 addend 的可调用例程。

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.5

FunctionConfigure 类型

命名空间和模块:tencent.cloud.serverless.functions

简要

包含无服务器云函数配置的字典类型。

成员

该数据类型包含的成员和成员描述如下:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

FunctionVersionInfo 类型

命名空间和模块:tencent.cloud.serverless.functions

简要

包含无服务器云函数版本信息的字典类型。

{
    'name': '1',
    'description': ...
}

成员

该数据类型包含的成员和成员描述如下:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

NamespaceInfo 类型

命名空间和模块:tencent.cloud.serverless.functions

简要

包含命名空间基本信息的字典类型。

{
    'name': 'default',
    'description': 'Default namespace',
    'create_time': '2020-01-20 19:46:14',
    'last_modified_time': '2020-01-21 19:46:14',
    'type': 'default'
}

成员

该数据类型包含的成员和成员描述如下:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

FunctionFilter 类型

命名空间和模块:tencent.cloud.serverless.functions

简要

包含无服务器云函数项过滤条件的字典类型。

成员

该数据类型包含的成员和成员描述如下:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

FunctionResultFilter 类型

命名空间和模块:tencent.cloud.serverless.functions

简要

包含无服务器云函数运行结果过滤条件的字典类型。

成员

LayerInfo 类型

命名空间和模块:tencent.cloud.serverless.functions

简要

包含层信息或层的版本信息的字典类型。

成员

functions.FunctionTrigger.use_message_queue_topic(
    topic_name = 'test-queue-topic'
)
{
    'info': {
        ...
    },
    'configure': {
        ...
    }
}
{
    'namespace_name': 'default',
    'status': ...,
    'type': 'Event',
    'id': ...,
    'name': 'addend',
    'description': ...,
    'runtime': 'Python3',
    'tags': {
        'Service': 'Tester'
    },
    'last_modified_time': '2020-02-10 20:05:54',
    'create_time': '2020-01-20 19:46:14'
}
def fetch_client() -> Client
def use_routine_dispatcher(
    override_handler: bool = True
) -> IntegrateDispatch
{
    'handler': 'index.main',
    'memory_size': 128,
    'time_out': 3,
    'vpc_configure': {
        'vpc_id': ...,
        'subnet_id': ...
    },
    'role_id': 'SCF_QcsRole',
    'log_configure': {
        'logset_id': ...,
        'topic_id': ...
    },
    'environments': {
        'NAME': 'serverless',
        'VALUE': 'cloud-function'
    },
    'eip_configure': {
        'enabled': True,
        'addresses': [
            ...
        ]
    },
    'access_configure': {
        'hostname': ...,
        'ip_address': ...
    },
    'layers': [
        ...
    ],
    'dead_letter': {
        'type': '...',
        'name': '...'
    }
}
{
    'search': {
        'function_name': 'add'
    },
    'tags': [
        {
            'name': 'Service',
            'values': [
                'Tester'
            ]
        }
    ]
}

成员

类型

必选

描述

name

str

是

无服务器云函数版本名称。

description

str

是

无服务器云函数版本描述正文。

MessageQueueTopicTriggerFilter
FunctionInfo
FunctionConfigure

是

无服务器云函数的类型。

id

str

是

无服务器云函数的唯一标识符。

name

str

是

无服务器云函数的名称。

description

str

是

无服务器云函数的描述正文。

runtime

str

是

无服务器云函数的运行时名称。

tags

dict

是

无服务器云函数已标记的标签对。

<name>: <value>

last_modified_time

str

是

无服务器云函数的最后修改时间字符串。

create_time

str

是

无服务器云函数的创建时间字符串。

成员

类型

必选

描述

namespace_name

str

是

无服务器云函数所属的命名空间名称。

status

str

是

无服务器云函数的当前状态。

type

str

是

命名空间的创建时间字符串。

last_modified_time

str

是

命名空间的最后修改时间字符串。

type

str

是

命名空间的类型。

成员

类型

必选

描述

name

str

是

命名空间的名称。

description

str

是

命名空间的描述正文。

create_time

str

否

根据符合条件的资源标签过滤。

tags[index]

dict

否

根据符合条件的资源标签过滤。

tags[index].name

str

是

根据符合条件的资源标签名称过滤。

tags[index].values

list<str>

是

根据符合条件的资源标签值过滤。

成员

类型

必选

描述

search

dict

否

根据符合条件的关键词过滤。

search.function_name

str

是

根据符合条件的无服务器云函数名称关键字过滤。

tags

list

参数

类型

必选

描述

override_handler

bool

否

是否创建或覆盖调用该函数的模块中的无服务器云函数 main 函数。

MessageQueueTopicTriggerFilter 类型

命名空间和模块:tencent.cloud.serverless.functions.client

简要

包含无服务器云函数消息队列主题触发器事件过滤描述结构的字典类型。

{
    ...
}

这是一个保留数据类型,使用该数据类型的参数将引发 NotImplementedError 异常。

成员

该数据类型目前没有成员。

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

FunctionTriggerKind 枚举器

命名空间和模块:tencent.cloud.serverless.functions.client

简要

包含无服务器云函数触发器类型名称成员的枚举器。

class FunctionTriggerKind:
    Timer: str = 'timer'
    ObjectStorageBucket: str = 'cos'
    MessageQueueTopic: str = 'cmq'

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

FunctionRuntime 枚举器

命名空间和模块:tencent.cloud.serverless.functions

简要

包含无服务器云函数受支持运行时名称成员的枚举器。

class FunctionRuntime:
    Python: str = 'Python3.6'
    Nodejs: str = 'Nodejs8.9'
    Php: str = 'PHP7'
    Golang: str = 'Golang1'
    Java: str = 'Java8'

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

FunctionCodeSource 枚举器

命名空间和模块:tencent.cloud.serverless.functions.client

简要

包含无服务器云函数源代码来源类型成员的枚举器。

class FunctionCodeSource:
    ObjectStorageBucket: int = 1
    LocalZipFile: int = 2
    GitRepository: int = 3

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

def get_builtin_client() -> Client
from tencent.cloud.serverless import functions
function_client: functions.Client = functions.fetch_client()
from tencent.cloud.serverless import functions

dispatcher = functions.use_routine_dispatcher()

@dispatcher.routine
def addend(
    value1: int,
    value2: int
) -> int:
    return value1 + value2

否

无服务器云函数的运行时长上限(秒)。

vpc_configure

dict

否

无服务器云函数的内网访问配置字典实例。

vpc_configure.vpc_id

str

是

无服务器云函数运行时所在私有网络 ID。

vpc_configure.subnet_id

str

是

无服务器云函数运行时所在私有网络的子网 ID。

role_id

str

否

无服务器云函数的运行角色 ID。

log_configure

dict

否

无服务器云函数的日志服务配置字典实例。

log_configure.logset_id

str

是

存储无服务器云函数日志的日志集 ID。

log_configure.topic_id

str

是

存储无服务器云函数日志的日志主题 ID。

environments

dict

否

无服务器云函数运行时环境变量字典实例。

eip_configure

dict

否

包含无服务器云函数弹性公网 IP 配置的字典实例。

eip_configure.enabled

bool

是

是否启用无服务器云函数公网访问时固定弹性公网 IP 功能。

eip_configure.addresses

list<str>

是

包含无服务器云函数公网访问弹性公网 IP 的列表实例。

access_configure

dict

否

包含无服务器云函数 HTTP 访问端点配置的字典实例。

access_configure.hostname

str

是

无服务器云函数 HTTP 访问端点主机名。

access_configure.ip_address

str

是

无服务器云函数 HTTP 访问主机的 VIP 地址。

layers

list<dict>

否

包含无服务器云函数已关联层信息的列表实例,其成员的数据类型为 。

dead_letter

dict

否

包含无服务器云函数死信队列配置的字典实例。

dead_letter.type

str

是

无服务器云函数死信队列类型。

dead_letter.name

str

是

无服务器云函数死信队列名称。

成员

类型

必选

描述

handler

str

否

无服务器云函数的入口函数符号名。

memory_size

int

否

无服务器云函数的运行时内存上限(MBytes)。

time_out

int

该数据类型包含的成员和成员描述如下:

成员

类型

必选

描述

time

dict

否

按无服务器云函数的运行开始、结束时间过滤。

time.start_timestamp

int

是

无服务器云函数开始运行的 UNIX UTC 时间戳。

time.end_timestamp

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

该数据类型包含的成员和成员描述如下:

成员

类型

必选

描述

name

str

是

层唯一名称。

description

str

是

层描述正文。

version

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.2

LayerFilter 类型

命名空间和模块:tencent.cloud.serverless.functions

简要

包含层过滤器上下文的字典类型。

{
    'runtimes': [
        'Python3.6'
    ],
    'search': {
        'name': 'user-'
    }
}

成员

该数据类型包含的成员和成员描述如下:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.2

ObjectStorageBucketTriggerFilter 类型

命名空间和模块:tencent.cloud.serverless.functions.client

简要

包含无服务器云函数对象存储桶触发器事件过滤描述结构的字典类型。

成员

{
    'time': {
        'start_timestamp': 1581350120,
        'end_timestamp': 1581350200
    },
    'type': 'UserCodeException'
}
{
    'name': 'default',
    'description': 'default layer',
    'version': 1,
    'runtimes': [
        'Python3.6'
    ],
    'license': 'default license',
    'create_time': '2020-01-20 19:46:14',
    'content': {
        'url': '...',
        'hash': '...'
    },
    'status': 'Active'
}

int

是

无服务器云函数结束运行的 UNIX UTC 时间戳。

type

str

否

无服务器运行函数运行结果的类型。

包含受支持运行结果类型的有 FunctionResultType 枚举器。

int

是

层版本编号。

runtimes

list<str>

是

包含层兼容的运行时名称的列表实例。 与之关联的是 FunctionRuntime 枚举器。

license

str

是

层许可正文。

create_time

str

是

层创建时间字符串。

content

dict

否

包含层数据相关信息的字典实例。

content.url

str

是

层数据 ZIP 档案下载 URL。

content.hash

str

是

层数据 ZIP 档案 SHA256 校验字符串。

status

str

是

层状态。 与之关联的是 LayerStatus 枚举器。

LayerInfo

异常

无服务器数据库

是

层名称匹配关键字。

例如:user- 匹配 user-data、user-info 等...

成员

类型

必选

描述

runtimes

list<str>

否

包含层兼容运行时名称的列表实例。

search

dict

否

包含层属性关键字搜索(匹配)属性的字典实例。

search.name

str

FunctionResultType 枚举器

命名空间和模块:tencent.cloud.serverless.functions

简要

包含无服务器云函数受支持运行结果类型名称成员的枚举器。

class FunctionResultType:
    Succeed: str = 'is0'
    Error: str = 'not0'
    TimeLimit: str = 'TimeLimitExceeded'
    ResourceLimit: str = 'ResourceLimitExceeded'
    UserCodeError: str = 'UserCodeException'

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

LayerContentSource 枚举器

命名空间和模块:tencent.cloud.serverless.functions.client

简要

包含层数据来源类型名称的枚举器。

class LayerContentSource:
    ObjectStorageBucket: int = 1
    LocalZipFile: int = 2
    GitRepository: int = 3

继承:tencent.cloud.serverless.functions.client.FunctionCodeSource 枚举器。

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.2

LayerStatus 枚举器

命名空间和模块:tencent.cloud.serverless.functions.client

简要

包含层当前状态名称的枚举器。

class LayerStatus:
    Active: str = 'Active'
    Publishing: str = 'Publishing'
    PublishFailed: str = 'PublishFailed'
    Deleted: str = 'Deleted'

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.2

该数据类型包含的成员和成员描述如下:

成员

类型

必选

描述

event_id

str

是

按对象存储桶事件 ID 过滤触发事件。

prefix_name

str

否

按对象存储桶事件中对象的前缀路径过滤触发事件。

suffix_name

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

InvokeError 异常

命名空间和模块:tencent.cloud.serverless.functions.errors

简要

该异常指示被调用无服务器云函数在运行时出现错误所导致的调用失败,这通常是由于无服务器云函数所运行的代码存在异常。

继承:tencent.cloud.core.errors.ClientError 类

构造

该异常类仅支持构造异常类实例后使用,其构造实例方法签名如下:

构造实例方法参数和参数描述如下:

属性

该异常类包含的可公开访问属性和属性描述如下:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

StatusError 异常

命名空间和模块:tencent.cloud.serverless.functions.errors

简要

该异常指示被操作资源或对象当前的状态不符合预期。

class StatusError(errors.ClientError)

继承:tencent.cloud.core.errors.ClientError 类

该异常类包含的可公开访问属性和属性描述如下:

适用于

Tencent Cloud SDK for Python

产品软件包:tencent-cloud-sdk-serverless-functions >= 0.1.1

{
    'event_id': 'cos:ObjectCreated:*',
    'prefix_name': 'images/',
    'suffix_name': '.jpg'
}
class InvokeError(errors.ClientError)

属性

类型

描述

error_message

str

错误描述。

request_id

str

出错的无服务器云函数调用唯一标识符(Request ID)字符串。

str

否

按对象存储桶事件中对象的后缀路径过滤触发事件。

有哪些事件 ID?

参数

类型

必选

描述

error_message

str

是

错误描述。

request_id

str

是

出错的无服务器云函数调用唯一标识符(Request ID)字符串。

属性

类型

描述

error_message

str

错误描述。

request_id

str

出错的无服务器云函数调用唯一标识符(Request ID)字符串。

def __init__(self,
    error_message: str,
    request_id: str
)