Todos os produtos
Search
Central de documentação

Function Compute:CreateFunction

Última atualização: Aug 17, 2026

Cria uma função chamando a operação CreateFunction.

Descrição da operação

Ao criar uma função usando um pacote de código do OSS, se o erro "unable to access object xxx in bucket xxx" for relatado, conceda ao usuário atual permissões de acesso ao bucket do OSS. Por exemplo, você pode usar a política de acesso do sistema AliyunOSSReadOnlyAccess ou uma política personalizada com granularidade mais fina, como autorização para oss:GetObject. Para obter detalhes sobre o conteúdo da política, consulte Conceder permissões a um usuário do Resource Access Management (RAM) para ler todos os recursos em um bucket.

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

A tabela abaixo descreve a autorização necessária para chamar esta API. Você pode defini-la em uma política do Resource Access Management (RAM). As colunas da tabela estão detalhadas abaixo:

  • Ação: As ações que podem ser usadas no elemento Action das instruções de política de permissão do RAM para conceder permissões para executar a operação.

  • API: A API que você pode chamar para executar a ação.

  • Nível de acesso: O nível de acesso predefinido concedido para cada API. Valores válidos: create, list, get, update e delete.

  • Tipo de recurso: O tipo de recurso que suporta autorização para executar a ação. Indica se a ação suporta permissão em nível de recurso. O recurso especificado deve ser compatível com a ação. Caso contrário, a política será ineficaz.

    • Para APIs com permissões em nível de recurso, os tipos de recursos obrigatórios são marcados com um asterisco (*). Especifique o Nome de Recurso Alibaba Cloud (ARN) correspondente no elemento Resource da política.

    • Para APIs sem permissões em nível de recurso, é exibido como Todos os Recursos. Use um asterisco (*) no elemento Resource da política.

  • Chave de condição: As chaves de condição definidas pelo serviço. A chave permite controle granular, aplicando-se somente a ações ou a ações associadas a recursos específicos. Além das chaves de condição específicas do serviço, o Alibaba Cloud fornece um conjunto de chaves de condição comuns aplicáveis a todos os serviços compatíveis com RAM.

  • Ação dependente: As ações dependentes necessárias para executar a ação. Para concluir a ação, o usuário RAM ou a função RAM deve ter permissões para executar todas as ações dependentes.

Ação

Nível de acesso

Tipo de recurso

Chave de condição

Ação dependente

fc:CreateFunction

create

*All Resource

*

Nenhuma Nenhuma

Sintaxe da solicitação

POST /2023-03-30/functions HTTP/1.1

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

body CreateFunctionInput

Sim

A configuração da função.

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

Function

A configuração da função.

Exemplos

Resposta de sucesso

JSON formato

