Criando um Bucket do serviço Object Storage
Crie um bucket do serviço Object Storage para armazenar objetos.
Para obter informações sobre as permissões necessárias para criar um bucket no serviço Object Storage, consulte Política Obrigatória do Serviço IAM.
O bucket é criado imediatamente e você pode começar a fazer upload de objetos para ele. Os objetos adicionados aos buckets do arquivo compactado são imediatamente arquivados e devem ser restaurados antes de estarem disponíveis para download.
Criando um bucket de camada de armazenamento predefinido Padrão
Por padrão, um bucket é criado na camada Padrão do serviço Object Storage. Não é necessário definir explicitamente
--storage-tier
. Padrão é a camada de armazenamento padrão principal usada para dados do serviço Object Storage. Use a camada Padrão para armazenar dados que requerem acesso rápido e imediato. No entanto, os buckets Padrão oferecem uma opção para designar e fazer upload de objetos para diferentes camadas de armazenamento (Acesso Não Frequente e Arquivo Compactado), enquanto permanecem no bucket Padrão.Use o comando oci os bucket create e os parâmetros necessários para criar um bucket:
oci os bucket create --compartment-id compartment_ocid --name bucket_name [OPTIONS]
Por exemplo:
oci os bucket create --compartment-id ocid.compartment.oc1..exampleuniqueID --name MyStandardBucket { "data": { "approximate-count": null, "approximate-size": null, "auto-tiering": null, "compartment-id": "ocid.compartment.oc1..exampleuniqueID", "created-by": "ocid1.user.oc1..exampleuniqueID", "defined-tags": {}, "etag": "7b7c3dc1-713f-4996-b176-a938345cae8e", "freeform-tags": {}, "id": "ocid1.bucket.oc1..exampleuniqueID", "is-read-only": false, "kms-key-id": null, "metadata": {}, "name": "MyStandardBucket", "namespace": "MyNamespace", "object-events-enabled": false, "object-level-audit-mode": "Disabled", "object-lifecycle-policy-etag": null, "public-access-type": "NoPublicAccess", "replication-enabled": false, "storage-tier": "Standard", "time-created": "2020-06-12T19:04:05.879000+00:00", "versioning": "Disabled" }, "etag": "7b7c3dc1-713f-4996-b176-a938345cae8e" }
Você também pode ativar o armazenamento automático em camadas em um bucket Padrão no momento da criação especificando o parâmetro--auto-tiering InfrequentAccess
opcional. Consulte Auto-Tiering para obter detalhes. Por exemplo:oci os bucket create --compartment-id ocid.compartment.oc1..exampleuniqueID --name MyStandardBucket --auto-tiering Infrequent Access { "data": { "approximate-count": null, "approximate-size": null, "auto-tiering": "InfrequentAccess", "compartment-id": "ocid.compartment.oc1..exampleuniqueID", "created-by": "ocid1.user.oc1..exampleuniqueID", "defined-tags": {}, "etag": "7b7c3dc1-713f-4996-b176-a938345cae8e", "freeform-tags": {}, "id": "ocid1.bucket.oc1..exampleuniqueID", "is-read-only": false, "kms-key-id": null, "metadata": {}, "name": "MyStandardBucket", "namespace": "MyNamespace", "object-events-enabled": false, "object-level-audit-mode": "Disabled", "object-lifecycle-policy-etag": null, "public-access-type": "NoPublicAccess", "replication-enabled": false, "storage-tier": "Standard", "time-created": "2020-06-12T19:04:05.879000+00:00", "versioning": "Disabled" }, "etag": "7b7c3dc1-713f-4996-b176-a938345cae8e" }
Um bucket de camada Padrão é criado imediatamente e você pode começar a fazer upload de objetos.
Criando um bucket de camada de armazenamento predefinido padrão de Arquivo Compactado
Para criar um bucket da camada de Arquivo Compactado, você deve definir explicitamente
--storage-tier Archive
. Arquivo Compactado é a camada de armazenamento padrão principal usada para dados do serviço Archive Storage. Use a camada Archive para armazenar dados que não exigem acesso imediato, mas que exigem longos períodos de retenção. O acesso aos dados na camada Arquivo Compactado não é imediato. Os dados arquivados devem ser restaurados para que possam ser acessados.oci os bucket create --compartment-id compartment_ocid --name archive_bucket_name --storage-tier Archive [OPTIONS]
Por exemplo:
oci os bucket create --compartment-id ocid.compartment.oc1..exampleuniqueID --name MyArchiveBucket { "data": { "approximate-count": null, "approximate-size": null, "auto-tiering": null, "compartment-id": "ocid.compartment.oc1..exampleuniqueID", "created-by": "ocid1.user.oc1..exampleuniqueID", "defined-tags": {}, "etag": "7b7c3dc1-713f-4996-b176-a938345cae8e", "freeform-tags": {}, "id": "ocid1.bucket.oc1..exampleuniqueID", "is-read-only": false, "kms-key-id": null, "metadata": {}, "name": "MyArchiveBucket", "namespace": "MyNamespace", "object-events-enabled": false, "object-level-audit-mode": "Disabled", "object-lifecycle-policy-etag": null, "public-access-type": "NoPublicAccess", "replication-enabled": false, "storage-tier": "Archive", "time-created": "2020-06-12T19:04:05.879000+00:00", "versioning": "Disabled" }, "etag": "c8889cd1-8414-41fb-84b7-3738c39e62c5" }
Um bucket do serviço Archive Storage é criado e você pode começar a fazer upload de objetos. Os objetos submetidos a upload para os buckets do serviço Archive Storage são imediatamente arquivados e devem ser restaurados antes de estarem disponíveis para download.
Criando um Bucket Público (Listagem e Download de Objetos do Bucket)
Para criar um bucket público que permita a listagem e o download de objetos de bucket, defina explicitamente --public-access-type ObjectRead
.oci os bucket create --compartment-id compartment_ocid --name bucket_name --public-access-type ObjectRead [OPTIONS]
Por exemplo:
oci os bucket create --compartment-id ocid.compartment.oc1..exampleuniqueID --name MyPublicObjectReadBucket --public-access-type ObjectRead { "data": { "approximate-count": null, "approximate-size": null, "auto-tiering": null, "compartment-id": "ocid.compartment.oc1..exampleuniqueID", "created-by": "ocid1.user.oc1..exampleuniqueID", "defined-tags": {}, "etag": "01096e0b-659a-4d9d-a806-d57568cf1b22", "freeform-tags": {}, "id": "ocid1.bucket.oc1..exampleuniqueID", "is-read-only": false, "kms-key-id": null, "metadata": {}, "name": "MyPublicObjectReadBucket", "namespace": "MyNamespace", "object-events-enabled": false, "object-lifecycle-policy-etag": null, "public-access-type": "ObjectRead", "replication-enabled": false, "storage-tier": "Standard", "time-created": "2020-06-22T19:04:05.879000+00:00", "versioning": "Disabled" }, "etag": "01096e0b-659a-4d9d-a806-d57568cf1b22" }
Criando um Bucket Público (Download de Objetos do Bucket)
Para criar um bucket público que permita apenas o download de objetos de bucket, defina explicitamente --public-access-type ObjectReadWithoutList
.oci os bucket create --compartment-id compartment_ocid --name bucket_name --public-access-type ObjectReadWithoutList [OPTIONS]
Por exemplo:
oci os bucket create --compartment-id ocid.compartment.oc1..exampleuniqueID --name MyPublicObjectReadBucket --public-access-type ObjectReadWithoutList { "data": { "approximate-count": null, "approximate-size": null, "auto-tiering": null, "compartment-id": "ocid.compartment.oc1..exampleuniqueID", "created-by": "ocid1.user.oc1..exampleuniqueID", "defined-tags": {}, "etag": "ec20c59a-f5ba-4a6d-8a7e-b69bb9bb76ad", "freeform-tags": {}, "id": "ocid1.bucket.oc1..exampleuniqueID", "is-read-only": false, "kms-key-id": null, "metadata": {}, "name": "MyPublicObjectReadWithoutListBucket", "namespace": "MyNamespace", "object-events-enabled": false, "object-lifecycle-policy-etag": null, "public-access-type": "ObjectReadWithoutList", "replication-enabled": false, "storage-tier": "Standard", "time-created": "2020-06-22T20:18:29.203000+00:00", "versioning": "Disabled" }, "etag": "ec20c59a-f5ba-4a6d-8a7e-b69bb9bb76ad" }
Criando um Bucket com Tags de Recurso
Você pode criar camadas padrão do serviço Object Storage ou buckets da camada Arquivo Compactado com tags de recurso.
Para adicionar tags de recursos ao criar um bucket, defina uma ou ambas as opções
--defined-tags
e--freeform-tags
.Dica
As opções--defined-tags
e--freeform-tags
requerem que a entrada de dados seja de um tipo complexo formatado em notação JSON válida. Consulte Especificando Entrada Complexa e Usando um Arquivo JSON para Entrada Complexa para obter informações sobre a formatação JSON.O exemplo de sintaxe a seguir cria um bucket padrão da camada Object Storage com uma tag definida:
oci os bucket create --compartment-id compartment_id --name bucket_name --defined-tags 'JSON_formatted_defined_tag' [OPTIONS]
Exemplos de formatação de tag definida:
'{"Operations": {"CostCenter": "42"}'
'{"Logistics": {"Procurement": "Madrid Center"}},"Financials":{"Production": "Unit 5"}}'
Observação
Se você estiver executando a CLI em um computador com Windows, pode ser necessário usar o caractere de barra invertida (\) para fazer escape das strings que contêm os valores de tag. Por exemplo, uma única tag definida é formatada como'{\"Logistics\": {\"Procurement\": \"Madrid Center\"}}'
Por exemplo:
oci os bucket create --compartment-id ocid.compartment.oc1..exampleuniqueID --name MyBucketDefined --defined-tags {"Operations": {"CostCenter": "42"}} { "data": { "approximate-count": null, "approximate-size": null, "auto-tiering": null, "compartment-id": "ocid.compartment.oc1..exampleuniqueID", "created-by": "ocid1.user.oc1..exampleuniqueID", "defined-tags": { "operations": { "costcenter": "42" } }, "etag": "ea88f444-842c-462d-965e-d3540b3b54f6", "freeform-tags": {}, "id": "ocid1.bucket.oc1..exampleuniqueID", "is-read-only": false, "kms-key-id": null, "metadata": {}, "name": "MyBucketDefined", "namespace": "MyNamespace", "object-events-enabled": false, "object-lifecycle-policy-etag": null, "public-access-type": "NoPublicAccess", "replication-enabled": false, "storage-tier": "Standard", "time-created": "2020-06-23T19:47:51.362000+00:00", "versioning": "Disabled" }, "etag": "ea88f444-842c-462d-965e-d3540b3b54f6" }
O exemplo de sintaxe a seguir cria um bucket de camada Padrão com uma tag de formato livre:
oci os bucket create --compartment-id compartment_ocid --name bucket_name --freeform-tags JSON_formatted_free-form_tag [OPTIONS]
Exemplos de formatação de tag de formato livre:
'{"Chicago_Team": "marketing_videos"}'
'{"Project": "prototype 3","Manager": "Meadows"}'
Observação
Se você estiver executando a CLI em um computador com Windows, pode ser necessário usar o caractere de barra invertida (\) para fazer escape das strings que contêm os valores de tag. Por exemplo, uma única tag de formato livre é formatada como'{\"Chicago_Team\": {\"marketing_videos\"}}'
Por exemplo:
oci os bucket create --compartment-id ocid.compartment.oc1..exampleuniqueID --name MyBucketFreeform --freeform-tags {"Chicago_Team": "marketing_videos"} { "data": { "approximate-count": null, "approximate-size": null, "compartment-id": "ocid.compartment.oc1..exampleuniqueID", "created-by": "ocid1.user.oc1..exampleuniqueID", "defined-tags": {}, "etag": "6f4bda10-fc8b-462e-8563-875639fd7294", "freeform-tags": { "Chicago_Team": "marketing_videos" }, "is-read-only": false, "id": "ocid1.bucket.oc1..exampleuniqueID", "kms-key-id": null, "metadata": {}, "name": "MyBucketFreeform", "namespace": "MyNamespace", "object-events-enabled": false, "object-lifecycle-policy-etag": null, "public-access-type": "NoPublicAccess", "storage-tier": "Standard", "time-created": "2020-06-23T20:51:16.260000+00:00" }, "etag": "6f4bda10-fc8b-462e-8563-875639fd7294" }
Para obter uma lista completa dos parâmetros e valores dos comandos da CLI, consulte a Referência de Comandos da CLI.
Designando uma Chave ao bucket
Você pode designar uma chave do serviço Vault a um bucket que está criando incluindo o parâmetro kms_key_id.
oci os bucket create --compartment-id ocid.compartment.oc1..exampleuniqueID --name bucket_name --kms-key-id kms_key_id [OPTIONS]
em que
kms_key_id
é o OCID das versões de chave que contêm o material criptográfico usado para criptografar e decriptografar dados, protegendo os dados no local em que eles estão armazenados.Por exemplo:
oci os bucket create --compartment-id ocid.compartment.oc1..exampleuniqueID --name MyKeyBucket --kms-key-id ocid1.key.region1.sea..exampleuniqueID { "data": { "approximate-count": null, "approximate-size": null, "auto-tiering": null, "compartment-id": "ocid.compartment.oc1..exampleuniqueID", "created-by": "ocid1.user.oc1..exampleuniqueID", "defined-tags": {}, "etag": "e7f29fdd-b5f5-42e5-a98b-80883f9f2f32", "freeform-tags": {}, "id": "ocid1.bucket.oc1..exampleuniqueID", "is-read-only": false, "kms-key-id": "ocid1.key.region1.sea..exampleuniqueID", "metadata": {}, "name": "MyKeyBucket", "namespace": "MyNamespace", "object-events-enabled": false, "object-lifecycle-policy-etag": null, "public-access-type": "NoPublicAccess" "replication-enabled": false, "storage-tier": "Standard", "time-created": "2020-06-29T23:00:35.490000+00:00", "versioning": "Disabled" }, "etag": "e7f29fdd-b5f5-42e5-a98b-80883f9f2f32" }
Para obter uma lista completa dos parâmetros e valores dos comandos da CLI, consulte a Referência de Comandos da CLI.
Execute a operação CreateBucket para criar um bucket.
Ao acessar a API do serviço Object Storage, o nome do bucket é usado com o nome do namespace do Object Storage para formar o URL da solicitação:
n/object_storage_namespace/b/bucket
Duas propriedades-chave no payload são:
-
A propriedade
publicAccessType
controla se o bucket é privado ou público e limita a capacidade de listar o conteúdo do bucket público. -
A propriedade
objectEventsEnabled
controla se os eventos são emitidos para os objetos nesse bucket.
-