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.
Importante
A Microsoft recomenda a utilização de Microsoft Entra ID com identidades geridas para autorizar pedidos para o Armazenamento do Azure. Microsoft Entra ID fornece segurança superior e facilidade de utilização em comparação com a autorização de Chave Partilhada.
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 estão listadas as ações RBAC necessárias para que um utilizador Microsoft Entra, grupo, identidade gerida ou principal de serviço chame a Create Container
operação e a função RBAC do Azure com menos privilégios que inclua esta ação:
- Ação RBAC do Azure:Microsoft.Storage/storageAccounts/blobServices/containers/write
- Função incorporada com menos privilégios:Contribuidor de Dados do Blob de Armazenamento
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 Create 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