我有一个可以为None或String的参数。如果它为None,则我不能将其作为参数传递,因为该库不支持None值或空字符串。该库也不接受字典作为输入。另一方面,我真的不想写出这么恐怖的替代品!
if lifecycle_policy_name:
response = client.create_notebook_instance(
NotebookInstanceName=NotebookInstanceName,
InstanceType=InstanceType,
SubnetId=SubnetId,
SecurityGroupIds=SecurityGroupIds,
RoleArn=RoleArn,
Tags=Tags,
DirectInternetAccess='Disabled',
VolumeSizeInGB=10,
RootAccess='Disabled',
KmsKeyId=kms_key.get('KeyId'),
LifecycleConfigName=lifecycle_policy_name
)
else:
response = client.create_notebook_instance(
NotebookInstanceName=NotebookInstanceName,
InstanceType=InstanceType,
SubnetId=SubnetId,
SecurityGroupIds=SecurityGroupIds,
RoleArn=RoleArn,
Tags=Tags,
DirectInternetAccess='Disabled',
VolumeSizeInGB=10,
RootAccess='Disabled',
KmsKeyId=kms_key.get('KeyId'),
)
因此,您可以猜测,这就是所谓的Boto3 API。
您可以尝试使用关键字参数扩展:
kwargs = dict(
NotebookInstanceName=NotebookInstanceName,
InstanceType=InstanceType,
SubnetId=SubnetId,
SecurityGroupIds=SecurityGroupIds,
RoleArn=RoleArn,
Tags=Tags,
DirectInternetAccess='Disabled',
VolumeSizeInGB=10,
RootAccess='Disabled',
KmsKeyId=kms_key.get('KeyId'),
)
if lifecycle_policy_name:
kwargs["LifecycleConfigName"] = lifecycle_policy_name
response = client.create_notebook_instance(
**kwargs
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句