Добавление триггера Cloudfront к лямбде с помощью CLI или SDK - PullRequest
0 голосов
/ 15 апреля 2020

Я вроде как пытаюсь добавить триггер Cloudfront Distribution для лямбды, но использую cli или sdk. Так далеко от моей цели я добавил триггер через консоль, создавая новую лямбду, используя план для «cloudfront-modify-response-header», и похоже, что он работает правильно, но я не смог получить информацию об этом триггере, используя Cli, который я пытался :

aws lambda get-policy --function-name myFunctionName --profile xxxx

но я получил политику только с чем-то вроде:

{
    "Policy": {
        "Version": "2012-10-17",
        "Id": "default",
        "Statement": [
            {
                "Sid": "replicator.lambda.GetFunction",
                "Effect": "Allow",
                "Principal": {
                    "Service": "replicator.lambda.amazonaws.com"
                },
                "Action": "lambda:GetFunction",
                "Resource": "arn:aws:lambda:us-east-1: 12345678912:function: myFunctionName: 1"
            }
        ]
    },
    "RevisionId": "b11abfc7-79a7-489e-9bf7-d501234567899"
}

Где находится DistributionID, тип события и другие свойства, которые я вижу в AWS Консоль?

С уважением,

1 Ответ

1 голос
/ 15 апреля 2020

API-вызов get-distribution для cloudfront содержит информацию о триггерах для lambda@edge:

Specifies the event type that triggers a Lambda function invocation. You can specify the following values:

    viewer-request : The function executes when CloudFront receives a request from a viewer and before it checks to see whether the requested object is in the edge cache.
    origin-request : The function executes only when CloudFront forwards a request to your origin. When the requested object is in the edge cache, the function doesn't execute.
    origin-response : The function executes after CloudFront receives a response from the origin and before it caches the object in the response. When the requested object is in the edge cache, the function doesn't execute.
    viewer-response : The function executes before CloudFront returns the requested object to the viewer. The function executes regardless of whether the object was already in the edge cache. If the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.
...