Takip et

AWS’de SST ile Blinks Uygulaması Geliştirme

AWS’de SST ile Blinks Uygulaması Geliştirme

Merhaba! Bugün, Serverless Application Model (SAM) üzerinde inşa edilen ve Amazon Web Services (AWS) üzerinde çalıştırılan bir web uygulaması olan Blinks’in nasıl oluşturulacağını adım adım inceleyeceğiz. Bu makalede, Serverless Stack Toolkit (SST) adlı bir araçtan faydalanarak Blinks’i basit ve hızlı bir şekilde nasıl kurabileceğinizi göstereceğim.

Blinks Nedir?

Blinks, kullanıcılara kısa içerikler oluşturma ve paylaşma imkanı sağlayan bir web uygulamasıdır. Bu içerikler, birkaç saniyelik kısa videolardan, metinlere veya resimlere kadar çeşitli formatlarda olabilir. Blinks, sosyal medya platformlarına benzer bir şekilde çalışır, kullanıcılar kendi içeriklerini paylaşabilir, diğer kullanıcıların içeriklerini izleyebilir ve etkileşim kurabilirler.

SST ile Blinks’i Kurma

SST, AWS kaynaklarını tanımlamak ve dağıtmak için kullanılan bir araçtır. SST, YAML tabanlı bir yapılandırma dosyası kullanarak AWS’de serverless uygulamalar oluşturmayı kolaylaştırır. Bu sayede, karmaşık altyapı yapılandırması ile uğraşmak zorunda kalmadan uygulamanızı hızlı bir şekilde oluşturabilir ve dağıtabilirsiniz.

1. Adım: Projenizi Başlatma

Projemizi başlatmak için SST’yi kullanacağız. Terminalinize aşağıdaki komutu girin:

“`bash
npx create-sst@latest blinks –template minimal
“`

Bu komut, “blinks” adlı bir proje klasörü oluşturacak ve içine temel SST yapılandırmasını ve bazı örnek dosyaları ekleyecektir.

2. Adım: Uygulama Kaynaklarını Tanımlama

Projemizi başlattıktan sonra, “stacks/MyStack.ts” dosyasını açarak uygulama kaynaklarımızı tanımlayacağız. Bu dosya, uygulamamızın AWS kaynaklarını nasıl tanımlayacağımızı belirtir. Örneğin, aşağıdaki kod bir S3 depolama alanı, bir CloudFront dağıtımı ve bir API Gateway endpoint’ini tanımlar:

“`typescript
import * as sst from ‘sst’;
import * as s3 from ‘aws-cdk-lib/aws-s3’;
import * as cloudfront from ‘aws-cdk-lib/aws-cloudfront’;
import * as origins from ‘aws-cdk-lib/aws-cloudfront-origins’;
import * as apigateway from ‘aws-cdk-lib/aws-apigatewayv2’;
import * as integrations from ‘aws-cdk-lib/aws-apigatewayv2-integrations’;

export default function main(app: sst.App): void {
// S3 Depolama Alanı Oluşturma
const bucket = new s3.Bucket(app, ‘BlinksBucket’);

// CloudFront Dağıtımı Oluşturma
const distribution = new cloudfront.Distribution(app, ‘BlinksDistribution’, {
defaultBehavior: {
origin: new origins.S3Origin(bucket),
},
});

// API Gateway Endpoint’i Oluşturma
const api = new apigateway.HttpApi(app, ‘BlinksApi’, {
defaultIntegration: new integrations.LambdaProxyIntegration({
handler: ‘src/functions/get-blinks.handler’,
}),
});
}
“`

3. Adım: Uygulama Fonksiyonlarını Yazma

Uygulama kaynaklarımızı tanımladıktan sonra, “src/functions” klasörüne uygulama fonksiyonlarımızı yazacağız. Bu fonksiyonlar, kullanıcı taleplerini işleyerek uygulamamızın işlevselliğini sağlar. Örneğin, aşağıdaki kod bir “get-blinks” fonksiyonu tanımlar:

