AWS Lambda를 사용하여 크기가 조정 된 이미지를 생성 할 수 없음

shubhamagiwal92

s3 버킷에있는 이미지의 크기를 조정하는 AWS Lambda 함수를 생성했습니다. Lambda 함수가 트리거 할 s3 버킷의 모든 객체 생성에 대한 이벤트를 생성했습니다. Lambda에 대한 내 핸들러 코드는 다음과 같습니다.

var async = require('async'),
    gm = require('gm').subClass({
    imageMagick: true
}) // Enable ImageMagick integration.
, request = require('request').defaults({
    encoding: null
});

var knox = require('knox');
var client = knox.createClient({
key: 'myKey',
secret: 'mySecretKey',
bucket: 'MyBucketName'
});


//hardcoded Value to get the Image url
var s3value = '.s3.amazonaws.com/';
var https = 'https://'

exports.handler = function (event, context) {
var srcBucket = event.Records[0].s3.bucket.name;
var srcKey = event.Records[0].s3.object.key;
var imageUrl = https + srcBucket + s3value + srcKey //My Http Url for image stored in s3 bucket.
request(imageUrl, function (err, res, res1) {
    if (err) {
        console.log(err);
    } else {
        gm(res1).resize(120)
            .toBuffer('jpg', function (err, buffer) {
                if (err) {
                    console.log(err);
                } else {
                    var ImageName = "/" + imageUrl.substr(0, imageUrl.indexOf(".")) + "-1x" + imageUrl.substr(imageUrl.indexOf("."), imageUrl.length); //Renaming the present image
                    client.putBuffer(buffer, ImageName, function (err, response1) {
                        if (err) {
                            console.log(err);
                        } else {
                            console.log(response1.socket._httpMessage.url);
                        }
                    });
                }
            });
    }
});
context.done();
}

내 문제는 S3에 이미지를 저장할 때 크기가 조정 된 이미지가 내 s3 버킷에 생성되지 않는다는 것입니다. 동일한 s3 버킷에서 크기가 조정 된 이미지를 생성 할 수없는 이유를 이해할 수 없습니다. 누군가 나를 도울 수 있습니까?

제임스

context.done()대한 콜백 함수 외부에서 호출하는 것 같습니다 request(). 이렇게하면 이미지 크기 조정이 완료되기 전에 Lambda 함수가 종료됩니다. context.done()모든 처리가 완료되거나 실패한 경우 에만 호출해야합니다 .

