Executar upsert de colunas

Namespace: microsoft.graph

Executar upsert (criar ou atualizar) até 20 objetos columnDefinition em um fileStorageContainer em uma única solicitação. O patch delta permite que o chamador execute várias operações (criar, atualizar) em até 20 colunas com uma única solicitação.

Permissões

Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.

Tipo de permissão Permissões menos privilegiadas Permissões com privilégios mais elevados
Delegado (conta corporativa ou de estudante) FileStorageContainer.Selected FileStorageContainer.Manage.All
Delegado (conta pessoal da Microsoft) FileStorageContainer.Selected Indisponível.
Application FileStorageContainer.Selected Indisponível.

Além das permissões do Microsoft Graph, seu aplicativo também deve ter a permissão ou permissões de nível de tipo de contêiner necessárias para chamar essa API. Para obter detalhes sobre tipos de contêiner, consulte Tipos de contêiner. Para saber mais sobre permissões de nível de tipo de contêiner, consulte Autorização Incorporada do SharePoint.

Solicitação HTTP

PATCH /storage/fileStorage/containers/{containerId}/columns

Cabeçalhos de solicitação

Nome Descrição
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Content-Type application/json. Obrigatório.

Corpo da solicitação

No corpo da solicitação, forneça um objeto JSON com as propriedades a seguir.

Nome Tipo Descrição
@context Cadeia de caracteres Anotação OData que identifica o tipo de conteúdo. Deve ser definido como #$delta para sinalizar uma operação de patch delta. Obrigatório.
valor coleção columnDefinition Uma coleção de até 20 objetos columnDefinition a serem processados. Obrigatório.

Cada entrada na coleção de valores representa uma operação em uma columnDefinition. A presença da propriedade id determina como a entrada é interpretada:

  • Criar: omita a propriedade id . Especifique a propriedade name e a propriedade column type (por exemplo, booliano, texto, escolha).
  • Atualização: inclua a ID da coluna existente e as propriedades a serem atualizadas.

Resposta

Se for bem-sucedido, esse método retornará um 200 OK código de resposta e uma coleção de objetos columnDefinition no corpo da resposta. As colunas processadas com êxito incluem o objeto columnDefinition completo. Os itens com falha incluem uma anotação @Core.DataModificationException com detalhes do erro.

Essa API também pode retornar os seguintes códigos de resposta de erro para toda a solicitação:

Código HTTP Descrição
400 Solicitação incorreta.
401 A solicitação não tem credenciais de autenticação válidas.
403 As credenciais de autenticação fornecidas são válidas, mas insuficientes para executar a operação solicitada.
404 O contêiner não existe.
423 O contêiner está bloqueado. Por exemplo, o contêiner é arquivado.

Exemplos

Solicitação

O exemplo a seguir mostra uma única solicitação de patch delta que mistura itens de criação e atualização em uma chamada. Os itens sem uma ID são tratados como operações de criação; os itens com uma ID são tratados como operações de atualização. Os itens que falham são relatados embutidos com uma anotação @Core.DataModificationException . Os itens restantes ainda têm êxito.

PATCH https://graph.microsoft.com/v1.0/storage/fileStorage/containers/b!ISJs1WRro0y0EWgkUYcktDa0mE8zSlFEqFzqRn70Zwp1CEtDEBZgQICPkRbil_5Z/columns
Content-Type: application/json

{
  "@context": "#$delta",
  "value": [
    {
      "id": "aec21c58-7f1f-4875-b438-d47ef622306c",
      "isSearchable": false
    },
    {
      "id": "aec21c58-7f1f-4875-b438-d47df622306c",
      "isSearchable": false
    },
    {
      "name": "booleanColumn1234",
      "boolean": {}
    },
    {
      "name": "booleanColumn33",
      "boolean": {}
    }
  ]
}

Resposta

O exemplo a seguir mostra a resposta. A resposta inclui um item para cada item na solicitação, na mesma ordem. Neste exemplo, o primeiro item de solicitação é uma operação de atualização bem-sucedida, o segundo item de solicitação é uma operação de atualização que falha porque não existe nenhuma coluna com essa ID, o terceiro item de solicitação é uma operação de criação bem-sucedida e o quarto item de solicitação é uma operação de criação que falha porque já existe uma coluna com esse nome.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#storage/fileStorage/containers('b%21ISJs1WRro0y0EWgkUYcktDa0mE8zSlFEqFzqRn70Zwp1CEtDEBZgQICPkRbil_5Z')/columns/$delta",
  "value": [
    {
      "@odata.etag": "\"4\"",
      "description": "",
      "displayName": "booleanColumn8",
      "id": "aec21c58-7f1f-4875-b438-d47ef622306c",
      "indexed": false,
      "isSearchable": false,
      "isDeletable": true,
      "isSealed": false,
      "name": "booleanColumn8",
      "readOnly": false,
      "type": "boolean",
      "boolean": {}
    },
    {
      "@Core.DataModificationException": {
        "@odata.type": "#Org.OData.Core.V1.DataModificationExceptionType",
        "failedOperation": "Update",
        "responseCode": 404,
        "info": {
          "code": "NotFound",
          "message": "Item not found."
        }
      },
      "id": "aec21c58-7f1f-4875-b438-d47df622306c",
      "type": "unknownFutureValue"
    },
    {
      "@odata.etag": "\"1\"",
      "description": "",
      "displayName": "booleanColumn1234",
      "id": "7eac4ae0-afe9-4a02-8cfa-9369558b44db",
      "indexed": false,
      "isSearchable": false,
      "isDeletable": true,
      "isSealed": false,
      "name": "booleanColumn1234",
      "readOnly": false,
      "type": "boolean",
      "boolean": {}
    },
    {
      "@Core.DataModificationException": {
        "@odata.type": "#Org.OData.Core.V1.DataModificationExceptionType",
        "failedOperation": "Create",
        "responseCode": 409,
        "info": {
          "code": "Conflict",
          "message": "A field with the specified name already exists"
        }
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "booleanColumn33",
      "type": "unknownFutureValue",
      "boolean": {}
    }
  ]
}