Python 3.x AWS SSM Python/Boto3创建混合激活过期日期类型错误
我正在尝试为多个部门创建AWS SSM混合激活。我的IDE告诉我datetime不可调用,我收到的错误消息是:Python 3.x AWS SSM Python/Boto3创建混合激活过期日期类型错误,python-3.x,amazon-web-services,boto3,amazon-systems-manager,Python 3.x,Amazon Web Services,Boto3,Amazon Systems Manager,我正在尝试为多个部门创建AWS SSM混合激活。我的IDE告诉我datetime不可调用,我收到的错误消息是: Traceback (most recent call last): File "C:\Users\username\bin\Create-Activation.py", line 23, in <module> ExpirationDate = datetime(y, m, d), TypeError: 'module' object is
Traceback (most recent call last):
File "C:\Users\username\bin\Create-Activation.py", line 23, in <module>
ExpirationDate = datetime(y, m, d),
TypeError: 'module' object is not callable
使用
from datetime import datetime
而不是import datetime
。
Datetime模块本身不可调用,但您可以调用其属性
Datetime
您可以使用dir()函数列出Datetime模块的所有属性<代码>打印(dir(datetime))谢谢您的更新。这是我在使用datetime import datetime中的回溯(最近一次调用)后得到的:文件“C:\Users\jmoorhead\bin\Create Activation.py”,第7行,当前日期=datetime.date.today()AttributeError:“method\u descriptor”对象没有属性“today”
使用当前日期=datetime.today()
。正如我提到的,使用dir()检查对象的属性。最后,我使用了来自datetime import datetime的、timedelta
,并修改了几个变量。print(dir(datetime))
在这方面非常有用。很乐意帮助@jmoorhead:)
import boto3
import datetime
client = boto3.client('ssm')
current_date = datetime.date.today()
creation_date = current_date.strftime('%Y%m%d')
end_date = current_date + datetime.timedelta(days=30)
y = end_date.year
m = end_date.month
d = end_date.day
divisions = ['div1', 'div2', 'div3']
#def lambda_handler(event, context):
for x in divisions:
client.create_activation(
Description = (x + '-' + 'creation_date'),
#DefaultInstanceName = 'string',
IamRole = 'MySSMServiceRole',
RegistrationLimit = 200,
ExpirationDate = datetime(y, m, d),
Tags=[
{
'Key': 'Division',
'Value': x
},
]
)
print('\n ' + x + '-creation_date was create.')