All Products
Search
Document Center

:CreateFunction

Last Updated:Jun 11, 2026

Membuat sebuah fungsi.

Coba sekarang

Coba API ini di OpenAPI Explorer tanpa perlu penandatanganan manual. Panggilan yang berhasil akan secara otomatis menghasilkan contoh kode SDK sesuai dengan parameter Anda. Unduh kode tersebut dengan kredensial bawaan yang aman untuk penggunaan lokal.

Test

RAM authorization

Tabel berikut menjelaskan otorisasi yang diperlukan untuk memanggil API ini. Anda dapat menentukannya dalam kebijakan Resource Access Management (RAM). Kolom pada tabel dijelaskan sebagai berikut:

  • Action: Aksi yang dapat digunakan dalam elemen Action pada pernyataan kebijakan izin RAM untuk memberikan izin guna melakukan operasi tersebut.

  • API: API yang dapat Anda panggil untuk melakukan aksi tersebut.

  • Access level: Tingkat akses yang telah ditentukan untuk setiap API. Nilai yang valid: create, list, get, update, dan delete.

  • Resource type: Jenis resource yang mendukung otorisasi untuk melakukan aksi tersebut. Ini menunjukkan apakah aksi tersebut mendukung izin tingkat resource. Resource yang ditentukan harus kompatibel dengan aksi tersebut. Jika tidak, kebijakan tersebut tidak akan berlaku.

    • Untuk API dengan izin tingkat resource, jenis resource yang diperlukan ditandai dengan tanda bintang (*). Tentukan Nama Sumber Daya Alibaba Cloud (ARN) yang sesuai dalam elemen Resource pada kebijakan.

    • Untuk API tanpa izin tingkat resource, ditampilkan sebagai All Resources. Gunakan tanda bintang (*) dalam elemen Resource pada kebijakan.

  • Condition key: Kunci kondisi yang didefinisikan oleh layanan. Kunci ini memungkinkan kontrol granular, berlaku baik hanya untuk aksi maupun untuk aksi yang terkait dengan resource tertentu. Selain kunci kondisi spesifik layanan, Alibaba Cloud menyediakan serangkaian common condition keys yang berlaku di semua layanan yang didukung RAM.

  • Dependent action: Aksi dependen yang diperlukan untuk menjalankan aksi tersebut. Untuk menyelesaikan aksi tersebut, pengguna RAM atau role RAM harus memiliki izin untuk melakukan semua aksi dependen.

Action

Access level

Resource type

Condition key

Dependent action

fc:CreateFunction

create

*All Resource

*

None None

Sintaks permintaan

POST /2021-04-06/services/{serviceName}/functions HTTP/1.1

Path Parameters

Parameter

Type

Required

Description

Example

serviceName

string

Yes

Nama layanan.

serviceName

Parameter permintaan

Parameter

Type

Required

Description

Example

X-Fc-Account-Id

string

No

ID akun Alibaba Cloud Anda.

188077086902****

function

object

No

Definisi fungsi.

code Code

No

Paket ZIP kode fungsi. Konfigurasikan salah satu antara code atau customContainerConfig.

customContainerConfig CustomContainerConfig

No

Konfigurasi runtime Custom Container. Setelah Anda mengonfigurasi runtime Custom Container, Function Compute dapat menjalankan fungsi dalam kontainer yang dibuat dari citra kustom. Konfigurasikan salah satu antara code atau customContainerConfig.

layers

array

No

Lapisan (layer).

Catatan

Beberapa lapisan digabungkan dalam urutan yang ditentukan oleh subskrip larik, dari yang terbesar ke yang terkecil. Ketika ada berkas dengan nama yang sama, konten dari lapisan dengan subskrip yang lebih kecil akan menimpa berkas terkait pada lapisan dengan subskrip yang lebih besar.

string

No

Alibaba Cloud Resource Name (ARN) dari lapisan. Format-nya adalah acs:fc:{region}:{accountID}:layers/{layerName}/versions/{layerVersion}.

layerName

description

string

No

Deskripsi fungsi.

function-description

functionName

string

Yes

Nama fungsi. Nama harus terdiri dari 1 hingga 64 karakter, dan hanya boleh berisi huruf, angka, garis bawah (_), dan tanda hubung (-). Tidak boleh diawali dengan angka atau tanda hubung (-).