“`typescript
import { Handler } from ‘aws-lambda’;
import { APIGatewayProxyEvent, APIGatewayProxyResult } from ‘aws-lambda’;

export const handler: Handler = async (event: APIGatewayProxyEvent): Promise => {
// Burada Blinks verilerini alma işlemini gerçekleştirirsiniz
// Örnek olarak, S3 depolama alanından verileri okuyabilirsiniz

return {
statusCode: 200,
body: JSON.stringify({ message: ‘Blinks verileri başarılı bir şekilde alındı’ }),
};
};
“`

4. Adım: Uygulamayı Dağıtma

Uygulama kaynaklarımızı tanımladık ve fonksiyonlarımızı yazdık. Şimdi, uygulamamızı dağıtmak için “sst deploy” komutunu kullanacağız. Bu komut, AWS’de uygulamamızı tanımladığımız kaynakları oluşturacak ve dağıtacaktır.

“`bash
sst deploy
“`

SST, uygulamamızın dağıtımını otomatikleştirecek ve uygulamamızın erişilebilir olmasını sağlayacaktır.

SST’nin Avantajları

SST’nin birkaç avantajı vardır:

  • Kolay Kurulum ve Kullanım: SST, Serverless uygulamaları oluşturmayı kolaylaştırır. Basit bir komut ile projenizi oluşturabilir ve dağıtabilirsiniz.
  • Otomatikleştirilmiş Dağıtım: SST, uygulama dağıtımını otomatikleştirir. Bu sayede, el ile AWS kaynakları oluşturma ve yapılandırma işlemlerini ortadan kaldırabilirsiniz.
  • TypeScript Desteği: SST, TypeScript’i destekler. Bu sayede, kodunuzu daha düzenli ve sürdürülebilir bir şekilde yazabilirsiniz.
  • Geniş Kaynak Desteği: SST, AWS’deki çeşitli kaynakları destekler. Bu sayede, Serverless uygulamalarınızı istediğiniz gibi yapılandırabilirsiniz.

Blinks’i Geliştirme

Blinks’i geliştirmek için SST’nin sunduğu çeşitli özelliklerinden yararlanabilirsiniz. Örneğin, aşağıdaki özellikleri kullanabilirsiniz:

  • Kullanıcı Oturum Açma: Kullanıcı oturum açma işlemini gerçekleştirmek için SST’nin sunmuş olduğu AWS Cognito entegrasyonunu kullanabilirsiniz.
  • Veritabanı Entegrasyonu: Veri depolamak için SST’nin sunmuş olduğu Amazon DynamoDB entegrasyonunu kullanabilirsiniz.
  • WebSockets: Gerçek zamanlı güncellemeler için SST’nin sunmuş olduğu Amazon API Gateway ve Amazon WebSocket API entegrasyonlarını kullanabilirsiniz.

Sonuç

SST, Serverless uygulamalar oluşturmak için güçlü ve kullanımı kolay bir araçtır. Bu makalede, SST kullanarak Blinks uygulamasını nasıl kurabileceğinizi gösterdik. SST ile AWS’de Serverless uygulamalar oluşturmak, kodunuzu daha düzenli ve sürdürülebilir hale getirmenize, zaman ve çaba kazanmanıza ve daha hızlı bir şekilde uygulama geliştirmenize yardımcı olur.

Daha fazla bilgi ve örnek kodlar için fatihsoysal.com web sitesini ziyaret edebilirsiniz.

Umarım bu makale, AWS’de SST ile Serverless uygulamalar oluşturma konusunda size yardımcı olmuştur. Başarılar!

#Etiketler: AWS, SST, Serverless, Blinks, Uygulama Geliştirme, Cloud Computing, Serverless Architecture, AWS Services, TypeScript, API Gateway, S3, CloudFront, DynamoDB, WebSockets

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version