Criar Contentor

A Create Container operação cria um novo contentor na conta especificada. Se o contentor com o mesmo nome já existir, a operação falhará.

O recurso de contentor inclui metadados e propriedades para esse contentor. Não inclui uma lista dos blobs no contentor.

Pedir

Pode construir o Create Container pedido, conforme mostrado aqui. Recomendamos que utilize HTTPS. O nome do contentor só pode incluir carateres em minúsculas e tem de seguir estas regras de nomenclatura. No URL, substitua myaccount pelo nome da sua conta de armazenamento.

Método URI do pedido Versão HTTP
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container HTTP/1.1

Pedido de serviço de armazenamento emulado

Quando fizer um pedido contra o serviço de armazenamento emulado, especifique o nome do anfitrião do emulador e a porta de Armazenamento de Blobs como 127.0.0.1:10000, seguido do nome da conta de armazenamento emulada.

Método URI do pedido Versão HTTP
PUT http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container HTTP/1.1

Para obter mais informações, veja Utilizar o emulador do Azurite para o desenvolvimento local do Armazenamento do Azure.

Parâmetros URI

Pode especificar os seguintes parâmetros adicionais no URI do pedido.

Parâmetro Description
timeout Opcional. O timeout parâmetro é expresso em segundos. Para obter mais informações, veja Definir tempos limite para operações de Armazenamento de Blobs.

Cabeçalhos do pedido

Os cabeçalhos de pedido obrigatórios e opcionais estão descritos na seguinte tabela:

Cabeçalho do pedido Description
Authorization Obrigatório. Especifica o esquema de autorização, o nome da conta e a assinatura. Para obter mais informações, veja Autorizar pedidos para o Armazenamento do Azure.
Date ou x-ms-date Obrigatório. Especifica a hora Hora Universal Coordenada (UTC) do pedido. Para obter mais informações, veja Autorizar pedidos para o Armazenamento do Azure.
x-ms-version Necessário para todos os pedidos autorizados. Especifica a versão da operação a utilizar para este pedido. Para obter mais informações, veja Controlo de versões dos serviços de Armazenamento do Azure.
x-ms-meta-name:value Opcional. Um par name-value para associar ao contentor como metadados. Nota: a partir da versão 2009-09-19, os nomes de metadados têm de cumprir as regras de nomenclatura dos identificadores C#.
x-ms-blob-public-access Opcional. Especifica se os dados no contentor podem ser acedidos publicamente e o nível de acesso. Valores possíveis incluem:

- container: especifica o acesso de leitura público completo para dados de contentores e blobs. Os clientes podem enumerar blobs no contentor através de um pedido anónimo, mas não podem enumerar contentores na conta de armazenamento.
- blob: Especifica o acesso de leitura público para blobs. Os dados de blobs neste contentor podem ser lidos através de um pedido anónimo, mas os dados de contentor não estão disponíveis. Os clientes não podem enumerar blobs no contentor através de um pedido anónimo.

Se este cabeçalho não estiver incluído no pedido, os dados de contentor são privados para o proprietário da conta.
x-ms-client-request-id Opcional. Fornece um valor opaco gerado pelo cliente com um limite de carateres de 1 kibibyte (KiB) que é registado nos registos quando o registo é configurado. Recomendamos vivamente que utilize este cabeçalho para correlacionar as atividades do lado do cliente com os pedidos que o servidor recebe. Para obter mais informações, veja Monitorizar Armazenamento de Blobs do Azure.

Cabeçalhos de pedido (âmbitos de encriptação)

A partir da versão 2019-02-02, pode especificar os seguintes cabeçalhos num pedido para definir um âmbito de encriptação predefinido num contentor. Se definir um âmbito de encriptação, este é automaticamente utilizado para encriptar todos os blobs que são carregados para o contentor.

Cabeçalho do pedido Description
x-ms-default-encryption-scope Obrigatório. O âmbito de encriptação a definir como predefinição no contentor.
x-ms-deny-encryption-scope-override Obrigatório. Os valores são true ou false. Definir este cabeçalho para true garantir que todos os blobs que são carregados para este contentor utilizam o âmbito de encriptação predefinido. Quando este cabeçalho é false, um cliente pode carregar um blob com um âmbito de encriptação diferente do âmbito predefinido.

Corpo do pedido

Nenhum.

Pedido de exemplo

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container HTTP/1.1  
  
Request Headers:  
x-ms-version: 2011-08-18  
x-ms-date: Sun, 25 Sep 2011 22:50:32 GMT  
x-ms-meta-Name: StorageSample  
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=  

Resposta

A resposta inclui um código de estado HTTP e um conjunto de cabeçalhos de resposta.

Código de estado

Uma operação bem-sucedida devolve o código de estado 201 (Criado).

Para obter informações sobre códigos de estado, veja Códigos de estado e de erro.

Cabeçalhos de resposta

A resposta para esta operação inclui os cabeçalhos descritos na tabela seguinte. A resposta também pode incluir cabeçalhos HTTP padrão adicionais. Todos os cabeçalhos padrão estão em conformidade com a especificação do protocolo HTTP/1.1.

