AWS Cloud Development Kit utilitzant Java

aws

Taula de continguts

En aquest bloc, aprendràs sobre AWS Cloud Development Kit mitjançant Java. Sense més preàmbuls comencem!

També us pot interessar: “Funcions de React 18: què hi ha de nou a la caixa?”

Introducció a AWS Cloud Development Kit

L’ AWS CDK us permet crear aplicacions al núvol amb el poder expressiu d’un llenguatge de programació. Es recomana per a usuaris que tinguin una experiència moderada a alta en l’ús dels serveis d’AWS. Fem una ullada a alguns conceptes clau mentre utilitzeu AWS CDK per crear aplicacions CDK.

Font de la imatge

  • Una aplicació utilitza AWS CDK per definir AWS Infrastructure. Podeu escriure aplicacions CDK en idiomes compatibles amb AWS, com ara TypeScript, JavaScript, Python, Java o C#.
  • Una aplicació pot tenir una o més piles.
  • Les piles contenen construccions. Són equivalents a les piles d’AWS CloudFormation.
  • Les construccions defineixen els recursos d’AWS, com ara Amazon RDS, DynamoDB, cubs S3, funcions Lambda, etc.
  • Les piles, les construccions i les aplicacions es representen com a classes. Les construccions s’instanciencien dins d’una pila per declarar-les a AWS i connectar-les entre elles mitjançant interfícies ben definides.

Aconseguiràs aquests conceptes després d’implementar l’aplicació sample-cdk-project.

Requisits previs

Primer, heu d’instal·lar AWS CLI al vostre ordinador. A més, també necessiteu una clau d’accés i una clau secreta proporcionades per l’administrador del compte d’AWS.

En primer lloc, confirmeu que l’heu instal·lat correctament al vostre ordinador introduint l’ordre següent.

aws –version

A continuació, introduïu l’ordre següent per configurar la instal·lació de l’AWS CLI al vostre ordinador.

aws configure

A continuació, proporcionareu l’identificador de la clau d’accés d’AWS, la clau d’accés secreta d’AWS, el nom de la regió per defecte i el format de sortida predeterminat.

Com començar amb AWS CDK mitjançant Java

Instal·leu AWS CDK Toolkit

CDK Toolkit és una eina per treballar amb aplicacions i piles AWS CDK. El Toolkit ofereix la possibilitat de convertir una o més piles d’AWS CDK a plantilles de CloudFormation i actius relacionats i de desplegar piles a un compte d’AWS juntament amb altres funcions. Ara és el moment d’instal·lar AWS CDK Toolkit mitjançant l’ordre Node Package Manager. Per això, introduïu la següent comanda

npm install -g aws-cdk

Inicialitzar l’aplicació Sample CDK

Primer, creeu un directori nou per a l’aplicació CDK de mostra amb l’ordre següent.

mkdir sample-cdk-project

A continuació, feu que sigui el directori de treball.

cdk sample-cdk-project

Ara introduïu l’ordre següent que crearà una aplicació CDK de mostra amb java.

cdk init --language java

Fem una ullada a què passa dins del projecte.

Entendre l’aplicació de mostra CDK

La part bona és que podeu obrir el vostre projecte en qualsevol dels vostres IDE preferits. El directori del projecte té l’aspecte següent. Fem una ullada a SampleCdkProjectStack.java i SampleCdkProjectApp.java un per un.

SampleCdkProjectStack.java

Aquesta és la pila per defecte del sample-cdk-project. Per començar, descomentareu el recurs d’exemple. SampleCdkProjectStack amplia la classe base Stack i inclou una única cua d’Amazon SQS amb un temps d’espera de processament d’un missatge establert en 300 segons. Les construccions representen un component del núvol i són els components bàsics de les aplicacions AWS CDK. Amazon SQS Queue és una construcció de l’exemple següent. Tingueu en compte que totes les construccions prenen tres paràmetres a la inicialització: Scope, id i Props.

  • L’àmbit és el constructe dins del qual es defineix el constructe.
  • Id és un identificador que ha de ser únic dins de l’àmbit.
  • Els accessoris són un conjunt de propietats o arguments de paraula clau, depenent del llenguatge, que defineixen la configuració inicial del constructe.
public class SampleCdkProjectStack extends Stack {
     public SampleCdkProjectStack(final Construct scope, final String id) {
        this(scope, id, null);
    }
    public SampleCdkProjectStack(final Construct scope, final String id, final StackProps props) {
        super(scope, id, props);
        // The code that defines your stack goes here
    /* final Queue queue = Queue.Builder.create(this, "SampleCdkProjectQueue")
        .visibilityTimeout(Duration.seconds(300))
        .build(); */
    }
}

