Noções básicas sobre recursos do Google Cloud Storage
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
buckets, objetos e ACLs
bucket é o local de armazenamento onde você lê e grava arquivos. É preciso sempre especificar um bucket ao usar a biblioteca de cliente do App Engine para Cloud Storage. Um projeto pode acessar vários buckets. A biblioteca de cliente não é compatível com a criação de intervalos.
As listas de controle de acesso (ACLs, na sigla em inglês) controlam o acesso aos buckets e aos objetos contidos neles. O projeto e o aplicativo do App Engine são adicionados automaticamente à ACL que permite acesso ao bucket quando você cria um bucket no projeto.
A ACL que permite o acesso ao bucket é diferente das potencialmente muitas ACLs que regem os objetos nesse bucket. Por isso, o app tem privilégios de leitura e gravação no(s) bucket(s) para o(s) qual(is) está ativado, mas só tem direitos completos sobre os objetos que ele cria no bucket. O acesso do app a objetos criados por outros apps ou pessoas é limitado aos direitos atribuídos ao app pelo criador do objeto.
Se um objeto for criado no bucket sem uma ACL definida explicitamente para ele,
ele usará a ACL de objeto padrão atribuída ao bucket pelo proprietário do bucket. Se
o proprietário do bucket não tiver especificado uma ACL de objeto padrão, o objeto padrão será
public-read
, o que significa que qualquer pessoa que tiver permissão de acesso ao bucket poderá ler o objeto.
ACLs e a biblioteca de cliente
Um aplicativo que usa a biblioteca de cliente pode alterar a ACL do bucket e também especificar uma ACL que controla o acesso aos objetos que ela cria.
As configurações da ACL disponíveis estão descritas na documentação da
API de armazenamento.
Como modificar objetos do Cloud Storage
Depois de criar um objeto em um bucket, você não poderá modificar nem anexar a ele. Em vez disso, você precisa substituir o objeto por um novo objeto do mesmo nome que contenha as alterações desejadas.
Cloud Storage e subdiretórios
A biblioteca de cliente do App Engine para Cloud Storage permite fornecer delimitadores de subdiretório ao criar um objeto, mas não há subdiretórios verdadeiros no Cloud Storage. Em vez disso, um subdiretório no Cloud Storage faz parte do nome de arquivo do objeto.
Por exemplo, suponha que a criação de um objeto
somewhere/over/the/rainbow.mp3
armazene o arquivo rainbow.mp3
no
subdiretório somewhere/over/the/
. Em vez disso, o nome do objeto é definido como
somewhere/over/the/rainbow.mp3
.
A seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-09-04 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-04 UTC."],[[["\u003cp\u003eThis API supports first-generation runtimes and can be used when upgrading to corresponding second-generation runtimes, with a migration guide available for App Engine Go 1.12+ runtime updates.\u003c/p\u003e\n"],["\u003cp\u003eA bucket serves as the storage location for reading and writing files, and it must be specified when using the App Engine client library, although the library does not support bucket creation.\u003c/p\u003e\n"],["\u003cp\u003eAccess control lists (ACLs) manage access to buckets and their contents, automatically granting your project and App Engine app bucket access, but object access depends on the creator's permissions.\u003c/p\u003e\n"],["\u003cp\u003eWhile the client library allows for subdirectory delimiters in object creation, Cloud Storage does not have true subdirectories; they are simply part of the object's filename.\u003c/p\u003e\n"],["\u003cp\u003eOnce an object is created in Cloud Storage it cannot be directly modified, and instead must be overwritten with a new object containing the desired changes.\u003c/p\u003e\n"]]],[],null,["# Understanding Google Cloud Storage Features\n\n| This API is supported for first-generation runtimes and can be used when [upgrading to corresponding second-generation runtimes](/appengine/docs/standard/\n| go\n| /services/access). If you are updating to the App Engine Go 1.12+ runtime, refer to the [migration guide](/appengine/migration-center/standard/migrate-to-second-gen/go-differences) to learn about your migration options for legacy bundled services.\n\nBuckets, objects, and ACLs\n--------------------------\n\nA bucket is the storage location you read files from and write files to. You\nmust always specify a bucket when using the App Engine client library for\nCloud Storage. Your project can access multiple buckets. Note that the client\nlibrary doesn't support\n[bucket creation](/appengine/docs/legacy/standard/go111/googlecloudstorageclient/setting-up-cloud-storage#activating_a_cloud_storage_bucket).\n\nAccess control lists (ACLs) control access to the buckets and to the objects\ncontained in them. Your project and your App Engine app are automatically added\nto the ACL that permits bucket access when you create a bucket in your project.\n\nNote that the ACL that permits bucket access is distinct from the potentially\nmany ACLs governing the objects in that bucket. Thus, your app has read and\nwrite privileges to the bucket(s) it is activated for, but it only has full\nrights to the objects it creates in the bucket. Your app's access to objects\ncreated by other apps or persons is limited to the rights given to your app by\nthe objects' creator.\n\nIf an object is created in the bucket without an ACL explicitly defined for it,\nit uses the default object ACL assigned to the bucket by the bucket owner. If\nthe bucket owner has not specified a default object ACL, the object default is\n`public-read`, which means that anyone allowed bucket access can read the object.\n\nACLs and the client library\n---------------------------\n\nAn app using the client library can change the bucket ACL and can also specify an ACL that controls access to the objects it creates. The available ACL settings are described under documentation for the [storage API](/go/docs/reference/cloud.google.com/go/storage/latest#functions).\n\nModifying Cloud Storage objects\n-------------------------------\n\nOnce you create an object in a bucket, you cannot modify or append to it. Instead,\nyou must overwrite the object with a new object of the same name that contains\nyour desired changes.\n\nCloud Storage and subdirectories\n--------------------------------\n\nThe App Engine client library for Cloud Storage lets you supply subdirectory\ndelimiters when you create an object, but there are no true subdirectories in\nCloud Storage. Instead, a subdirectory in Cloud Storage is a part of the object\nfilename.\n\nFor example, you might assume that creating an object\n`somewhere/over/the/rainbow.mp3` would store the file `rainbow.mp3` in the\nsubdirectory `somewhere/over/the/`. Instead, the object name is set to\n`somewhere/over/the/rainbow.mp3`.\n\nWhat's next\n-----------\n\n- Visit the [API Reference documentation](https://godoc.org/cloud.google.com/go/storage).\n- Learn how to [set up Cloud Storage](/appengine/docs/legacy/standard/go111/googlecloudstorageclient/setting-up-cloud-storage)."]]