gpt4 book ai didi

python - 使用 boto 时,长时间运行的客户端对象是否安全?

转载 作者:行者123 更新时间:2023-12-02 09:53:53 26 4
gpt4 key购买 nike

假设我有一个长时间运行的 Web 服务器,可以调用 aws api?长时间运行的客户端对象是否安全,或者该对象是否可能会损坏并弄乱我的 Web 服务器?为了具体起见,最好做这样的事情

import boto3

client = boto3.client('elb')

def function():
do stuff with client

或者这个

import boto3

def function():
client = boto3.client('elb')
do stuff with client

前一个选项更好,因为我可以在多个函数中重用相同的客户端对象。如果我的上述安全考虑是有效的,后一种选择会更好。

最佳答案

我喜欢做这样的事情的方法是将客户端作为参数传递给将使用它的函数。类似的东西

import boto3

def function(param1, param2, client=None):
if client is None:
client = boto3.client('elb') # use default client

return client.do_stuff(param1, param2)

def function2(param3, param4, client=None):
if client is None:
client = boto3.client('elb') # use default client

return client.do_different_stuff(param3, param4)

然后你可以这样调用它:

import boto3

client = boto3.client('elb')
stuff = function("a", "b", client=client)
different_stuff = function2("c", "d", client=client)

这是对在函数内实例化它的改进,因为您可以使用单个客户端进行多个操作,但您不必确保客户端存在于所有这些函数的可读范围内 - 您只需传递它即可作为参数。

关于python - 使用 boto 时,长时间运行的客户端对象是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51070229/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com