SampleCdkProjectApp.java

Ara donem una ullada a SampleCdkProjectApp.java. Aquí creareu una instancia de la pila (definida prèviament) en algun àmbit per desplegar-la. Aquesta classe crea una instancia de SampleCdkProjectStack i produeix la plantilla AWS CloudFormation definida per la pila. Aquí també inicialitzareu la construcció de l’aplicació que utilitzareu com a àmbit per definir una instància de SampleCdkProjectStack.

public class SampleCdkProjectApp {
   public static void main(final String[] args) {
      App app = new App();
      new SampleCdkProjectStack(app, "SampleCdkProjectStack", StackProps.builder()
   /*If you don't specify 'env', this stack will be environment-agnostic.
     Account/Region-dependent features and context lookups will not work,
     but you can deploy a single synthesized template anywhere.
     Uncomment the next block to specialize this stack for the AWS Account
     and Region that is implied by the current CLI configuration. */
     /* .env(Environment.builder()
        .account(System.getenv("CDK_DEFAULT_ACCOUNT"))
        .region(System.getenv("CDK_DEFAULT_REGION"))
        .build()) */
      /*Uncomment the next block if you know exactly what Account and Region you
       want to deploy the stack to */
        .env(Environment.builder()
        .account("123456789012")
        .region("us-east-1")
        .build()) */
      //For more information, see https://docs.aws.amazon.com/cdk/latest/guide/environments.html
        .build());
        app.synth();
     }
}

A la classe anterior, descomenceu el codi per especialitzar aquesta pila per al compte i la regió d’AWS que estan implicats per la configuració actual de la CLI.

Aplicació Bootstrap CDK

Quan despleguem aplicacions AWS CDK en un entorn AWS, hi ha determinats recursos que poden ser necessaris per al desplegament, com ara el bucket d’Amazon S3 per emmagatzemar fitxers i rols IAM amb determinats permisos per dur a terme el desplegament. El procés per proporcionar aquests recursos s’anomena Bootstrapping.

Els recursos anteriors es defineixen en una pila d’AWS CloudFormation que s’anomena CDKToolkit. L’ordre següent desplega la pila de preparació de CDK Toolkit.

cdk bootstrap

Podeu fer un cop d’ull a la plantilla Resources in CDKToolkit CloudFormation.

Sintetitzar la plantilla de formació de núvols

L’ordre següent sintetitza i imprimeix la plantilla de CloudFormation. Hauríeu d’especificar la pila si la vostra aplicació en conté més d’una. Actualment, no cal especificar-ho, ja que la vostra aplicació només conté una pila.

cdk synth

Desplegueu l’aplicació CDK

Ara introduïu l’ordre següent per desplegar els recursos definits a la pila de la vostra aplicació CDK.

cdk deploy

Podeu fer una ullada a la plantilla Recursos a SampleCdkProjectStack CloudFormation.

Aquesta és la cua d’Amazon SQS que heu definit a la pila.

Al final, destruïu els recursos de cdk-sample-project mitjançant l’ordre següent

cdk destroy

Conclusió

Amb això, hem arribat al final del nostre blog. En aquest blog, heu après els conceptes bàsics d’AWS Cloud Development Kit i heu creat una aplicació CDK amb Java. Si voleu practicar més, consulteu el dipòsit oficial de github d’AWS que té exemples implementats a Java.

Estigueu atents a les novetats més informatives que hi haurà. No dubteu a deixar qualsevol comentari a la secció de comentaris.

Feliç aprenentatge!

Referència

https://docs.aws.amazon.com/cdk/v2/guide/home.html

Unimedia Technology

A Unimedia Technology tenim un equip de desenvolupadors nadius al núvol que us poden ajudar a desenvolupar les vostres aplicacions AWS i Azure més complexes.

Recorda que a Unimedia som experts en tecnologies emergents, així que no dubtis a contactar amb nosaltres si necessites assessorament o serveis. Estarem encantats d’ajudar-te.

Unimedia Technology

El teu soci de desenvolupament de software

Som una consultoria tecnològica d’avantguarda especialitzada en arquitectura i desenvolupament de programari personalitzat.

Els nostres serveis

Registra't per rebre les nostres actualitzacions

Estigueu al dia, estigueu informat i donem forma junts al futur de la tecnologia!

Lectures relacionades

Aprofundeix amb aquests articles

Exploreu més coneixements experts d’Unimedia i anàlisis en profunditat en l’àmbit del desenvolupament de programari i la tecnologia.

Let’s make your vision a reality!

Simply fill out this form to begin your journey towards innovation and efficiency.

Fem realitat la teva visió!

Només has d’omplir aquest formulari per començar el teu viatge cap a la innovació i l’eficiència.