All Products
Search
Document Center

:CreateFunction

Last Updated:Aug 28, 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

*Semua Sumber daya.

*

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.

layananName

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. Anda harus menentukan code atau customContainerConfig.

customContainerConfig CustomContainerConfig

No

Konfigurasi Custom Container. Setelah konfigurasi diatur, fungsi dapat menggunakan gambar kontainer kustom untuk menjalankan fungsi. Anda harus menentukan code atau customContainerConfig.

layers

array

No

Daftar layer.

Catatan

Beberapa layer digabungkan berdasarkan urutan indeks array menurun. Konten layer dengan indeks yang lebih kecil menimpa file dengan nama yang sama di layer dengan indeks yang lebih besar.

string

No

Nama Sumber daya layer. Format: acs:fc:{Wilayah}:{accountID}:layers/{layerName}/versions/{layerVersion}.

layerName

description

string

No

Deskripsi fungsi.

function-description

functionName

string

Yes

Nama fungsi. Nama hanya dapat berisi huruf, angka, garis bawah (_), dan tanda hubung (-). Nama tidak boleh dimulai dengan angka atau tanda hubung (-). Panjang nama harus antara 1 hingga 64 karakter.

functionName

handler

string

Yes

Titik masuk fungsi. Format bervariasi berdasarkan bahasa. Untuk informasi lebih lanjut, lihat Titik masuk fungsi.

Indeks.handler

initializationTimeout

integer

No

Periode pengatur waktu untuk fungsi inisialisasi. Nilai default: 3. Unit: detik. Nilai minimum: 1. Nilai maksimum: 300 (5 menit). Fungsi dihentikan jika melebihi periode pengatur waktu ini.

60

initializer

string

No

Titik masuk fungsi inisialisasi. Untuk informasi lebih lanjut, lihat Fungsi inisialisasi.

Indeks.initializer

memorySize

integer

No

Ukuran memori fungsi. Unit: MB. Nilai harus merupakan kelipatan dari 64 MB. Spesifikasi memori bervariasi berdasarkan tipe instans fungsi. Untuk informasi lebih lanjut, lihat Spesifikasi instans.

512

runtime

string

Yes

Lingkungan waktu proses 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 lebih lanjut, lihat Lingkungan waktu proses fungsi yang didukung.

python3.9

timeout

integer

No

Periode pengatur waktu untuk fungsi. Unit: detik. Nilai minimum: 1. Nilai default: 3. Fungsi dihentikan jika melebihi periode pengatur waktu ini.

60

caPort

integer

No

Port listening server HTTP untuk runtime kustom atau runtime Kontainer kustom.

9000

environmentVariables

object

No

Variabel lingkungan fungsi. Anda dapat mengakses variabel lingkungan di dalam fungsi. Untuk informasi lebih lanjut, lihat Variabel lingkungan.

string

No

Konfigurasi variabel lingkungan.

{"key":"value"}

instanceConcurrency

integer

No

Konkurensi maksimum sebuah instans.

10

instanceSoftConcurrency

integer

No

Konkurensi lunak sebuah instans, digunakan untuk penskalaan keluar yang halus. Ketika konkurensi pada sebuah instans melebihi konkurensi lunak, penskalaan keluar instans akan dipicu. Misalnya, jika instans Anda membutuhkan waktu lama untuk memulai, Anda dapat mengatur konkurensi lunak yang sesuai untuk memulai instans terlebih dahulu.

Nilai harus kurang dari atau sama dengan instanceConcurrency.

5

instanceType

string

No

Tipe instans fungsi. Nilai valid:

  • e1: Instans elastis.

  • c1: Instans performa.

  • fc.gpu.tesla.1: Tipe instans seri GPU Tesla.

  • fc.gpu.ampere.1: Tipe instans seri GPU Ampere.

  • fc.gpu.ada.1: Tipe instans seri GPU Ada.

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

Nilai default: e1

e1

customRuntimeConfig CustomRuntimeConfig

No

Konfigurasi detail fungsi Custom Runtime.

instanceLifecycleConfig InstanceLifecycleConfig

No

Konfigurasi siklus hidup instans.

customDNS CustomDNS

No

Konfigurasi DNS kustom fungsi.

customHealthCheckConfig CustomHealthCheckConfig

No

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

cpu

number

No

Spesifikasi CPU fungsi. Unit: vCPU. Nilai harus merupakan kelipatan dari 0,05 vCPU.

1.5

diskSize

integer

No

Spesifikasi disk fungsi. Unit: MB. Nilai valid: 512 MB atau 10240 MB.

512

gpuMemorySize

integer

No

Spesifikasi Memori GPU fungsi. Unit: MB. Nilai harus merupakan kelipatan dari 1024 MB.

2048

X-Fc-Code-Checksum

string

No

Nilai CRC-64 dari paket kode fungsi.

1506052139770049xxxx

