我正在跨不同区域针对EFS-EFS自动执行AWS Datasync任务执行。我已经在python中编写了一个lambda代码,并希望通过CloudWatch事件cron表达式开始执行datasync任务。
import boto3
client = boto3.client('datasync', region_name='us-west-2')
def lambda_handler(event,context):
response = client.start_task_execution(
TaskArn='arn:aws:datasync:us-west-2:7777777777:task/task-0ede5d4rd8a63338dfd8',
OverrideOptions={
'VerifyMode': 'POINT_IN_TIME_CONSISTENT'|'NONE',
'Atime': 'NONE'|'BEST_EFFORT',
'Mtime': 'NONE'|'PRESERVE',
'Uid': 'NONE'|'INT_VALUE'|'NAME'|'BOTH',
'Gid': 'NONE'|'INT_VALUE'|'NAME'|'BOTH',
'PreserveDeletedFiles': 'PRESERVE'|'REMOVE',
'PreserveDevices': 'NONE'|'PRESERVE',
'PosixPermissions': 'NONE'|'BEST_EFFORT'|'PRESERVE',
'BytesPerSecond': 123
},
)
我在上面的python中的lambda代码上遇到错误。有什么可以帮我纠正上面的代码吗?
答案 0 :(得分:0)
Datasync不再可用作boto3的资源;它本身就是一种服务。您可以使用CLi或控制台使用数据同步来执行迁移
答案 1 :(得分:0)
我知道这是一个旧线程,但我有类似的需求,最终在我的 lambda 中使用以下代码来触发数据同步任务运行。我正在使用 S3 触发器来启动 Lambda,这样当我将文件添加到我的存储桶时,它会启动数据同步到 Datasync 中的预配置任务。
import boto3
client = boto3.client('datasync', region_name='us-east-1')
def lambda_handler(event,context):
response = client.start_task_execution(TaskArn='inserttaskarnhere')