全部产品
Search
文档中心

Function Compute:Membuat fungsi kontainer kustom

更新时间:Jun 24, 2025

Topik ini memberikan contoh cara membuat fungsi kontainer kustom menggunakan SDK.

Contoh SDK

package main

import (
    "fmt"
    "os"
    "github.com/aliyun/fc-go-sdk"
)
func main() {
    /*
    Pasangan AccessKey dari akun Alibaba Cloud dapat digunakan untuk mengakses semua Operasi API. Menggunakan kredensial ini untuk melakukan operasi di Function Compute adalah operasi berisiko tinggi. Kami menyarankan Anda menggunakan pengguna RAM untuk memanggil Operasi API atau melakukan operasi pemeliharaan rutin. 
    Kami menyarankan Anda untuk tidak menyimpan ID AccessKey dan Rahasia AccessKey ke kode proyek Anda. Jika tidak, pasangan AccessKey mungkin bocor dan keamanan semua sumber daya dalam akun Anda mungkin terganggu. 
    Dalam contoh ini, pasangan AccessKey disimpan ke variabel lingkungan untuk otentikasi. 
    Konfigurasikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET di lingkungan lokal Anda sebelum menjalankan kode sampel. 
    Di lingkungan runtime Function Compute, variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET secara otomatis dikonfigurasi setelah Anda mengatur izin eksekusi. 
   */
    fcClient, err := fc.NewClient(fmt.Sprintf("%s.cn-shanghai.fc.aliyuncs.com", os.Getenv("ACCOUNT_ID")),
        "2016-08-15", os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
    if err != nil {
        panic(err)
    }


    // Buat fungsi, dengan CustomContainerConfig.AccelerationType menjadi Default,
    // yang mengaktifkan percepatan penarikan gambar
    respC, err := fcClient.CreateFunction(fc.NewCreateFunctionInput("demo-service").
        WithFunctionName("demo-function").
        WithHandler("bootstrap").
        WithRuntime("custom-container").
        WithCustomContainerConfig(fc.NewCustomContainerConfig().
            WithImage("registry.cn-shenzhen.aliyuncs.com/fc-demo/nodejs-express:v1")))
    if err != nil {
        panic(err)
    }
    fmt.Printf("FC CreateFunction response: %+v\n", *respC)

}