functionName

handler

string

Yes

Handler fungsi. Format-nya bervariasi tergantung pada bahasa pemrograman yang Anda gunakan. Untuk informasi lebih lanjut, lihat Function handlers.

index.handler

initializationTimeout

integer

No

Periode timeout untuk hook Initializer. Satuan: detik. Nilai default: 3. Nilai yang valid: 1 hingga 300. Eksekusi hook Initializer dihentikan setelah periode timeout berakhir.

60

initializer

string

No

Hook Initializer. Untuk informasi lebih lanjut, lihat Initializer hooks.

index.initializer

memorySize

integer

No

Kapasitas memori untuk fungsi. Satuan: MB. Kapasitas memori harus kelipatan 64 MB. Kapasitas bervariasi berdasarkan tipe instance fungsi. Untuk informasi lebih lanjut, lihat Instance types.

512

runtime

string

Yes

Runtime fungsi. Nilai yang valid: nodejs20, nodejs18, nodejs16, nodejs14, nodejs12, nodejs10, nodejs8, nodejs6, nodejs4.4, python3.10, python3.9, python3, python2.7, java11, java8, go1, php7.2, dotnetcore3.1, dotnetcore2.1, custom.debian10, custom, dan custom-container.******** Untuk informasi lebih lanjut, lihat Runtimes that are supported by Function Compute.

python3.9

timeout

integer

No

Periode timeout untuk eksekusi fungsi. Satuan: detik. Nilai minimum: 1. Nilai default: 3. Eksekusi fungsi dihentikan setelah periode timeout berakhir.

60

caPort

integer

No

Port pendengar server HTTP dalam custom runtime atau Custom Container runtime.

9000

environmentVariables

object

No

Variabel lingkungan yang dikonfigurasi untuk fungsi. Anda dapat memperoleh nilai variabel lingkungan dari fungsi. Untuk informasi lebih lanjut, lihat Environment variables.

string

No

Konfigurasi variabel lingkungan.

{"key":"value"}

instanceConcurrency

integer

No

Jumlah maksimum permintaan yang dapat diproses oleh sebuah instance fungsi dalam satu waktu.

10

instanceSoftConcurrency

integer

No

Soft concurrency dari instance. Anda dapat menggunakan properti ini untuk menerapkan scale-out instance yang mulus. Ketika jumlah permintaan konkuren melebihi batas soft concurrency dari instance, scale-out dipicu. Jika instance Anda memiliki waktu startup yang lama, Anda dapat menentukan nilai soft concurrency untuk memulai instance lebih awal.

Nilainya harus kurang dari atau sama dengan nilai instanceConcurrency.

5

instanceType

string

No

Tipe instance fungsi. Nilai yang valid:

  • e1: instance elastis

  • c1: instance performa

  • fc.gpu.tesla.1: instance dengan akselerasi GPU yang menggunakan GPU seri Tesla

  • fc.gpu.ampere.1: instance dengan akselerasi GPU yang menggunakan GPU seri Ampere

  • fc.gpu.ada.1: instance dengan akselerasi GPU yang menggunakan GPU seri Ada

  • g1: sama dengan fc.gpu.tesla.1

Nilai default: e1

e1

customRuntimeConfig CustomRuntimeConfig

No

Konfigurasi fungsi custom runtime.

instanceLifecycleConfig

InstanceLifecycleConfig

No

Konfigurasi siklus hidup instance.

customDNS CustomDNS

No

Pengaturan Domain Name System (DNS) kustom dari fungsi.

customHealthCheckConfig CustomHealthCheckConfig

No

Konfigurasi health check kustom dari fungsi. Parameter ini hanya berlaku untuk custom runtime dan Custom Container runtime.

cpu

number

No

Ukuran CPU fungsi. Satuan: vCPU. Nilainya merupakan kelipatan dari 0,05.

1.5

diskSize

integer

No

Ukuran disk fungsi. Satuan: MB. Nilai yang valid: 512 dan 10240.

512

gpuMemorySize

integer

No

Ukuran memori GPU fungsi. Satuan: MB. Nilainya merupakan kelipatan dari 1024.

2048

X-Fc-Code-Checksum

