Find latest AWS API version for locking the version - amazon-web-services

AWS themselves mention that it's important to lock the API version you use to prevent any unexpected changes to API from breaking your code (see Locking API Versions).
However, I can't seem to find the latest API version for AWS Lambda. I want to pass this to AWS Boto3 (docs here). Where do I find the latest API version?

The page you referenced says:
Getting API Versions
To get the API version for a service, see the Locking the API Version section on the service's reference page, such as https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html for Amazon S3.
Therefore, the API version for Lambda can be found on:
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Lambda.html

AWS's docs are terrible about including info for previous versions, or even what versions exist, or at least it sure seems that way for the AWS RDS API anyways.
This site seems to be the best way to find info about versions of the different AWS APIs:
AWS API Changes
Sadly, that site's home page doesn't seem to include anyway to filter for a specific service.
Thankfully, it does seem like you can do it 'manually':
Open AWS API Changes in your browser.
Perform an in-page search (via your browser) for the relevant service, e.g. "RDS".
Click on the header for any 'changes entry' for the relevant service. [Here is an example change entry for RDS.]
On the changes entry details page, there should be 'breadcrumb' links at the top, ex. "API Changes / Services / Amazon Relational Database Service / 2021-09-10".
Click the breadcrumb link for the service, e.g. "Amazon Relational Database Service".
Example for RDS API changes:
Amazon Relational Database Service – AWS API Changes

Related

Google Chrome Extension POST to AWS DynamoDB?

I'm trying to set up a simple Google Chrome Extension that will pop up a form.
The form will collect first name, last name, career title, and other informations when the user uses the extension on a particular page.
Upon submit of the pop up form, the form will reach API Gateway that trigger Lambda to write data to DynamoDB.
I can't seem to find any documentations/guides/tutorials around how to connect Chrome Extensions to AWS services.
I was wondering if I setup a React Chrome Extension, and then install AWS Amplify. Upon build by Chrome, will the AWS Amplify work..?
I can't seem to find any documentations/guides/tutorials around how to connect
Chrome Extensions to AWS services.
From AWS perspective Chrome Extension is the same as real user, web site or any other client. Depending on a technical stack of you extension, you can use AWS API or SDK inside your extension to work with AWS.

How to access AWS API Gateway documentation using Swagger UI

I have created API using AWS Api Gateway. Then i have documented documentation parts for all the entities ( like API, RESOURCE, METHOD, MODEL etc). Then using AWS Gateway Console i have published the documentation to dev stage with version 1
But i am not sure how do i (or the consumer of the API) going to access the documentation?
There is an Export option that can export documentation as Swagger or OpenAPI3. This will create .json or .yaml file and then consumer has to import these files into swagger UI. However this is not user-friendly option to provide swagger file every time i update documentation to all consumers.
I was wondering, after publishing the documentation is there anyway consumer can access documentation directly via http. So lets assume my dev stage api URL is
https://devapi.example.com/v1 so something like https://devapi.example.com/v1/help should launch Swagger UI with latest published swagger file.
Update 1
In ASP.NET Web API or .NET Core you can include Swashbuckle that creates swagger files and also has embedded version of the Swagger UI tool. So after deploying API user can access documentation directly from UI something like https://devapi.example.com/swagger.
I was hoping the same thing from AWS gateway. After publishing the documentation it should make that documentation available via some predefined resource path.
AWS API Gateway can only make documentation exportable but won't render a UI app. There is no endpoint that you can use in the gateway to render the documentation. You may wish to use third party tools or AWS API Gateway Developer Portal to allow users browse API documentation. You may find this blog helpful.
Micro Swagger imports swagger spec from Amazon API Gateway & serves a swagger UI from it.
You can leave it running on an EC2 instance:
npm i -g micro-swagger
micro-swagger start
It'll use the instance's IAM role to download the Swagger spec from API Gateway. Your CI/CD pipeline can restart/refresh Micro Swagger whenever it deploys. Your customers can see the latest API docs at the instance's domain.

What parts of the AWS should I use for a web portal?

I am currently working on a web portal for a foundation. Applicants for a grant will receive access data in advance independently of this portal. New applications will then be created and processed in the portal itself. Once an application is complete, it is sent off. Later the application will be approved or rejected.
There are a number of technical specifications on which I have no influence. The frontend should be implemented using Html+Javascript. The backend should use the Amazon Web Services (AWS). If there is a need to program something for the backend - then C# should be used.
I know how to implement the classic client-server solution. At the moment, however, AWS offers me an unmanageable set of services. And here I'm hoping for suggestions as to which of the services I should take a closer look at. Ideally, no complete 'server solution' should run on a virtual server. Instead, Lambda functions are mentioned again and again. So would Amazon RDS and AWS Lambda be a sensible and sufficient combination? Did I miss something?
Thank you very much for your suggestions.
One solution would be to use AWS S3 to server HTML, CSS, JS, Images and other static content. You could use AWS Lambda via AWS API Gateway to serve as a backend. AWS Lambda would then connect to AWS RDS or AWS DynamoDB if you would prefer a NoSQL solution.
Image taken from AWS Github repo
You can get a more detailed description of how to set this up at
https://github.com/aws-samples/aws-serverless-workshops/tree/master/WebApplication/

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.

google cloud analogy to AWS Lambda

Does google cloud have an analogous functionality to AWS Lambda?
In particular I would like compute resources to be opened up and jobs scheduled via https events.
I'm also interested in any other cloud hosting providers which have similar functionality.
I just found out that there is something that looks interesting in the latest documentation of the SDK's command line tool gcloud.
https://cloud.google.com/sdk/gcloud/reference/alpha/functions/
This sounds exciting.
UPDATE: Google just released some official documentation of an alpha version of Cloud Functions. For now, functions can be written in Javascript using Node, and triggered by Pub/Sub, Cloud Storage, direct HTTP stimuli or manually for debugging purposes.
Google Cloud Storage has Object Change Notification. Only web hooks are currently supported at this time.
A client application can send a request to watch for a bucket's change notification events in order to be notified about changes to a bucket's objects. After a notification channel is initiated, Google Cloud Storage notifies the application any time an object is added, updated, or removed from the bucket.
For example, when you add a new picture to a bucket, an application could be notified to create a thumbnail.
More info can be found at: https://cloud.google.com/storage/docs/object-change-notification
Regarding other providers that have similar functionality, check out IronWorker. You can kick off IronWorker tasks via https endpoints using the webhook endpoint and you can run jobs on multiple clouds. Here's a comparison of Lambda vs IronWorker.
And yes, I work for Iron.io.
Lately Google announced alpha release of Google Cloud Functions which supports http interface.
There is Google Cloud Functions and Microsoft Azure functions, they are both fairly new (Microsoft announced Azure function on March 31 2016)
if you need Lambda with HTTP interface then look at Nano Lambda
They can deploy to any cloud and on premise.