【问题标题】:How can I create and manage a Lambda Function from Python Script?如何从 Python 脚本创建和管理 Lambda 函数?
【发布时间】:2020-07-19 23:48:07
【问题描述】:

我想通过 Python 脚本管理我的 AWS Lambda 函数,而无需使用 AWS 网站控制台。这个想法是能够快速将我的应用程序对象(表、函数等)重新创建/迁移/设置到新的 AWS 云账户或区域中。

使用 DynamoDB 表很容易做到这一点,例如:

import boto3
resource = boto3.resource(service_name='dynamodb', region_name='region', ...)
resource.create_table(
                TableName='table_name',
                KeySchema=[...],
                AttributeDefinitions={...},
                ProvisionedThroughput={...}
            )

完成!我刚刚从 Python 脚本创建了一个新的 DynamoDB 表。我怎样才能对 Lambda 函数做同样的事情?说...创建一个新功能,配置“功能名称”和“运行时”,也许设置一个“角色”并从文件上传脚本。那真的很有帮助。

提前致谢。

【问题讨论】:

    标签: python python-3.x amazon-web-services aws-lambda build-automation


    【解决方案1】:

    要使用 boto3 创建 lambda 函数,您可以使用 create_function

    AWS docs 还提供了如何使用create_function 的示例:

    response = client.create_function(
        Code={
            'S3Bucket': 'my-bucket-1xpuxmplzrlbh',
            'S3Key': 'function.zip',
        },
        Description='Process image objects from Amazon S3.',
        Environment={
            'Variables': {
                'BUCKET': 'my-bucket-1xpuxmplzrlbh',
                'PREFIX': 'inbound',
            },
        },
        FunctionName='my-function',
        Handler='index.handler',
        KMSKeyArn='arn:aws:kms:us-west-2:123456789012:key/b0844d6c-xmpl-4463-97a4-d49f50839966',
        MemorySize=256,
        Publish=True,
        Role='arn:aws:iam::123456789012:role/lambda-role',
        Runtime='nodejs12.x',
        Tags={
            'DEPARTMENT': 'Assets',
        },
        Timeout=15,
        TracingConfig={
            'Mode': 'Active',
        },
    )
    
    print(response)
    

    【讨论】:

    • 已解决。谢谢!
    • 我在 GitHub 上放了一个完整的示例,在上下文中显示了这一点以及其他一些 Boto3 Lambda 函数,请查看:(aws-doc-sdk-examples)[github.com/awsdocs/aws-doc-sdk-examples/blob/….
    • @LarenCrawford 感谢您告诉我 :-)
    猜你喜欢
    • 2019-06-11
    • 1970-01-01
    • 2021-12-03
    • 1970-01-01
    • 2020-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多