Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Neste início rápido, você aprenderá a usar o PHP para carregar, baixar e listar blobs de bloco em um contêiner no armazenamento de Blobs do Azure.
Pré-requisitos
Para acessar o Armazenamento do Azure, você precisará de uma assinatura do Azure. Se ainda não tiver uma subscrição, crie uma conta gratuita antes de começar.
Todo o acesso ao Armazenamento do Azure ocorre por meio de uma conta de armazenamento. Para este início rápido, crie uma conta de armazenamento usando o portal do Azure, o Azure PowerShell ou a CLI do Azure. Para obter ajuda para criar uma conta de armazenamento, consulte Criar uma conta de armazenamento.
Verifique se você tem os seguintes pré-requisitos adicionais instalados:
Faça o download da aplicação de exemplo
O aplicativo de exemplo usado neste início rápido é um aplicativo PHP básico.
Use o git para baixar uma cópia do aplicativo para seu ambiente de desenvolvimento.
git clone https://github.com/Azure-Samples/storage-blobs-php-quickstart.git
Este comando clona o repositório para a sua pasta local do git. Para abrir o aplicativo de exemplo PHP, procure a pasta storage-blobs-php-quickstart e abra o arquivo phpqs.php.
Copiar as credenciais do Portal do Azure
O aplicativo de exemplo precisa autorizar o acesso à sua conta de armazenamento. Forneça as credenciais da conta de armazenamento ao aplicativo na forma de uma cadeia de conexão. Para ver as credenciais da sua conta de armazenamento:
No portal do Azure , vá para sua conta de armazenamento.
Na seção Configurações da visão geral da conta de armazenamento, selecione Teclas de acesso para exibir as chaves de acesso da conta e a cadeia de conexão.
Anote o nome da sua conta de armazenamento, que você precisará para autorização.
Encontre o valor da chave em key1 e selecione Copiar para copiar a chave da conta.
Configurar a cadeia de ligação de armazenamento
No aplicativo, você deve fornecer o nome da conta de armazenamento e a chave da conta para criar a instância BlobRestProxy para seu aplicativo. É recomendável armazenar esses identificadores em uma variável de ambiente na máquina local que executa o aplicativo. Use um dos exemplos a seguir, dependendo do seu sistema operacional, para criar a variável de ambiente. Substitua os valores youraccountname e youraccountkey pelo nome e chave da sua conta.
Configurar o seu ambiente
Pegue a pasta da sua pasta git local e coloque-a em um diretório servido pelo seu servidor PHP. Em seguida, abra um prompt de comando com escopo para esse mesmo diretório e digite: php composer.phar install
Executar o exemplo
Este exemplo cria um arquivo de teste na pasta '.' . O programa de exemplo carrega o arquivo de teste para o armazenamento de Blob, lista os blobs no contêiner e baixa o arquivo com um novo nome.
Execute o exemplo. A saída a seguir é um exemplo da saída retornada ao executar o aplicativo:
Uploading BlockBlob: HelloWorld.txt
These are the blobs present in the container: HelloWorld.txt: https://myexamplesacct.blob.core.windows.net/blockblobsleqvxd/HelloWorld.txt
This is the content of the blob uploaded: Hello Azure!
Quando você pressiona o botão exibido, o programa de exemplo exclui o contêiner de armazenamento e os arquivos. Antes de continuar, verifique a pasta do servidor para os dois arquivos. Você pode abri-los e ver que eles são idênticos.
Você também pode usar uma ferramenta como o Gerenciador de Armazenamento do Azure para exibir os arquivos no armazenamento de Blob. O Explorador de Armazenamento do Azure é uma ferramenta multiplataformas gratuita que lhe permite aceder às informações da sua conta de armazenamento.
Depois de verificar os arquivos, pressione qualquer tecla para concluir a demonstração e excluir os arquivos de teste. Agora que você sabe o que o exemplo faz, abra o arquivo example.rb para examinar o código.
Compreender o código de exemplo
Em seguida, percorremos o código de exemplo para que você possa entender como ele funciona.
Obter referências aos objetos de armazenamento
A primeira coisa a fazer é criar as referências aos objetos usados para acessar e gerenciar o armazenamento de Blob. Esses objetos se baseiam uns nos outros, e cada um é usado pelo próximo na lista.
- Crie uma instância do objeto BlobRestProxy de armazenamento do Azure para configurar credenciais de conexão.
- Crie o objeto BlobService que aponta para o serviço Blob em sua conta de armazenamento.
- Crie o objeto Container , que representa o contêiner que você está acessando. Os contêineres são usados para organizar seus blobs como você usa pastas no computador para organizar seus arquivos.
Depois de teres o objeto contêiner blobClient , podes criar o objeto de blob Block que aponta para o blob específico no qual estás interessado. Em seguida, você pode executar operações como carregar, baixar e copiar.
Importante
Os nomes dos contentores têm de estar em minúscula. Consulte Nomenclatura e referência de contêineres, blobs e metadados para obter mais informações sobre nomes de contêineres e blobs.
Nesta seção, você configura uma instância do cliente de armazenamento do Azure, instancia o objeto de serviço blob, cria um novo contêiner e define permissões no contêiner para que os blobs sejam públicos. O contêiner é chamado quickstartblobs.
# Setup a specific instance of an Azure::Storage::Client
$connectionString = "DefaultEndpointsProtocol=https;AccountName=".getenv('account_name').";AccountKey=".getenv('account_key');
// Create blob client.
$blobClient = BlobRestProxy::createBlobService($connectionString);
# Create the BlobService that represents the Blob service for the storage account
$createContainerOptions = new CreateContainerOptions();
$createContainerOptions->setPublicAccess(PublicAccessType::CONTAINER_AND_BLOBS);
// Set container metadata.
$createContainerOptions->addMetaData("key1", "value1");
$createContainerOptions->addMetaData("key2", "value2");
$containerName = "blockblobs".generateRandomString();
try {
// Create container.
$blobClient->createContainer($containerName, $createContainerOptions);
Carregar blobs para o contentor
O armazenamento de blobs suporta blobs de bloco, blobs de anexação e blobs de página. Os blobs de bloco são os mais comumente usados, e é o que é utilizado nesta introdução rápida.
Para carregar um arquivo para um blob, obtenha o caminho completo do arquivo juntando o nome do diretório e o nome do arquivo na unidade local. Em seguida, você pode carregar o arquivo para o caminho especificado usando o método createBlockBlob().
O código de exemplo pega um arquivo local e o carrega no Azure. O arquivo é armazenado como myfile e o nome do blob como fileToUpload no código. O exemplo a seguir carrega o arquivo para seu contêiner chamado quickstartblobs.
$myfile = fopen("HelloWorld.txt", "w") or die("Unable to open file!");
fclose($myfile);
# Upload file as a block blob
echo "Uploading BlockBlob: ".PHP_EOL;
echo $fileToUpload;
echo "<br />";
$content = fopen($fileToUpload, "r");
//Upload blob
$blobClient->createBlockBlob($containerName, $fileToUpload, $content);
Para executar uma atualização parcial do conteúdo de um blob de bloco, use o método createblocklist(). Os blobs de bloco podem ter até 4,7 TB e podem ser qualquer coisa, desde planilhas do Excel até arquivos de vídeo grandes. Os blobs de página são usados principalmente para os arquivos VHD usados para fazer backup de VMs IaaS. Os blobs de acréscimo servem para registo, como quando quer escrever num ficheiro e continuar a adicionar mais informações. O blob de adição deve ser utilizado em um modelo de único escritor. A maioria dos objetos armazenados no Blob Storage são blobs de bloco.
Listar os blobs em um contêiner
Você pode obter uma lista de arquivos no contêiner usando o método listBlobs( ). O código a seguir recupera a lista de blobs e, em seguida, faz um loop através deles, mostrando os nomes dos blobs encontrados em um contêiner.
$listBlobsOptions = new ListBlobsOptions();
$listBlobsOptions->setPrefix("HelloWorld");
echo "These are the blobs present in the container: ";
do{
$result = $blobClient->listBlobs($containerName, $listBlobsOptions);
foreach ($result->getBlobs() as $blob)
{
echo $blob->getName().": ".$blob->getUrl()."<br />";
}
$listBlobsOptions->setContinuationToken($result->getContinuationToken());
} while($result->getContinuationToken());
Obtenha o conteúdo dos seus blobs
Obtenha o conteúdo de seus blobs usando o método getBlob( ). O código a seguir exibe o conteúdo do blob carregado em uma seção anterior.
$blob = $blobClient->getBlob($containerName, $fileToUpload);
fpassthru($blob->getContentStream());
Limpar recursos
Se você não precisar mais dos blobs carregados neste início rápido, poderá excluir o contêiner inteiro usando o método deleteContainer( ). Se os arquivos criados não forem mais necessários, use o método deleteBlob() para excluir os arquivos.
// Delete blob.
echo "Deleting Blob".PHP_EOL;
echo $fileToUpload;
echo "<br />";
$blobClient->deleteBlob($_GET["containerName"], $fileToUpload);
// Delete container.
echo "Deleting Container".PHP_EOL;
echo $_GET["containerName"].PHP_EOL;
echo "<br />";
$blobClient->deleteContainer($_GET["containerName"]);
//Deleting local file
echo "Deleting file".PHP_EOL;
echo "<br />";
unlink($fileToUpload);
Recursos para desenvolvimento de aplicações PHP com blobs
Veja estes recursos adicionais para desenvolvimento PHP com armazenamento de Blob:
- Visualize, baixe e instale o código-fonte da biblioteca de cliente PHP para o Armazenamento do Azure no GitHub.
- Explore amostras de armazenamento Blob escritas usando a biblioteca cliente PHP.
Próximos passos
Neste início rápido, você aprendeu como transferir arquivos entre um disco local e o armazenamento de blob do Azure usando PHP. Para saber mais sobre como trabalhar com PHP, continue em nosso centro de desenvolvedores PHP.
Para obter mais informações sobre o Gerenciador de Armazenamento e Blobs, consulte Gerenciar recursos de armazenamento de Blob do Azure com o Gerenciador de Armazenamento.