{
  "codeChecksum": "2825179536350****",
  "codeSize": 412,
  "cpu": 1,
  "createdTime": "2023-04-01T08:15:27Z",
  "customContainerConfig": {
    "accelerationInfo": {
      "status": "Ready"
    },
    "accelerationType": "Default",
    "acrInstanceId": "cri-xxxxxxxxxx",
    "command": [
      "arg1"
    ],
    "entrypoint": [
      "/code/bootstrap"
    ],
    "healthCheckConfig": {
      "failureThreshold": 1,
      "httpGetUrl": "/ready",
      "initialDelaySeconds": 1,
      "periodSeconds": 1,
      "successThreshold": 2,
      "timeoutSeconds": 2
    },
    "image": "registry-vpc.cn-hangzhou.aliyuncs.com/fc-demo/helloworld:v1beta1",
    "port": 9000,
    "registryConfig": {
      "authConfig": {
        "password": "abc***",
        "userName": "admin"
      },
      "certConfig": {
        "insecure": false,
        "rootCaCertBase64": "cm9vdF9jYV9jZXJ0"
      },
      "networkConfig": {
        "securityGroupId": "sg-xxxxxxxxxxxxxx",
        "vSwitchId": "vsw-xxxxxxxxxxxxxx",
        "vpcId": "vpc-xxxxxxxxxxxxxx"
      }
    },
    "resolvedImageUri": "stand-sh-registry-vpc.cn-shanghai.cr.aliyuncs.com/fc-demo2/springboot-helloworld@sha256:68d1****0d64d6"
  },
  "customDNS": {
    "dnsOptions": [
      {
        "name": "ndots",
        "value": "2"
      }
    ],
    "nameServers": [
      "8.8.x.x"
    ],
    "searches": [
      "ns1.svc.cluster-domain.example"
    ]
  },
  "customRuntimeConfig": {
    "args": [
      "arg1"
    ],
    "command": [
      "/code/bootstrap"
    ],
    "healthCheckConfig": {
      "failureThreshold": 1,
      "httpGetUrl": "/ready",
      "initialDelaySeconds": 1,
      "periodSeconds": 1,
      "successThreshold": 2,
      "timeoutSeconds": 2
    },
    "port": 9000
  },
  "description": "my function",
  "diskSize": 512,
  "environmentVariables": {
    "key": "value1"
  },
  "functionArn": "acs:fc:cn-shanghai:123:functions/functionName",
  "functionId": "aa715851-1c20-4b89-a8fb-***",
  "functionName": "my-function-1",
  "gpuConfig": {
    "gpuMemorySize": 2048,
    "gpuType": "fc.gpu.tesla.1"
  },
  "handler": "index.handler",
  "instanceConcurrency": 1,
  "instanceLifecycleConfig": {
    "initializer": {
      "handler": "index.initializer.",
      "timeout": 10,
      "command": [
        "curl -X POST 'http://localhost:9000/preWarm."
      ]
    },
    "preStop": {
      "handler": "index.initializer.",
      "timeout": 10,
      "command": [
        "curl -X POST 'http://localhost:9000/preWarm."
      ]
    }
  },
  "internetAccess": true,
  "lastModifiedTime": "2023-05-01T08:15:27Z",
  "lastUpdateStatus": "InProgress",
  "lastUpdateStatusReason": "The system is currently processing the acceleration optimization for the image.",
  "lastUpdateStatusReasonCode": "ImageOptimizing",
  "layers": [
    {
      "arn": "acs:fc:cn-beijing:186824xxxxxx:layers/fc_layer/versions/1",
      "size": 421
    }
  ],
  "logConfig": {
    "enableInstanceMetrics": true,
    "enableRequestMetrics": true,
    "logBeginRule": "DefaultRegex",
    "logstore": "test-logstore",
    "project": "test-project",
    "enableLlmMetrics": false
  },
  "memorySize": 512,
  "nasConfig": {
    "groupId": 100,
    "mountPoints": [
      {
        "enableTLS": true,
        "mountDir": "/home/test",
        "serverAddr": "***-uni85.cn-hangzhou.nas.com:/"
      }
    ],
    "userId": 100
  },
  "ossMountConfig": {
    "mountPoints": [
      {
        "bucketName": "my-bucket",
        "bucketPath": "/my-dir",
        "endpoint": "http://oss-cn-shanghai.aliyuncs.com",
        "mountDir": "/mnt/dir",
        "readOnly": true
      }
    ]
  },
  "role": "acs:ram::188077086902****:role/fc-test",
  "runtime": "python3.10",
  "state": "Pending",
  "stateReason": "Function creating",
  "stateReasonCode": "Creating",
  "timeout": 60,
  "tracingConfig": {
    "params": {
      "key": "http://tracing-analysis-dc-hz.aliyuncs.com/adapt_xxx/api/otlp/traces"
    },
    "type": "Jaeger"
  },
  "vpcConfig": {
    "securityGroupId": "sg-bp18hj1wtxgy3b0***",
    "vSwitchIds": [
      "vsw-bp1ozpcrdc6r****"
    ],
    "vpcId": "vpc-***",
    "role": "acs:ram::188077086902****:role/fc-test"
  },
  "tags": [
    {
      "Key": "k1",
      "Value": "v1"
    }
  ],
  "disableOndemand": false,
  "invocationRestriction": {
    "reason": "",
    "lastModifiedTime": "",
    "disable": false
  },
  "sessionAffinity": "MCP_SSE",
  "enableLongLiving": false,
  "resourceGroupId": "",
  "instanceIsolationMode": "",
  "sessionAffinityConfig": "{\\\"sseEndpointPath\\\":\\\"/sse\\\", \\\"sessionConcurrencyPerInstance\\\":20}",
  "idleTimeout": 100,
  "disableInjectCredentials": "Env",
  "polarFsConfig": {
    "groupId": 0,
    "userId": 0,
    "mountPoints": [
      {
        "instanceId": "",
        "mountDir": "",
        "remoteDir": "",
        "readOnly": false
      }
    ]
  },
  "lockInfo": {
    "lockedBy": "AgentRun",
    "lockedAt": "2025-04-05T10:00:00Z",
    "lockedResources": [
      ""
    ]
  },
  "juiceFsConfig": {
    "mountPoints": [
      {
        "volumeName": "",
        "mountDir": "",
        "remoteDir": "",
        "token": "",
        "args": [
          ""
        ]
      }
    ],
    "envs": {
      "key": ""
    }
  },
  "microSandboxConfig": {
    "osType": "",
    "startCommand": "",
    "readyCommand": ""
  }
}

Códigos de erro

Consulte Códigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de Versão para uma lista completa.