string

No

Nilai CRC-64 dari paket kode fungsi.

1506052139770049xxxx

X-Fc-Date

string

No

Waktu ketika fungsi dipanggil. Format nilainya adalah: EEE,d MMM yyyy HH:mm:ss GMT.

Wed, 11 May 2022 09:00:00 GMT

X-Fc-Trace-Id

string

No

ID trace dari permintaan. Nilainya sama dengan nilai parameter requestId dalam respons.

test-trace-id

Elemen respons

Element

Type

Description

Example

object

Data yang dikembalikan.

codeChecksum

string

Nilai CRC-64 dari paket kode fungsi.

5434025278388143772

codeSize

integer

Ukuran paket kode fungsi yang dikembalikan oleh sistem. Satuan: bita (byte).

1024

createdTime

string

Waktu ketika fungsi dibuat.

2016-08-15T15:00:00.000+0000

customContainerConfig CustomContainerConfig

Konfigurasi runtime Custom Container. Setelah Anda mengonfigurasi runtime Custom Container, Function Compute dapat menjalankan fungsi dalam kontainer yang dibuat dari citra kustom.

layers

array

Sebuah larik yang berisi informasi tentang lapisan-lapisan.

Catatan

Jika terdapat beberapa lapisan, lapisan-lapisan tersebut digabungkan berdasarkan subskrip larik dalam urutan menurun. Konten lapisan dengan subskrip yang lebih kecil menimpa konten lapisan dengan subskrip yang lebih besar.

string

Nama lapisan.

md5#layername#version

description

string

Deskripsi fungsi.

This is a demo hello world function

functionId

string

ID unik yang dihasilkan oleh sistem untuk fungsi.

2d28e0e9-9ba5-4eed-8b1a-d3d9cd24 ****

functionName

string

Nama fungsi.

demo-function

handler

string

Handler fungsi.

index.handler

lastModifiedTime

string

Waktu ketika fungsi terakhir kali diubah.

2016-08-15T17:00:00.000+0000

memorySize

integer

Ukuran memori yang dikonfigurasi untuk fungsi. Satuan: MB.

512

runtime

string

Runtime fungsi. Nilai yang valid: nodejs20, nodejs18, nodejs20, nodejs18, nodejs16, nodejs14, nodejs12, nodejs10, nodejs8, nodejs6, nodejs4.4, python3.10, python3.9, python3, python2.7, java11, java8, go1, php7.2, dotnetcore3.1, dotnetcore2.1, custom.debian10, custom, dan custom-container. Untuk informasi lebih lanjut, lihat Runtimes that are supported by Function Compute.

python3.9

timeout

integer

Periode timeout untuk eksekusi fungsi. Satuan: detik. Nilai default: 60. Nilai yang valid: 1 hingga 600. Ketika periode ini berakhir, eksekusi fungsi dihentikan.

10

initializationTimeout

integer

Periode timeout untuk eksekusi hook Initializer. Satuan: detik. Nilai default: 3. Nilai minimum: 1. Ketika periode berakhir, eksekusi hook Initializer dihentikan.

60

initializer

string

Handler dari hook Initializer. Format ditentukan oleh bahasa pemrograman.

index.handler

caPort

integer

Port tempat server HTTP mendengarkan untuk custom runtime atau custom container runtime.

9000

environmentVariables

object

Variabel lingkungan yang dikonfigurasi untuk fungsi. Anda dapat memperoleh nilai variabel lingkungan dari fungsi. Untuk informasi lebih lanjut, lihat Environment variables.

string

Variabel lingkungan yang Anda konfigurasi untuk fungsi.

{"key":"value"}

instanceConcurrency

integer

Jumlah permintaan yang dapat diproses secara konkuren oleh sebuah instance tunggal.

10

instanceSoftConcurrency

integer

Soft concurrency dari instance. Anda dapat menggunakan parameter ini untuk menerapkan scale-up instance yang mulus. Jika jumlah permintaan konkuren pada sebuah instance lebih besar dari nilai soft concurrency, scale-up instance dipicu. Misalnya, jika instance Anda membutuhkan waktu yang lama untuk dimulai, Anda dapat menentukan soft concurrency yang sesuai untuk memulai instance lebih awal.

