Don212 :
나는 공통가 만든 SDK에 함수 호출을 실행 기능을 만들려고 해요
FUNC : 이 SDK 기능은 내 첫 번째 매개 변수로 전달되고 함수 자체는 편집 할 수 없습니다
요청 : 이 모든 최종 지점이 기대를 생성하는 객체이다
: 인수를 전달 SDK 기능에 따라 달라집니다 매개 변수 목록을
SDK 기능 서명
def create_a(self, create_type_a_details):
def create_b(self, extra_val_one create_type_b_details):
def create_c(self, extra_val_one, extra_val_two, create_type_c_details):
현재 구현
def create_resource(func, request, *args):
try:
if len(args) == 1:
response = func(args[0], request)
elif len(args) == 2:
response = func(args[0], args[1], request)
else:
response = func(request)
return response.data
except ServiceError as e:
log.error("Failed create operation {message}".format(message=e.message))
raise e
나는 분명한 이유 위의 솔루션을 좋아하지 않는다. 또 다른 SDK는 요청 개체 전에 세 번째 매개 변수를 사용하는 함수를 만드는이 있다면, 나는 새로운 ELIF를 추가해야합니다.
내가 값을 추출하기 위해 SDK 기능을 편집하지 않고 매개 변수의 동적 세트와 SDK 함수를 호출 할 수있는 방법이 있나요? 나는 함수 호출의 람 바어의 내부를 사용할 수 있습니까?
감사 Donagh
azro :
당신은 확장 할 수 있습니다 args
다른 매개 변수로 각 요소를 제공하기 위해 :
def create_resource(func, request, *args):
response = func(*args, request)
return response.data