AWS rest api support - amazon-web-services

I am working on AWS cloud platform. My application is written in Java. My task is to get secret stored in secrets manager. I have implemented this in AWS java version 2. But it has many jar dependencies around 20 jars. I would like to know is there any support for rest api by AWS?

Related

Is there a REST API available for SageMaker, or is it possible to interact with SageMaker over the Amazon API Gateway?

SageMaker provides a full machine learning development environment on AWS. It works with the Amazon SageMaker Python SDK, which allows Jupyter Notebooks to interact with the functionality. This also provides the path to using the Amazon SageMaker Feature Store.
Is there any REST API available for SageMaker? Say one wanted to create their own custom UI, but still use SageMaker features, is this possible?
Can it be done using the Amazon API Gateway?
Amazon API Gateway currently does not provide first-class integration for SageMaker. But you can use these services via AWS SDK. If you wish, you can embed the AWS SDK calls into a service, host on AWS (e.g. running on EC2 or as lambda functions) and use API gateway to expose your REST API.
Actually, SageMaker is not fundamentally different from any other AWS service from this aspect.
I think you're better off wrapping the functionalities you need as an API you own to avoid the timeouts associated with REST. Did you check out https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html as well?

Building an API on Google Cloud Platform

I'm building an app and the idea is to go serverless.
I'm looking mainly at AWS and GCP (Google Cloud Platform), and as AWS costs are a bit obscure (at least for me), and there is no way to ensure not being billed, I'm going with GCP.
For the "server" part of the app, I would like to build an API on GCP as I could do with AWS API Gateway, but I couldn't find any matching product for that.
The closer one was Google Cloud Endpoint, but it seems to have a very different concept from AWS API Gateway. I've watched some videos about it (for example https://www.youtube.com/watch?v=bR9hEyZ9774), but still can't get the idea behind it or if it fits my needs.
Could someone please help clarify which GCP product would be suitable for creating an API and how it compares to AWS API Gateway?
Some link with info/example on how to do it would be really appreciated.
Google Product Manager here.
We don't have an exact analog for AWS API Gateway.
You're right about Cloud Endpoints. It's a bit of a different architecture than AWS uses -- it's a sidecar proxy that gets deployed with the backend. That's different than API Gateway, which is a fully managed proxy deployed in front of your backends.
If you are deploying in App Engine Flexible environments: good news! The Endpoints Proxy can be deployed as part of your deployment. It can do things similar to AWS API Gateway (API key validation, JWT validation, rate limiting).
We are working on some plans to allow for the proxy to be used in other places (Cloud Functions and the newer App Engine Standard runtimes).
And, finally: on our older App Engine Java and Python runtimes, we have API Frameworks that provide the same functionality. Those frameworks do the same thing as the proxy, but get expressed as code annotations and built into your app. We're moving away from the framework model in favor of the proxy model.
An example of springboot project with google cloud app engine can be found here-https://github.com/ashishkeshu/googlecloud-springboot

AWS Amplify/CLI vs AWS mobile hub

I'm new with AWS mobile hub and today I just notice there is a new AWS Amplify/CL, now I'm super confused with these two libs.
My understanding was AWS mobile cli is a tool that create aws backend service, and amplify js just client library that hook up with the aws backend.
But now I see this AWS Amplify/CLI, it also can create aws service and also creates the aws-exports.js file, and now AWS Amplify docs has changed, it no longer tell you how would it works with mobile hub, instead use Amplify/CLI to create services.
Dose it mean I should use AWS Amplify/CLI instead?
Use the Amplify CLI going forward, it's more flexible architecture that allows a comprehensive feature set. See the information in this post:
Existing Mobile Hub projects continue to work without requiring any app changes. If you’re using the AWS Mobile CLI for existing projects, you can also continue to use that older CLI. However, going forward, new features will be added to the AWS Amplify CLI toolchain which does not use Mobile Hub.
If you’re building a new mobile or web app, or adding cloud capabilities to brownfield apps, use the new AWS Amplify CLI. The new Amplify CLI will allow you to take advantage of all the new features outlined in this blog, as well as the rich CloudFormation functionality to unlock more workflows and future tooling.
Section: Existing tooling, https://aws.amazon.com/blogs/mobile/announcing-the-aws-amplify-cli-toolchain/
For current Mobile Hub users, we just released a Mobile Hub to Amplify CLI migrator that you can access here: https://github.com/awslabs/amplify-mobilehub-migrator. This will help you import your Mobile Hub resources into an Amplify project, give you an exports file, and allow you to leverage Amplify CLI features such as GraphQL APIs, Codegen, and the GraphQL Transform.
Update - AWS Mobile Hub will be replaced by AWS Amplify on October 30, 2021. Existing users should plan a migration strategy. For apps already deployed with Mobile Hub, resources created by Mobile Hub will continue to function.
"If you don't migrate your project to Amplify, your app will continue to function, and all your related cloud resources will continue to be available. However, you won't be able to access the Mobile Hub project container after October 15, 2021." - https://docs.aws.amazon.com/aws-mobile/latest/developerguide/what-is-aws-mobile.html#migrate-to-amplify

CodeName one with Amazon Web Services Integration

I would like to add Amazon services to my CodeName one App, I have downloaded java-SDK from Amazon and added a library to my App. Everything working properly in simulator once I gave Android build.
If I try to access Amazon AWS in my android app I'm getting an error like "NoClassDefFoundError".
Here my question is CodeName one supports Amazon AWS or not.
If Codename One supports integration with Amazon AWS then how can I integrate and use below AWS services
Amazon Cognito,
Amazon Cognito Sync,
Amazon API Gateway,
Amazon DynamoDB,
AWS Device Farm,
Amazon SNS(Simple Notification Service),
Amazon Analytics.
You can't just add an arbitrary JAR to Codename One, because we don't support all the features of Java SE as explained here.
There are two ways in which you can support Amazon and you can see samples of both approaches in the libraries section of Codename One.
Wrap the native Android/iOS libraries - there is a long tutorial for this here and in the developer guide.
Wrap the webservice/JSON API's which is a better approach in many regards as it is 100% portable and will bring you into platforms like UWP, Desktop, Web etc. This is the approach taken by parse4cn1.
Option 2 is superior for solutions like AWS as it's much easier to debug and doesn't require any native code etc. Ideally we'd love to have a proper AWS cn1lib similarly to the parse cn1lib.

AWS machine-readable API description

Google APIs have published human-readable documentation and also machine-readable JSON schemas, for instance https://www.googleapis.com/discovery/v1/apis/urlshortener/v1/rest. I am looking to auto-generate API clients for AWS cloud services for a language that does not currently have an API client. For this, I need a machine-readable description of these APIs.
Is there such a schema available?
Some of the AWS sdks work in this way, for example the ruby sdk includes json descriptions for all of the API methods, arguments and return values.
I don't know if this representation is considered public (in the sense that newer versions don't change this schema) but it should be possible to generate an API client from it given that this is how the ruby sdk is built.
AWS has JSON service descriptions here for all AWS services. These are automatically generated and kept up-to-date from the AWS backend, and consumed by the official aws-cli and Python library Boto3.