Aws C++ Lambda

6 min read Jun 28, 2024
Aws C++ Lambda

Membangun Fungsi AWS Lambda dengan C++

AWS Lambda memungkinkan Anda menjalankan kode tanpa mengelola server. Anda dapat menggunakan berbagai bahasa pemrograman untuk membangun fungsi Lambda, termasuk C++.

Artikel ini akan membahas cara membangun fungsi Lambda sederhana menggunakan C++.

Persiapan

Sebelum mulai, pastikan Anda sudah memiliki:

  • Akun AWS: Jika belum, daftar di .
  • AWS CLI: Anda dapat mengunduh dan menginstal AWS CLI dari .
  • Kompiler C++: Pastikan Anda memiliki kompiler C++ yang terpasang di sistem Anda.

Membuat Fungsi Lambda

Berikut langkah-langkah membuat fungsi Lambda sederhana dengan C++:

  1. Buat File C++: Buat file C++ baru dengan nama my_lambda_function.cpp.

  2. Tambahkan Kode C++: Salin dan tempel kode berikut ke dalam file my_lambda_function.cpp:

    #include 
    #include 
    #include 
    #include 
    #include 
    
    using namespace Aws::Lambda;
    
    int main() {
        Aws::SDKOptions options;
        Aws::InitAPI(options);
        {
            Lambda::LambdaClient lambdaClient;
    
            Lambda::Model::InvokeRequest invokeRequest;
            invokeRequest.SetFunctionName("your-function-name"); // Ganti dengan nama fungsi Lambda Anda
            invokeRequest.SetPayload("Hello from C++ Lambda!"); 
    
            auto invokeResult = lambdaClient.Invoke(invokeRequest);
    
            if (invokeResult.IsSuccess()) {
                std::cout << "Lambda function invoked successfully!" << std::endl;
            } else {
                std::cout << "Error invoking Lambda function: " << invokeResult.GetError().GetMessage() << std::endl;
            }
        }
        Aws::ShutdownAPI(options);
        return 0;
    }
    

    Penjelasan kode:

    • #include <iostream>: Menyertakan header untuk input/output standar.
    • #include <aws/core/Aws.h>: Menyertakan header untuk AWS SDK for C++.
    • #include <aws/lambda/Lambda.h>: Menyertakan header untuk AWS Lambda API.
    • using namespace Aws::Lambda;: Menggunakan namespace AWS::Lambda untuk mempermudah penulisan kode.
    • LambdaClient: Objek yang digunakan untuk berinteraksi dengan layanan AWS Lambda.
    • InvokeRequest: Objek yang digunakan untuk membuat permintaan ke fungsi Lambda.
    • FunctionName: Nama fungsi Lambda yang ingin dijalankan.
    • Payload: Data yang akan dikirimkan ke fungsi Lambda.
    • InvokeResult: Objek yang berisi hasil dari permintaan Lambda.
  3. Kompilasi Kode: Kompilasi file C++ menggunakan kompiler C++ yang terpasang. Misalnya, jika menggunakan g++:

    g++ -o my_lambda_function my_lambda_function.cpp -L/path/to/aws-sdk-cpp/build/Release -lamazon-lambda -lamazon-core
    

    Ganti /path/to/aws-sdk-cpp/build/Release dengan direktori build untuk AWS SDK for C++.

  4. Unggah Fungsi Lambda: Anda dapat mengunggah fungsi Lambda Anda ke AWS Lambda menggunakan AWS CLI. Pastikan Anda memiliki peran AWS IAM yang sesuai untuk mengunggah fungsi Lambda. Anda dapat menggunakan perintah berikut:

    aws lambda create-function \
    --function-name your-function-name \
    --runtime provided.al2 \
    --handler my_lambda_function \
    --code S3://your-bucket/your-code.zip \
    --role arn:aws:iam::your-account-id:role/your-lambda-role
    
    • Ganti your-function-name dengan nama fungsi Lambda Anda.
    • Ganti your-bucket dengan nama bucket S3 tempat Anda menyimpan file ZIP yang berisi kode C++ Anda.
    • Ganti your-code.zip dengan nama file ZIP yang berisi kode C++.
    • Ganti your-account-id dengan ID akun AWS Anda.
    • Ganti your-lambda-role dengan nama peran IAM yang memungkinkan Lambda untuk dijalankan.
  5. Jalankan Fungsi Lambda: Setelah Anda mengunggah fungsi Lambda, Anda dapat menjalankannya menggunakan AWS CLI:

    aws lambda invoke --function-name your-function-name --payload '{"key1": "value1", "key2": "value2"}' --cli-binary-format raw-in-base64-out
    
    • Ganti your-function-name dengan nama fungsi Lambda Anda.
    • Ganti {"key1": "value1", "key2": "value2"} dengan payload JSON yang ingin Anda kirimkan ke fungsi Lambda.

Kesimpulan

Artikel ini menunjukkan langkah-langkah dasar membuat fungsi Lambda sederhana menggunakan C++. Anda dapat menyesuaikan kode dengan kebutuhan Anda, seperti menambahkan logika bisnis dan integrasi dengan layanan AWS lainnya.

Selalu periksa dokumentasi AWS Lambda untuk detail lebih lanjut dan contoh kode yang lebih kompleks.

Latest Posts