Python Lambda函数问题:参数的类型无效
我正在用Python编写AWS Lambda函数,但遇到了一个问题。以下是相关代码:Python Lambda函数问题:参数的类型无效,python,aws-lambda,Python,Aws Lambda,我正在用Python编写AWS Lambda函数,但遇到了一个问题。以下是相关代码: containerInstances = listContainerInstances['containerInstanceArns'][j] containerInstancesDetails = ecs.describe_container_instances(cluster=cluster, containerInstances=containerInstances) 我得到以下错误: Invalid
containerInstances = listContainerInstances['containerInstanceArns'][j]
containerInstancesDetails = ecs.describe_container_instances(cluster=cluster, containerInstances=containerInstances)
我得到以下错误:
Invalid type for parameter containerInstances, value: arn:aws:ecs:eu-west-1:11111111111:container-instance/11111111-1111-1111-1111-111111111111, type: <type 'unicode'>, valid types: <type 'list'>, <type 'tuple'>: ParamValidationError
有人知道这个问题是如何解决的吗?我需要从unicode转换到list吗?如果是,怎么做?我试了几件没用的东西
请提供建议。我不知道AWS Lambda,但给出@scirocorics的提示,并假设它的工作方式与您期望的Python工作方式相同,您所需要做的就是确保containerInstances是一个列表:
containerInstances = [listContainerInstances['containerInstanceArns'][j]]
应该这样做。如果删除第一行的最后一个[j],会发生什么?根据错误消息,containerInstances应该是元组或列表,但您只在索引“j”处拾取一项,而不是整个列表。我将获取整个列表,而我只需要其中一项的结果。我能够在CLI中使用这个特定的命令,这给了我预期的结果。请看这里:看他们的例子。然而,同样的命令在他们的SDK中不起作用,因为SDK需要一个郁金香或列表。看这里:。太棒了!很简单:-