All Products
Search
Document Center

Function Compute:CreateFunction

Last Updated:Feb 26, 2026

Membuat 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 dari code atau customContainerConfig.

customContainerConfig CustomContainerConfig

No

Konfigurasi runtime Custom Container. Setelah Anda mengonfigurasi runtime Custom Container, Function Compute dapat mengeksekusi fungsi dalam kontainer yang dibuat dari custom image. Konfigurasikan salah satu dari code atau customContainerConfig.

layers

array

No

Lapisan (layers).

Catatan

Beberapa lapisan digabungkan sesuai urutan indeks array-nya, dari indeks terbesar ke terkecil. Jika terdapat file dengan nama yang sama, konten dari lapisan dengan indeks lebih kecil akan menimpa file yang bersesuaian pada lapisan dengan indeks lebih besar.

string

No

Nama Sumber Daya Alibaba Cloud (ARN) lapisan tersebut. Formatnya 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 (-). Nama tidak boleh dimulai dengan angka atau tanda hubung (-).

functionName

handler

string

Yes

Penanganan (handler) fungsi. Formatnya bervariasi tergantung bahasa pemrograman yang digunakan. Untuk informasi selengkapnya, lihat Function handlers.

index.handler

initializationTimeout

integer

No

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

60

initializer

string

No

Panggilan balik Initializer. Untuk informasi selengkapnya, lihat Initializer hooks.

index.initializer

memorySize

integer

No

Kapasitas memori untuk fungsi. Satuan: MB. Kapasitas memori harus merupakan kelipatan 64 MB. Kapasitas bervariasi tergantung tipe instans fungsi. Untuk informasi selengkapnya, lihat Instance types.

512

runtime

string

Yes

Runtime fungsi. Nilai 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 selengkapnya, 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 akan dihentikan setelah periode timeout berakhir.

60

caPort

integer

No

Port pendengar (listening port) server HTTP dalam runtime kustom atau runtime Custom Container.

9000

environmentVariables

object

No

Variabel lingkungan yang dikonfigurasi untuk fungsi. Anda dapat memperoleh nilai variabel lingkungan tersebut dari dalam fungsi. Untuk informasi selengkapnya, lihat Environment variables.

string

No

Konfigurasi variabel lingkungan.

{"key":"value"}

instanceConcurrency

integer

No

Jumlah maksimum permintaan yang dapat diproses secara bersamaan oleh satu instans fungsi.

10

instanceSoftConcurrency

integer

No

Konkurensi lunak (soft concurrency) instans. Anda dapat menggunakan properti ini untuk menerapkan skala keluar instans secara bertahap. Saat jumlah permintaan konkuren melebihi batas konkurensi lunak instans, skala keluar akan dipicu. Jika instans Anda memiliki waktu startup yang lama, Anda dapat menentukan nilai konkurensi lunak untuk menginisiasi instans lebih awal.

Nilainya harus kurang dari atau sama dengan nilai instanceConcurrency.

5

instanceType

string

No

Tipe instans fungsi. Nilai valid:

  • e1: instans elastis

  • c1: instans performa

  • fc.gpu.tesla.1: Instans GPU-accelerated yang menggunakan GPU seri Tesla

  • fc.gpu.ampere.1: Instans GPU-accelerated yang menggunakan GPU seri Ampere

  • fc.gpu.ada.1: Instans GPU-accelerated yang menggunakan GPU seri Ada

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

Nilai default: e1

e1

customRuntimeConfig CustomRuntimeConfig

No

Konfigurasi fungsi runtime kustom.

instanceLifecycleConfig

InstanceLifecycleConfig

No

Konfigurasi siklus hidup instans.

customDNS CustomDNS

No

Pengaturan Domain Name System (DNS) kustom untuk fungsi.

customHealthCheckConfig CustomHealthCheckConfig

No

Konfigurasi pemeriksaan kesehatan kustom untuk fungsi. Parameter ini hanya berlaku untuk runtime kustom dan runtime Custom Container.

cpu

number

No

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

1.5

diskSize

integer

No

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

512

gpuMemorySize

integer

No

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

2048

X-Fc-Code-Checksum

string

No

