2015-07-01 12 views
15

Sto cercando l'esempio di codice Java nella pagina Getting Started (Authoring AWS Lambda Code in Java), ma sono bloccato come com.amazonaws.services.lambda.runtime pacakge sembra mancarepacchetto com.amazonaws.services.lambda.runtime non esiste in AWS Java SDK 1.10.2

Ecco il codice di esempio:

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); 
    } 
} 

che incontro lo stesso errore sia in Netbeans e attraverso la linea di comando (specificando AWS SDK sicurezza di argomento cp) dai primi due importazioni il codice:

pacchetto com.amazonaws.services.lambda.runtime non esiste

Nota importare altri pacchetti dallo SDK funziona bene, come per importazioni terzo e quarto dal codice precedente (importazioni S3 che ho messo in solo per testare).

Sto usando la versione 1.10.2 (aws-java-sdk-1.10.2.zip) della AWS Java SDK, scaricato da http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip

Eventuali indicazioni/suggerimenti sarebbe molto apprezzato. Grazie!

risposta

21

Entrambe le classi sono contenute nel jar aws-lambda-java-core, che viene distribuito separatamente dall'SDK AWS. Puoi scaricarlo da Maven Central al link qui sopra se non stai usando Maven/Gradle/qualche altro sistema di compilazione che può estrarre nativamente da Maven Central.

+0

Grazie David - Ho faticato a trovare il link per il download da AWS, ma sono riuscito a ottenerlo da Maven secondo i tuoi consigli e l'importazione non funziona! Saluti. – Arthur

1

Arthur,

È provando l'uso di Java codice di esempio da AWS Lambda per un altro prodotto Amazon AWS SDK For Java.

Si prega di leggere AWS Lambda benvenuto-page e forse dopo le fasi di (creare un account e altri) è possibile scaricare il pacchetto con le classi (contesto, LambdaLogger)

+0

Qui le risposte di solo collegamento sono altamente sconsigliate perché i collegamenti potrebbero diventare morti in futuro. Ti suggerisco di modificare la tua risposta con le virgolette delle fonti che citi. –

+0

@AnirudhSharma, OK, è fatto. – Baatr

+0

Grazie a Battr per aver chiarito la differenza tra la libreria AWS SDK e la libreria AWS Lambda. – Arthur

0

ho trovato com.amazonaws.services.lambda.runtime.LambdaLogger in: 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

Inoltre, questo è il pacchetto che è necessario includere se si desidera eseguire l'analisi delle funzioni Lamba dall'SDK delle competenze di Alexa per accedere a CloudWatch. – Nantoka

1
  1. Aggiungi plugin AWS entro eclisse dalla piazza del mercato, fanno AWS progetto lambda.
  2. Utilizzare meno di tre dipendenze per rendere il vaso grasso.

    <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>