X-Fc-Date

string

No

Tanggal mulai pemanggilan fungsi. Format: EEE,d MMM yyyy HH:mm:ss GMT.

Wed, 11 May 2022 09:00:00 GMT

X-Fc-Trace-Id

string

No

ID pemanggilan fungsi. Nilai ini sesuai dengan requestId dalam parameter tanggapan.

test-trace-id

Elemen respons

Element

Type

Description

Example

object

Tanggapan untuk membuat fungsi.

codeChecksum

string

Nilai CRC64 paket kode fungsi.

5434025278388143772

codeSize

integer

Ukuran paket kode fungsi yang dikembalikan oleh sistem, dalam byte.

1024

createdTime

string

Waktu saat fungsi dibuat.

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

customContainerConfig CustomContainerConfig

Konfigurasi runtime Kontainer Kustom. Setelah parameter ini dikonfigurasi, fungsi dapat menggunakan gambar kontainer kustom untuk mengeksekusi fungsi.

layers

array

Daftar layer.

Catatan

Beberapa layer digabungkan berdasarkan urutan menurun indeks array. Konten layer dengan indeks lebih kecil menimpa file dengan nama yang sama di layer dengan indeks lebih besar.

string

Nama Sumber daya layer.

md5#layername#version

description

string

Deskripsi fungsi.

Ini adalah fungsi demo hello world

functionId

string

ID unik yang dihasilkan oleh sistem untuk setiap fungsi.

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

functionName

string

Nama fungsi.

demo-function

handler

string

Entri eksekusi fungsi.

Indeks.handler

lastModifiedTime

string

Waktu modifikasi terakhir fungsi.

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

memorySize

integer

Ukuran memori yang dikonfigurasi untuk fungsi, dalam MB.

512

runtime

string

Lingkungan waktu proses 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 Lingkungan runtime fungsi yang didukung.

python3.9

timeout

integer

Periode waktu tunggu untuk eksekusi fungsi, dalam detik. Nilai default: 60. Nilai minimum: 1. Nilai maksimum: 600 (10 menit). Jika fungsi berjalan lebih lama dari periode waktu tunggu yang ditentukan, eksekusi akan dihentikan.

10

initializationTimeout

integer

Periode waktu tunggu untuk eksekusi fungsi inisialisasi, dalam detik. Nilai minimum: 1. Nilai default: 3. Jika fungsi inisialisasi melebihi waktu ini, eksekusi akan dihentikan.

60

initializer

string

Titik masuk untuk eksekusi fungsi inisialisasi. Format spesifik bergantung pada bahasa pemrograman.

Indeks.handler

caPort

integer

Port listening server HTTP untuk Custom Runtime atau runtime Kontainer Kustom.

9000

environmentVariables

object

Variabel lingkungan yang dikonfigurasi untuk fungsi. Anda dapat mengambil nilai variabel lingkungan di dalam fungsi. Untuk informasi selengkapnya, lihat Variabel lingkungan.

string

Konfigurasi variabel lingkungan.

{"key":"value"}

instanceConcurrency

integer

Konkurensi maksimum yang diizinkan untuk satu instans fungsi.

10

instanceSoftConcurrency

integer

Konkurensi lunak instans, digunakan untuk penskalaan keluar yang lancar. Ketika konkurensi pada instans melebihi konkurensi lunak, penskalaan keluar instans dipicu. Misalnya, jika instans Anda membutuhkan waktu lama untuk mulai, Anda dapat menetapkan konkurensi lunak yang sesuai untuk memulai instans terlebih dahulu.

Nilai harus kurang dari atau sama dengan instanceConcurrency.

5

instanceType

string

Tipe instans fungsi. Nilai valid:

  • e1: instans elastis.

  • c1: instans performa.

  • fc.gpu.tesla.1: Tipe instans seri GPU Tesla.

  • fc.gpu.ampere.1: Tipe instans seri GPU Ampere.

  • fc.gpu.ada.1: Tipe instans seri GPU Ada.

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

e1

instanceLifecycleConfig InstanceLifecycleConfig

Konfigurasi siklus hidup instans.

customDNS CustomDNS

Konfigurasi DNS kustom fungsi.

customRuntimeConfig CustomRuntimeConfig

Konfigurasi detail fungsi Custom Runtime.

customHealthCheckConfig CustomHealthCheckConfig

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

cpu

number

Spesifikasi CPU fungsi. Unit: vCPU. Nilai harus merupakan kelipatan dari 0,05 vCPU.

1.5

diskSize

integer

Spesifikasi disk fungsi. Unit: MB. Nilai valid: 512 MB atau 10240 MB.

512

gpuMemorySize

integer

Spesifikasi Memori GPU fungsi. Unit: MB. Nilai harus merupakan kelipatan dari 1024 MB.

2048

layersArnV2

array

Daftar ARN layer.

string

Locator Sumber daya layer.

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.