Cabeçalho de resposta Descrição
ETag O ETag para o contentor. Se a versão do pedido for 2011-08-18 ou posterior, o valor ETag estará entre aspas.
Last-Modified Devolve a data e hora em que o contentor foi modificado pela última vez. O formato de data segue RFC 1123. Para obter mais informações, veja Representação dos valores de data/hora nos cabeçalhos.

Qualquer operação que modifique o contentor ou as respetivas propriedades ou metadados atualiza a hora da última modificação. As operações em blobs não afetam a última hora modificada do contentor.
x-ms-request-id Identifica exclusivamente o pedido que foi feito. Pode utilizá-lo para resolver o pedido. Para obter mais informações, veja Resolver problemas de operações da API
x-ms-version Indica a versão do Armazenamento de Blobs que é utilizada para executar o pedido. Este cabeçalho é devolvido para pedidos feitos na versão 2009-09-19 ou posterior.
Date O valor de data/hora UTC gerado pelo serviço, que indica a hora em que a resposta foi iniciada.
x-ms-client-request-id Pode ser utilizado para resolver problemas de pedidos e respostas correspondentes. O valor deste cabeçalho é igual ao valor do x-ms-client-request-id cabeçalho se estiver presente no pedido e o valor não contém mais de 1024 carateres ASCII visíveis. Se o x-ms-client-request-id cabeçalho não estiver presente no pedido, o cabeçalho não estará presente na resposta.

Corpo da resposta

Nenhum.

Resposta de amostra

Response status:  
HTTP/1.1 201 Created  
  
Response headers:  
Transfer-Encoding: chunked  
Date: Sun, 25 Sep 2011 23:00:12 GMT  
ETag: “0x8CB14C3E29B7E82”  
Last-Modified: Sun, 25 Sep 2011 23:00:06 GMT  
x-ms-version: 2011-08-18  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  

Autorização

A autorização é necessária ao chamar qualquer operação de acesso a dados no Armazenamento do Azure. Pode autorizar a Create Container operação conforme descrito abaixo.

O Armazenamento do Azure suporta a utilização de Microsoft Entra ID para autorizar pedidos a dados de blobs. Com Microsoft Entra ID, pode utilizar o controlo de acesso baseado em funções do Azure (RBAC do Azure) para conceder permissões a um principal de segurança. O principal de segurança pode ser um utilizador, grupo, principal de serviço de aplicação ou identidade gerida do Azure. O principal de segurança é autenticado por Microsoft Entra ID para devolver um token OAuth 2.0. Em seguida, o token pode ser utilizado para autorizar um pedido contra o serviço Blob.

Para saber mais sobre a autorização através de Microsoft Entra ID, veja Autorizar o acesso a blobs com Microsoft Entra ID.

Permissões

Abaixo encontra-se a ação RBAC necessária para um utilizador, grupo ou principal de serviço Microsoft Entra chamar a Create Container operação e a função RBAC do Azure com menos privilégios que inclui esta ação:

Para saber mais sobre como atribuir funções com o RBAC do Azure, veja Atribuir uma função do Azure para acesso a dados de blobs.

Observações

Os contentores são criados imediatamente na conta de armazenamento. Não é possível aninhar um contentor dentro de outro.

Opcionalmente, pode criar um contentor de raiz ou predefinido para a sua conta de armazenamento. O contentor de raiz permite referenciar um blob a partir do nível superior da hierarquia da conta de armazenamento, sem referenciar o nome do contentor.

Para adicionar o contentor de raiz à sua conta de armazenamento, crie um contentor com o nome $root. Construa o pedido da seguinte forma:

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/$root?restype=container HTTP/1.1  
  
Request Headers:  
x-ms-version: 2011-08-18  
x-ms-date: Sun, 25 Sep 2011 22:50:32 GMT  
x-ms-meta-Name: StorageSample  
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=  

Pode especificar metadados para um contentor quando estiver a criá-lo ao incluir um ou mais cabeçalhos de metadados no pedido. O formato do cabeçalho de metadados é x-ms-meta-name:value.

Se um contentor com o mesmo nome estiver a ser eliminado quando Create Container é chamado, o servidor devolve o código de estado 409 (Conflito) e fornece informações de erro adicionais que indicam que o contentor está a ser eliminado.

Faturação

Os pedidos de preços podem ter origem em clientes que utilizam APIs de Armazenamento de Blobs, diretamente através da API REST do Armazenamento de Blobs ou a partir de uma biblioteca de cliente do Armazenamento do Azure. Estes pedidos acumulam custos por transação. O tipo de transação afeta a forma como a conta é cobrada. Por exemplo, as transações de leitura acumulam-se numa categoria de faturação diferente das transações de escrita. A tabela seguinte mostra a categoria de faturação dos Create Container pedidos com base no tipo de conta de armazenamento:

Operação Tipo de conta de armazenamento Categoria de faturação
Criar Contentor Blob de blocos Premium
Standard para fins gerais v2
Standard para fins gerais v1
Listar e Criar Operações de contentor

Para saber mais sobre os preços da categoria de faturação especificada, veja Preços do Armazenamento de Blobs do Azure.

Ver também

Autorizar pedidos para o Armazenamento do Azure
Códigos de estado e de erro
Códigos de erro do Armazenamento de Blobs
Contentores de nome e referência, blobs e metadados
Definir e obter propriedades e metadados para recursos de blobs
Definir ACL de Contentor