exports.handler = function (event, context) {
    var srcBucket = event.Records[0].s3.bucket.name;
    var srcKey = event.Records[0].s3.object.key;
    var imageUrl = https + srcBucket + s3value + srcKey //My Http Url for image stored in s3 bucket.
    request(imageUrl, function (err, res, res1) {
        if (err) {
            console.log(err);
            context.fail(err);
        } else {
            gm(res1).resize(120)
                .toBuffer('jpg', function (err, buffer) {
                    if (err) {
                        console.log(err);
                        context.fail(err);
                    } else {
                        var ImageName = "/" + imageUrl.substr(0, imageUrl.indexOf(".")) + "-1x" + imageUrl.substr(imageUrl.indexOf("."), imageUrl.length); //Renaming the present image
                        client.putBuffer(buffer, ImageName, function (err, response1) {
                            if (err) {
                                console.log(err);
                                context.fail(err);
                            } else {
                                console.log(response1.socket._httpMessage.url);
                                context.succeed("It worked");
                            }
                        });
                    }
                });
        }
    });
    // Don't call context.done() here, the callback hasn't run yet
    //context.done();
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

cloudformation을 사용하여 AWS ServiceCatalogProduct를 생성 할 수 없음

분류에서Dev

NAT를 사용하여 생성 된 Virtualbox를 ping 할 수 없음

분류에서Dev

c ++-생성자를 사용하여 초기화 할 수 없음

분류에서Dev

Java Sdk를 사용하여 Aws Emr 클러스터를 생성 할 수 없음

분류에서Dev

Bootstrap Carousel에서 이미지 크기를 조정할 수 없음

분류에서Dev

Android Studio를 사용하여 서명 된 .apk를 생성 할 수 없음

분류에서Dev

이미지를 정확하게 지정된 크기로 업로드 할 수 없음

분류에서Dev

정규화 된 이미지 링크를 만들기 위해 이미지 ID를 사용할 수 없습니다.

분류에서Dev

Kineticjs-크기 조정 된 이미지를 제어 할 수 없습니다.

분류에서Dev

AWSLambdaFullAccess 정책이있는 사용자 지정 역할 HR로 Lambda 함수를 생성 할 수 없음

분류에서Dev

AWS CloudFormation : ElasticCache를 생성 할 수 없음

분류에서Dev

기본 jquery 슬라이더 이미지 크기를 조정할 수 없음

분류에서Dev

기본 jquery 슬라이더 이미지 크기를 조정할 수 없음

분류에서Dev

kubernetes를 사용하여 AWS EC2 인스턴스에서 로컬로 생성 된 포드와 통신 할 수 없음

분류에서Dev

sls를 사용하여 로컬에서 AWS Lambda를 호출 할 수 없음

분류에서Dev

수동 밉맵 생성이 내가 지정한 크기로 이미지를 할당하지 않습니다.

분류에서Dev

AWS CDK 애플리케이션에서 이미 생성 된 aws lambda 함수를 "참조"하는 방법은 무엇입니까 (스택에 새 함수를 생성하지 않음)?

분류에서Dev

AWS CloudFormation : 할당 된 VPC로 RDS 리소스를 생성 할 수 없음

분류에서Dev

PowerMock을 사용하여 생성자를 모의 할 수 없음

분류에서Dev

스크롤하여 이미지 크기를 조정하고 싶습니다. 그러나 내 기능이 잘못된 것 같습니다. 조건이 맞으면 사용할 수 없습니다.

분류에서Dev

Windows 크기 조정이 활성화 된 경우 요소를 중앙에 배치 할 수 없음 (125 %)

분류에서Dev

R 데이터 프레임에서 조건에 새로 생성 된 변수를 사용하여 다른 변수를 생성 할 수없는 이유

분류에서Dev

Powershell 5.1 : Get-Unique를 사용하여 추출 된 XML 속성 이름을 정렬 할 수 없음

분류에서Dev

ffmpeg를 사용하여 gif를 만들 수 없음 : gif를 생성하지만 재생할 수 없음

분류에서Dev

FlowTextView를 사용하여 텍스트 크기를 설정할 수 없음

분류에서Dev

Applescript를 사용하여 창 크기를 조정할 수 없습니다.

분류에서Dev

Visual Studio Code / Git : 생성 된 분기를 푸시 할 수 없음

분류에서Dev

Sharp를 사용하여 크기 조정 된 이미지의 정확한 치수 얻기

분류에서Dev

CoerceUnsized를 사용하여 크기가 지정되지 않은 유형으로 중첩 된 크기를 강제 할 수 없습니다.

Related 관련 기사

  1. 1

    cloudformation을 사용하여 AWS ServiceCatalogProduct를 생성 할 수 없음

  2. 2

    NAT를 사용하여 생성 된 Virtualbox를 ping 할 수 없음

  3. 3

    c ++-생성자를 사용하여 초기화 할 수 없음

  4. 4

    Java Sdk를 사용하여 Aws Emr 클러스터를 생성 할 수 없음

  5. 5

    Bootstrap Carousel에서 이미지 크기를 조정할 수 없음

  6. 6

    Android Studio를 사용하여 서명 된 .apk를 생성 할 수 없음

  7. 7

    이미지를 정확하게 지정된 크기로 업로드 할 수 없음

  8. 8

    정규화 된 이미지 링크를 만들기 위해 이미지 ID를 사용할 수 없습니다.

  9. 9

    Kineticjs-크기 조정 된 이미지를 제어 할 수 없습니다.

  10. 10

    AWSLambdaFullAccess 정책이있는 사용자 지정 역할 HR로 Lambda 함수를 생성 할 수 없음

  11. 11

    AWS CloudFormation : ElasticCache를 생성 할 수 없음

  12. 12

    기본 jquery 슬라이더 이미지 크기를 조정할 수 없음

  13. 13

    기본 jquery 슬라이더 이미지 크기를 조정할 수 없음

  14. 14

    kubernetes를 사용하여 AWS EC2 인스턴스에서 로컬로 생성 된 포드와 통신 할 수 없음

  15. 15

    sls를 사용하여 로컬에서 AWS Lambda를 호출 할 수 없음

  16. 16

    수동 밉맵 생성이 내가 지정한 크기로 이미지를 할당하지 않습니다.

  17. 17

    AWS CDK 애플리케이션에서 이미 생성 된 aws lambda 함수를 "참조"하는 방법은 무엇입니까 (스택에 새 함수를 생성하지 않음)?

  18. 18

    AWS CloudFormation : 할당 된 VPC로 RDS 리소스를 생성 할 수 없음

  19. 19

    PowerMock을 사용하여 생성자를 모의 할 수 없음

  20. 20

    스크롤하여 이미지 크기를 조정하고 싶습니다. 그러나 내 기능이 잘못된 것 같습니다. 조건이 맞으면 사용할 수 없습니다.

  21. 21

    Windows 크기 조정이 활성화 된 경우 요소를 중앙에 배치 할 수 없음 (125 %)

  22. 22

    R 데이터 프레임에서 조건에 새로 생성 된 변수를 사용하여 다른 변수를 생성 할 수없는 이유

  23. 23

    Powershell 5.1 : Get-Unique를 사용하여 추출 된 XML 속성 이름을 정렬 할 수 없음

  24. 24

    ffmpeg를 사용하여 gif를 만들 수 없음 : gif를 생성하지만 재생할 수 없음

  25. 25

    FlowTextView를 사용하여 텍스트 크기를 설정할 수 없음

  26. 26

    Applescript를 사용하여 창 크기를 조정할 수 없습니다.

  27. 27

    Visual Studio Code / Git : 생성 된 분기를 푸시 할 수 없음

  28. 28

    Sharp를 사용하여 크기 조정 된 이미지의 정확한 치수 얻기

  29. 29

    CoerceUnsized를 사용하여 크기가 지정되지 않은 유형으로 중첩 된 크기를 강제 할 수 없습니다.

뜨겁다태그

보관