Nilainya harus kurang dari atau sama dengan nilai parameter instanceConcurrency.

5

instanceType

string

Tipe instance fungsi. Nilai yang valid:

  • e1: instance elastis

  • c1: instance performa

  • fc.gpu.tesla.1: instance dengan akselerasi GPU yang menggunakan kartu seri Tesla

  • fc.gpu.ampere.1: instance dengan akselerasi GPU yang menggunakan kartu seri Ampere

  • fc.gpu.ada.1: instance dengan akselerasi GPU yang menggunakan kartu seri Ada

  • g1: sama dengan fc.gpu.tesla.1

e1

instanceLifecycleConfig

InstanceLifecycleConfig

Konfigurasi siklus hidup instance.

customDNS CustomDNS

Pengaturan DNS kustom dari fungsi.

customRuntimeConfig CustomRuntimeConfig

Konfigurasi fungsi custom runtime.

customHealthCheckConfig CustomHealthCheckConfig

Konfigurasi health check kustom dari fungsi. Parameter ini hanya berlaku untuk custom runtime dan Custom Container runtime.

cpu

number

Jumlah vCPU dari fungsi. Nilainya merupakan kelipatan dari 0,05.

1.5

diskSize

integer

Ukuran disk fungsi. Satuan: MB. Nilai yang valid: 512 dan 10240.

512

gpuMemorySize

integer

Kapasitas memori GPU untuk fungsi. Satuan: MB. Nilainya merupakan kelipatan dari 1.024.

2048

layersArnV2

array

Daftar ARN dari lapisan

string

Pencari sumber daya (resource locator) lapisan.

acs:fc:cn-hangzhou:official:layers/Python310/versions/2

Contoh

Respons sukses

JSONformat

{
  "codeChecksum": "5434025278388143772",
  "codeSize": 1024,
  "createdTime": "2016-08-15T15:00:00.000+0000",
  "customContainerConfig": {
    "args": "[\"-arg1\", \"value1\"]",
    "command": "[\"/code/myserver\"]",
    "image": "registry-vpc.cn-hangzhou.aliyuncs.com/fc-demo/helloworld:v1beta1",
    "accelerationType": "Default",
    "instanceID": "cri-xxxxxxxxxx",
    "webServerMode": true
  },
  "layers": [
    "md5#layername#version"
  ],
  "description": "This is a demo hello world function",
  "functionId": "2d28e0e9-9ba5-4eed-8b1a-d3d9cd24\n****",
  "functionName": "demo-function",
  "handler": "index.handler",
  "lastModifiedTime": "2016-08-15T17:00:00.000+0000",
  "memorySize": 512,
  "runtime": "python3.9",
  "timeout": 10,
  "initializationTimeout": 60,
  "initializer": "index.handler",
  "caPort": 9000,
  "environmentVariables": {
    "key": "{\"key\":\"value\"}"
  },
  "instanceConcurrency": 10,
  "instanceSoftConcurrency": 5,
  "instanceType": "e1",
  "instanceLifecycleConfig": {
    "preFreeze": {
      "handler": "index.preStop",
      "timeout": 10
    },
    "preStop": {
      "handler": "index.preStop",
      "timeout": 10
    }
  },
  "customDNS": {
    "nameServers": [
      "8.8.x.x"
    ],
    "searches": [
      "ns1.svc.cluster-domain.example"
    ],
    "dnsOptions": [
      {
        "name": "ndots",
        "value": "2"
      }
    ]
  },
  "customRuntimeConfig": {
    "command": [
      "/code/myBootstrap"
    ],
    "args": [
      "args1"
    ]
  },
  "customHealthCheckConfig": {
    "httpGetUrl": "/ready",
    "initialDelaySeconds": 1,
    "periodSeconds": 1,
    "timeoutSeconds": 2,
    "failureThreshold": 1,
    "successThreshold": 2
  },
  "cpu": 1.5,
  "diskSize": 512,
  "gpuMemorySize": 2048,
  "layersArnV2": [
    "acs:fc:cn-hangzhou:official:layers/Python310/versions/2"
  ]
}

Kode kesalahan

Lihat Error Codes untuk daftar lengkap.

Catatan rilis

Lihat Release Notes untuk daftar lengkap.