AWS DataSync Lambda自动化

时间:2019-08-13 18:13:26

标签: python aws-lambda aws-datasync

我正在跨不同区域针对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代码上遇到错误。有什么可以帮我纠正上面的代码吗?

2 个答案:

答案 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')