J'essaie l'exemple de code Java dans la page Mise en route (Création de code AWS Lambda en Java) , mais je suis bloqué sous le nom com.amazonaws.services.lambda.runtime pacakge semble être manquant.
Voici l exemple de code:
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);
}
}
Je rencontre la même erreur à la fois dans Netbeans et via la ligne de commande (spécifiant l'argument aws sdk thorugh -cp) des deux premières importations du code:
le package com.amazonaws.services.lambda.runtime n'existe pas
Notez que l'importation d'autres packages à partir du SDK fonctionne correctement, comme le sont les troisième et quatrième importations à partir du code ci-dessus (les importations s3 que j'ai simplement mises à l'essai).
J'utilise la version 1.10.2 (aws-Java-sdk-1.10.2.Zip) du kit de développement logiciel AWS Java SDK, téléchargée à partir de http://sdk-for-Java.amazonwebservices.com/latest/ aws-Java-sdk.Zip
Toutes les directions/suggestions seraient très appréciées. Merci!
Ces deux classes sont contenues dans le fichier jar aws-lambda-Java-core , qui est distribué séparément du kit AWS SDK. Vous pouvez le télécharger à partir du lien ci-dessus à partir de maven central si vous n’utilisez pas maven/gradle/un autre système de compilation pouvant tirer nativement de maven central.
Utilisez ci-dessous trois dépendances pour faire un pot de graisse.
<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>
Après quelques recherches, j'ai trouvé com.amazonaws.services.lambda.runtime.Context dans http://mvnrepository.com/artifact/com.amazonaws/aws-lambda-Java-core/1.1.0 . (Je préfère ce site à search.maven.org. Mvnrepository.com va droit au cœur de mon problème en fournissant la ligne de construction sbt.)
La classe ne figure pas dans aws-Java-sdk-lambda, pas plus que dans aws-Java-sdk-core ou aws-Java-sdk.
Arthur
Vous essayez d'utiliser un exemple de code Java de AWS Lambda pour un autre produit Amazon AWS SDK For Java .
Veuillez lire la page d'accueil AWS Lambda et peut-être qu'après les étapes pour (créer un compte et autres), vous pouvez télécharger le package avec vos classes (Context, LambdaLogger)
J'ai trouvé com.amazonaws.services.lambda.runtime.LambdaLogger dans: 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>
Pour ceux qui utilisent sbt:
libraryDependencies ++= Seq(
"com.amazonaws" % "aws-Java-sdk" % "1.11.241",
"com.amazonaws" % "aws-lambda-Java-core" % "1.2.0"
)
Vérifiez les liens pour la dernière version: