2015-07-01 32 views
15

staram przykładowy kod Java na stronie Getting Started (Authoring AWS Lambda Code in Java), ale jestem przebijał jako com.amazonaws.services.lambda.runtime pacakge wydaje się, że brakujepakiet com.amazonaws.services.lambda.runtime nie istnieje w AWS Java SDK 1.10.2

Oto przykładowy kod:

package example; 

import com.amazonaws.services.lambda.runtime.Context;  //package does not exist error 
import com.amazonaws.services.lambda.runtime.LambdaLogger; // package does not exist error 
import com.amazonaws.services.s3.AmazonS3;  // import works (not needed, I've put them in for testing import) 
import com.amazonaws.services.s3.model.S3Object; // import works (not needed, I've put them in for testing import) 

public class Hello { 
    public String myHandler(int myCount, Context context) { 
     LambdaLogger logger = context.getLogger(); 
     logger.log("received : " + myCount); 
     return String.valueOf(myCount); 
    } 
} 

ja spotkać ten sam błąd zarówno w Netbeans i poprzez linię poleceń (określając AWS SDK thorugh Cp argumentu) z dwóch pierwszych importu kod:

pakiet com.amazonaws.services.lambda.runtime nie istnieje

Uwaga importowania inne pakiety SDK działa dobrze, a za trzecie i czwarte importu z powyższego kodu (import s3 który kładę w tylko do testowania).

używam wersji 1.10.2 (aws-java-sdk-1.10.2.zip) z AWS Java SDK, pobranego od http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip

Wszelkie wskazówki/sugestie będą mile widziane. Dzięki!

Odpowiedz

21

Obie te klasy znajdują się w słoju aws-lambda-java-core, który jest dystrybuowany oddzielnie od pakietu SDK AWS. Możesz pobrać go z maven central na powyższym linku, jeśli nie używasz maven/gradle/jakiegoś innego systemu kompilacji, który może natywnie wyciągnąć z maven central.

+0

Dzięki David - Próbowałem znaleźć link do pobrania z AWS, ale udało mi się go zdobyć od Mavena zgodnie z twoją radą, a import nie działa! Twoje zdrowie. – Arthur

1

Artur

Próbujesz stosowanie java przykładowy kod z AWS Lambda dla innego produktu Amazon AWS SDK For Java.

Proszę przeczytać AWS Lambda powitalny stronie i może po etapów (Utwórz konto i inni) Można pobrać pakiet ze swoimi klasami (kontekście LambdaLogger)

+0

Odpowiedzi dotyczące wyłącznie linków są bardzo odradzane, ponieważ linki mogą w przyszłości zostać utracone. Proponuję edytować swoją odpowiedź za pomocą cytatów ze źródeł, które cytujesz. –

+0

@AirirudhSharma, OK, gotowe. – Baatr

+0

Dzięki Battr za wyjaśnienie różnicy między biblioteką AWS SDK i biblioteką AWS Lambda. – Arthur

0

znalazłem com.amazonaws.services.lambda.runtime.LambdaLogger w: https://mvnrepository.com/artifact/com.amazonaws/aws-lambda-java-log4j/1.0.0

<dependency> 
    <groupId>com.amazonaws</groupId> 
    <artifactId>aws-lambda-java-log4j</artifactId> 
    <version>1.0.0</version> 
</dependency> 
+0

Ponadto, jest to pakiet, który należy dołączyć, jeśli chcesz, aby przykładowe funkcje Lamba z zestawu umiejętności umiejętności Alexa były logowane do CloudWatch. – Nantoka

1
  1. Dodaj wtyczek AWS ciągu zaćmienia z rynku, należy AWS projekt lambda.
  2. Użyj poniżej trzech zależności, aby utworzyć słoik.

    <dependency> 
        <groupId>com.amazonaws</groupId> 
        <artifactId>aws-java-sdk-lambda</artifactId> 
        <version>1.11.76</version> 
    </dependency> 
    <dependency> 
        <groupId>com.amazonaws</groupId> 
        <artifactId>aws-lambda-java-core</artifactId> 
        <version>1.1.0</version> 
    </dependency> 
    <dependency> 
        <groupId>com.amazonaws</groupId> 
        <artifactId>aws-lambda-java-events</artifactId> 
        <version>1.3.0</version> 
    </dependency>