Programmer's Reference Guide
| Zend_Service_WindowsAzure |
Zend_Service_WindowsAzure_Storage_Blob
Blob Speicher speichert ein Set von Binären Daten. Blog Speicher bietet die folgenden drei Ressourcen an: den Speicher Account, Container und Blobs. Im eigenen Speicher Account bieten Container einen Weg um Sets von Blobs im Speicher Account zu organisieren.
Blog Speicher wird von Windows Azure als REST API angeboten welcher von der Klasse Zend_Service_WindowsAzure_Storage_Blob umhüllt ist um ein natives PHP Interface zum Speicher Account zu bieten.
API Beispiele
Dieser Abschnitt zeigt einige Beispiele der Verwendung der Klasse Zend_Service_WindowsAzure_Storage_Blob. Andere Features sind im Download Paket vorhanden sowie in der detailierten API Dokumentation dieser Features.
Erstellung einer Speicher Containers
Bei Verwendung des folgenden Codes kann ein Speicher Container auf dem Development Speicher erstellt werden.
Beispiel #1 Erstellung eines Speicher Containers
- $storageClient = new Zend_Service_WindowsAzure_Storage_Blob();
- $result = $storageClient->createContainer('testcontainer');
Löschen eines Speicher Containers
Bei Verwendung des folgenden Codes kann ein Blob Speicher Container vom Development Speicher entfernt werden.
Beispiel #2 Löschen eines Speicher Containers
- $storageClient = new Zend_Service_WindowsAzure_Storage_Blob();
- $storageClient->deleteContainer('testcontainer');
Speichern eines Blobs
Bei Verwendung des folgenden Codes kann ein Blob zu einem Blog Speicher Container auf dem Development Speichers hochgeladen werden. Es ist zu beachten das der Container hierfür bereits vorher erstellt worden sein muss.
Beispiel #3 Speichern eines Blobs
- $storageClient = new Zend_Service_WindowsAzure_Storage_Blob();
- // /home/maarten/example.txt auf Azure hochladen
- $result = $storageClient->putBlob(
- 'testcontainer', 'example.txt', '/home/maarten/example.txt'
- );
Kopieren eines Blobs
Bei Verwendung des folgenden Codes kann ein Blob von innerhalb des Speicher Accounts kopiert werden. Der Vorteil der Verwendung dieser Methode besteht darin das die Kopieroperation in der Azure Wolke stattfindet und kein Downloaden vom Blob stattfinden muss. Es ist zu beachten das in diesem Fall der Container bereits vorher erstellt worden sein muss.
Beispiel #4 Kopieren eines Blobs
- $storageClient = new Zend_Service_WindowsAzure_Storage_Blob();
- // Kopiert example.txt auf example2.txt
- $result = $storageClient->copyBlob(
- 'testcontainer', 'example.txt', 'testcontainer', 'example2.txt'
- );
Herunterladen eines Blobs
Bei Verwendung des folgenden Codes kann ein Blob von einem Blob Speicher Container auf den Development Speicher heruntergeladen werden. Es ist zu beachten das der Container hierfür bereits vorher erstellt wurden sein und ein Blob darauf hochgeladen sein muss.
Beispiel #5 Herunterladen eines Blobs
- $storageClient = new Zend_Service_WindowsAzure_Storage_Blob();
- // Lädt die Datei /home/maarten/example.txt herunter
- $storageClient->getBlob(
- 'testcontainer', 'example.txt', '/home/maarten/example.txt'
- );
Einen Blob öffentlich verfügbar machen
Standardmäßig sind Blob Speicher Container in Windows Azure geschützt vor öffentlichem Zugriff. Wenn ein Benutzer im Internet Zugriff auf einen Blob Container haben soll, kann seine ACL auf öffentlich (public) gesetzt werden. Es ist zu beachten dass das auf den kompletten Container angewendet wird, und nicht auf einen einzelnen Blob!
Bei Verwendung des folgenden Codes kann die ACL eines Blob Speicher Containers auf den Development Speicher gesetzt werden. Es ist zu beachten das der Container hierfür bereits vorher erstellt worden sein muss.
Beispiel #6 Einen Blob öffentlich zugänglich machen
- $storageClient = new Zend_Service_WindowsAzure_Storage_Blob();
- // Den Container öffentlich zugänglich machen
- // (alle Blobs durchgehen und Blob Daten lesen)
- $storageClient->setContainerAcl(
- 'testcontainer',
- Zend_Service_WindowsAzure_Storage_Blob::ACL_PUBLIC_CONTAINER
- );
Stamm Container
Der Windows Azure Blob Speicher bietet Unterstützung für die Arbeit mit einem "Stamm Container" (root). Das bedeutet das ein Blob im Stamm des Speicher Containers gespeichert werden kann, z.B. http://myaccount.blob.core.windows.net/somefile.txt.
Um mit dem Stamm Container zu arbieten sollte er zuerst durch Verwendung der createContainer() Methode erstellt worden sein, und der Container sollte $root heißen. Alle anderen Operationen auf dem Stamm Container sollten ausgeführt werden indem der Containernamen auf $root gesetzt wird.
Blob Speicher Stream Wrapper
Die Windows Azure SDK für PHP bietet Unterstützung für die Registrierung eines Blob Speicher Clients als PHP File Stream Wrapper. Der Blob Speicher Stream Wrapper bietet Unterstützung für die Verwendung von regulären Datei Operationen auf dem Windows Azure Blob Speicher. Zum Beispiel kann eine Datei vom Windows Azure Blob Speicher aus mit der Funktion fopen() geöffnet werden:
Beispiel #7 Beispiel der Verwendung des Blob Speicher Stream Wrappers
Um das zu tun muss die Windows Azure SDK für den PHP Blob Speicher Client als Stream Wrapper registriert werden. Das kann getan werden indem die Methode registerStreamWrapper() aufgerufen wird:
Beispiel #8 Den Blob Speicher Stream Wrapper registrieren
- $storageClient = new Zend_Service_WindowsAzure_Storage_Blob();
- // registriert azure:// auf diesem Speicher Client
- $storageClient->registerStreamWrapper();
- // oder:
- // registriert blob:// auf diesem Speicher Client
- $storageClient->registerStreamWrapper('blob://');
Um den Stream Wrapper zu deregistrieren kann die Methode unregisterStreamWrapper() verwendet werden.
| Zend_Service_WindowsAzure |
Select a Version
Languages Available
Components
Search the Manual
Navigation
- Zend Framework's Referenzhandbuch
- Zend Framework's Referenzhandbuch
- Zend Framework's Referenz
- Zend_Service
- Einführung
- Zend_Service_Akismet
- Zend_Service_Amazon
- Zend_Service_Amazon_Ec2
- Zend_Service_Amazon_Ec2: Instanzen
- Zend_Service_Amazon_Ec2: Windows Instanzen
- Zend_Service_Amazon_Ec2: Reservierte Instanzen
- Zend_Service_Amazon_Ec2: CloudWatch Monitoring
- Zend_Service_Amazon_Ec2: Amazon Maschinen Images (AMI)
- Zend_Service_Amazon_Ec2: Elastischer Block Speicher (EBS)
- Zend_Service_Amazon_Ec2: Elastische IP Adressen
- Zend_Service_Amazon_Ec2: Schlüsselpaare
- Zend_Service_Amazon_Ec2: Regionen und Availability Zones
- Zend_Service_Amazon_Ec2: Sicherheitsgruppen
- Zend_Service_Amazon_S3
- Zend_Service_Amazon_Sqs
- Zend_Service_Audioscrobbler
- Zend_Service_Delicious
- Zend_Service_DeveloperGarden
- Zend_Service_Ebay
- Zend_Service_Ebay_Finding
- Zend_Service_Flickr
- Zend_Service_LiveDocx
- Zend_Service_Nirvanix
- Zend_Service_ReCaptcha
- Zend_Service_ShortUrl
- Zend_Service_Simpy
- Zend_Service_SlideShare
- Zend_Service_StrikeIron
- Zend_Service_StrikeIron: Mitgelieferte Services
- Zend_Service_StrikeIron: Erweiterte Verwendung
- Zend_Service_Technorati
- Zend_Service_Twitter
- Zend_Service_WindowsAzure
- Zend_Service_WindowsAzure_Storage_Blob
- Zend_Service_WindowsAzure_Diagnostics_Manager
- Zend_Service_WindowsAzure_Storage_Queue
- Zend_Service_WindowsAzure_Storage_Table
- Zend_Service_Yahoo