Nilai CRC-64 dari paket kode fungsi.

1506052139770049xxxx

X-Fc-Date

string

No

Waktu 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 jejak permintaan. Nilainya sama dengan parameter requestId dalam tanggapan.

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: byte.

1024

createdTime

string

Waktu fungsi dibuat.

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

customContainerConfig CustomContainerConfig

Konfigurasi runtime Custom Container. Setelah Anda mengonfigurasi runtime Custom Container, Function Compute dapat mengeksekusi fungsi dalam kontainer yang dibuat dari custom image.

layers

array

Array yang berisi informasi lapisan.

Catatan

Jika terdapat beberapa lapisan, lapisan-lapisan tersebut digabungkan berdasarkan indeks array secara menurun. Konten lapisan dengan indeks lebih kecil akan menimpa konten lapisan dengan indeks 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 sistem untuk fungsi tersebut.

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

functionName

string

Nama fungsi.

demo-function

handler

string

Penanganan (handler) fungsi.

index.handler

lastModifiedTime

string

Waktu fungsi terakhir dimodifikasi.

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

memorySize

integer

Ukuran memori yang dikonfigurasi untuk fungsi. Satuan: MB.

512

runtime

string

Runtime fungsi. Nilai 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 selengkapnya, lihat Runtimes that are supported by Function Compute.

python3.9

timeout

integer

Periode timeout untuk eksekusi fungsi. Satuan: detik. Nilai default: 60. Nilai valid: 1 hingga 600. Eksekusi fungsi akan dihentikan ketika periode ini berakhir.

10

initializationTimeout

integer

Periode timeout untuk eksekusi panggilan balik Initializer. Satuan: detik. Nilai default: 3. Nilai minimum: 1. Eksekusi panggilan balik Initializer akan dihentikan ketika periode ini berakhir.

60

initializer

string

Penanganan (handler) panggilan balik Initializer. Formatnya ditentukan oleh bahasa pemrograman.

index.handler

caPort

integer

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

9000

environmentVariables

object

Variabel lingkungan yang dikonfigurasi untuk fungsi. Anda dapat memperoleh nilai variabel lingkungan tersebut dari dalam fungsi. Untuk informasi selengkapnya, lihat Environment variables.

string

Variabel lingkungan yang Anda konfigurasi untuk fungsi.

{"key":"value"}

instanceConcurrency

integer

Jumlah permintaan yang dapat diproses secara konkuren oleh satu instans.

10

instanceSoftConcurrency

integer

Konkurensi lunak instans. Anda dapat menggunakan parameter ini untuk menerapkan skalabilitas vertikal instans secara bertahap. Jika jumlah permintaan konkuren pada suatu instans melebihi nilai konkurensi lunak, skalabilitas vertikal instans akan dipicu. Misalnya, jika instans Anda memerlukan waktu lama untuk memulai, Anda dapat menentukan nilai konkurensi lunak yang sesuai agar instans dimulai lebih awal.

Nilainya harus kurang dari atau sama dengan nilai parameter instanceConcurrency.

5

instanceType

string

Tipe instans fungsi. Nilai valid:

  • e1: instans elastis

  • c1: instans performa

  • fc.gpu.tesla.1: Instans GPU-accelerated dengan kartu seri Tesla

  • fc.gpu.ampere.1: Instans GPU-accelerated dengan kartu seri Ampere

  • fc.gpu.ada.1: Instans GPU-accelerated dengan kartu seri Ada

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

e1

instanceLifecycleConfig

InstanceLifecycleConfig

Konfigurasi siklus hidup instans.

customDNS CustomDNS

Pengaturan DNS kustom untuk fungsi.

customRuntimeConfig CustomRuntimeConfig

Konfigurasi fungsi runtime kustom.

customHealthCheckConfig CustomHealthCheckConfig

Konfigurasi pemeriksaan kesehatan kustom untuk fungsi. Parameter ini hanya berlaku untuk runtime kustom dan runtime Custom Container.

cpu

number

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

1.5

diskSize

integer

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

512

gpuMemorySize

integer

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

2048

layersArnV2

array

Daftar ARN lapisan

string

Pelacak sumber daya 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.