如何通过java访问AWS API端点
我是AWS的初学者,在连接AWSAPI端点方面我没有明确的观点。 我无法从java客户端访问AWS API端点。每次都失败了如何通过java访问AWS API端点,java,web-services,amazon-web-services,aws-lambda,endpoints,Java,Web Services,Amazon Web Services,Aws Lambda,Endpoints,我是AWS的初学者,在连接AWSAPI端点方面我没有明确的观点。 我无法从java客户端访问AWS API端点。每次都失败了 我可以知道它为什么无法连接吗? 我可以参考任何源代码吗? public interface LamdaInterface { @LambdaFunction(functionName="GetCategoryAction") public List<LamdaOutput> getAllCategory(LamdaInput input);
- 我可以知道它为什么无法连接吗?
- 我可以参考任何源代码吗?
尽管我试图从浏览器连接,但还是失败了。它是GET请求,所以我不需要传递任何请求参数public interface LamdaInterface { @LambdaFunction(functionName="GetCategoryAction") public List<LamdaOutput> getAllCategory(LamdaInput input); } public class LamdaTest { public static void main(String[] args) { AWSCredentials credentails = new AWSCredentials() { @Override public String getAWSSecretKey() { // my aws secret key return "xxxx"; } @Override public String getAWSAccessKeyId() { // my aws access key Id return "xxx"; } }; AWSLambdaClient lambda = new AWSLambdaClient(credentails); lambda.configureRegion(Regions.AP_NORTHEAST_1); lambda.setEndpoint("https://xxx.execute-api.ap-northeast-1.amazonaws.com/prod/listall"); LamdaInterface service = LambdaInvokerFactory.build(LamdaInterface.class, lambda); System.out.println("Calling..."); List<LamdaOutput> list = service.getAllCategory(new LamdaInput()); System.out.println("list : " + list); for (LamdaOutput l : list) { System.out.println("Name : " + l.getName()); } } }
https://xxx.execute-api.ap-northeast-1.amazonaws.com/prod/listall Error is : **{"message":"Missing Authentication Token"}**
看起来您正试图在设置为端点的URL处调用lambda函数。端点是API客户端发送其API调用的地方。它与浏览以调用lambda的位置无关。此处列出了有效的lambda端点:。顺便说一句,您应该设置端点,或者调用
/setRegion
,但不能同时调用两者 要调用lambda,请使用上的configureRegion
API调用或AWS CLI(invoke()
) 如果您希望将lambda作为API在web上进行访问,您可能需要查看amazonapi网关服务AWS lambda invoke--function name GetCategoryAction
https://xxx.execute-api.ap-northeast-1.amazonaws.com/prod/listall Error is : **{"message":"Missing Authentication Token"}**