Submit Search
Upload
PHP matsuri 2013 Windows Azure Storage SDK for PHP
•
1 like
•
1,031 views
Takeshi Sakurai
Follow
How to use Windows Azure Storage SDK for PHP
Read less
Read more
Technology
Report
Share
Report
Share
1 of 20
Download now
Download to read offline
Recommended
Kansai mrb gr_sakura
Kansai mrb gr_sakura
Kosuga Masakatsu
Next-L Enju ワークショップ #86
Next-L Enju ワークショップ #86
Kosuke Tanabe
ファイルサーバ構築
ファイルサーバ構築
Takashi Noboru
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
Ryuta Otaki
About kitakat
About kitakat
hidenorly
NetBSD, On the ROAD 2016
NetBSD, On the ROAD 2016
Jun Ebihara
新インフラエンジニアに捧ぐ職業○のおはなし - qpstudy 2014.04 LT資料
新インフラエンジニアに捧ぐ職業○のおはなし - qpstudy 2014.04 LT資料
Kei Mikage
Couch DB in 15minutes
Couch DB in 15minutes
Yohei Sasaki
Recommended
Kansai mrb gr_sakura
Kansai mrb gr_sakura
Kosuga Masakatsu
Next-L Enju ワークショップ #86
Next-L Enju ワークショップ #86
Kosuke Tanabe
ファイルサーバ構築
ファイルサーバ構築
Takashi Noboru
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
Ryuta Otaki
About kitakat
About kitakat
hidenorly
NetBSD, On the ROAD 2016
NetBSD, On the ROAD 2016
Jun Ebihara
新インフラエンジニアに捧ぐ職業○のおはなし - qpstudy 2014.04 LT資料
新インフラエンジニアに捧ぐ職業○のおはなし - qpstudy 2014.04 LT資料
Kei Mikage
Couch DB in 15minutes
Couch DB in 15minutes
Yohei Sasaki
データ加工ストリーミングのすすめ2012 11 20
データ加工ストリーミングのすすめ2012 11 20
Koichiro Mori
osoljp201105_ZFSjiman_nslope
osoljp201105_ZFSjiman_nslope
Noriyasu Sakaue
TIME_WAITに関する話
TIME_WAITに関する話
Takanori Sejima
[2019 01-19] AzureDevOps LT
[2019 01-19] AzureDevOps LT
Igarashi Toru
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
真治 米田
仮想記憶の構築法
仮想記憶の構築法
magoroku Yamamoto
エンジニアのための痔の話
エンジニアのための痔の話
Kouhei Maeda
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのこと
TrinityT _
Sfstudy#2チーム5
Sfstudy#2チーム5
Yasuhiro Arai
Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理
Masahiko Sawada
04 これが(多分)最後! ベンチマークs
04 これが(多分)最後! ベンチマークs
Monta Yashi
配布用Cacti running with cherokee
配布用Cacti running with cherokee
yut148atgmaildotcom
MySQLやSSDとかの話 後編
MySQLやSSDとかの話 後編
Takanori Sejima
Psql & proctitle
Psql & proctitle
Yuichiro Naito
Osc2014 hamanako
Osc2014 hamanako
Jun Ebihara
CPUに関する話
CPUに関する話
Takanori Sejima
Web時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメ
Hideyuki Takeuchi
S2s websrv201011-presen
S2s websrv201011-presen
Kouhei Maeda
HDPをWindowsで動かしてみた
HDPをWindowsで動かしてみた
adachij2002
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Nobuto Murata
de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!
Minoru Naito
今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎
Trainocate Japan, Ltd.
More Related Content
What's hot
データ加工ストリーミングのすすめ2012 11 20
データ加工ストリーミングのすすめ2012 11 20
Koichiro Mori
osoljp201105_ZFSjiman_nslope
osoljp201105_ZFSjiman_nslope
Noriyasu Sakaue
TIME_WAITに関する話
TIME_WAITに関する話
Takanori Sejima
[2019 01-19] AzureDevOps LT
[2019 01-19] AzureDevOps LT
Igarashi Toru
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
真治 米田
仮想記憶の構築法
仮想記憶の構築法
magoroku Yamamoto
エンジニアのための痔の話
エンジニアのための痔の話
Kouhei Maeda
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのこと
TrinityT _
Sfstudy#2チーム5
Sfstudy#2チーム5
Yasuhiro Arai
Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理
Masahiko Sawada
04 これが(多分)最後! ベンチマークs
04 これが(多分)最後! ベンチマークs
Monta Yashi
配布用Cacti running with cherokee
配布用Cacti running with cherokee
yut148atgmaildotcom
MySQLやSSDとかの話 後編
MySQLやSSDとかの話 後編
Takanori Sejima
Psql & proctitle
Psql & proctitle
Yuichiro Naito
Osc2014 hamanako
Osc2014 hamanako
Jun Ebihara
CPUに関する話
CPUに関する話
Takanori Sejima
Web時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメ
Hideyuki Takeuchi
S2s websrv201011-presen
S2s websrv201011-presen
Kouhei Maeda
HDPをWindowsで動かしてみた
HDPをWindowsで動かしてみた
adachij2002
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Nobuto Murata
What's hot
(20)
データ加工ストリーミングのすすめ2012 11 20
データ加工ストリーミングのすすめ2012 11 20
osoljp201105_ZFSjiman_nslope
osoljp201105_ZFSjiman_nslope
TIME_WAITに関する話
TIME_WAITに関する話
[2019 01-19] AzureDevOps LT
[2019 01-19] AzureDevOps LT
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
localstackによるAWS Lambdaの開発環境を、miniconda上でつくったら簡単便利だった話
仮想記憶の構築法
仮想記憶の構築法
エンジニアのための痔の話
エンジニアのための痔の話
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのこと
Sfstudy#2チーム5
Sfstudy#2チーム5
Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理
04 これが(多分)最後! ベンチマークs
04 これが(多分)最後! ベンチマークs
配布用Cacti running with cherokee
配布用Cacti running with cherokee
MySQLやSSDとかの話 後編
MySQLやSSDとかの話 後編
Psql & proctitle
Psql & proctitle
Osc2014 hamanako
Osc2014 hamanako
CPUに関する話
CPUに関する話
Web時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメ
S2s websrv201011-presen
S2s websrv201011-presen
HDPをWindowsで動かしてみた
HDPをWindowsで動かしてみた
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Similar to PHP matsuri 2013 Windows Azure Storage SDK for PHP
de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!
Minoru Naito
今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎
Trainocate Japan, Ltd.
AzureでOracle
AzureでOracle
Kuniteru Asami
FlutterとSupabaseでRDBを使った サーバーレスアプリ開発
FlutterとSupabaseでRDBを使った サーバーレスアプリ開発
TylerShukert
Getting started raspberry pi osc hamamatsu
Getting started raspberry pi osc hamamatsu
Masafumi Ohta
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
Takuya ASADA
20210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.0
Kohei KaiGai
Windows Azure PHP Tips
Windows Azure PHP Tips
Microsoft Openness Japan
Mvc conf session_5_isami
Mvc conf session_5_isami
Hiroshi Okunushi
Vsug day 2010 summer windows azure でやってみよう
Vsug day 2010 summer windows azure でやってみよう
mizusawa
Azure Data Studio
Azure Data Studio
Microsoft
PHP on Windows Azure in Open Source Conference
PHP on Windows Azure in Open Source Conference
Microsoft
第12回CloudStackユーザ会_ApacheCloudStack最新情報
第12回CloudStackユーザ会_ApacheCloudStack最新情報
Midori Oge
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
de:code 2017
早稲田大学授業 - モバイルプログラミング
早稲田大学授業 - モバイルプログラミング
Ippei Arita
Flutter Meetup Tokyo (#18) _ Osaka (#10).pdf
Flutter Meetup Tokyo (#18) _ Osaka (#10).pdf
TylerShukert
Windows azureって何
Windows azureって何
Kana SUZUKI
RでGPU使ってみた
RでGPU使ってみた
Kazuya Wada
Webサイト・フロントエンドの高速化とgrunt.jsについて
Webサイト・フロントエンドの高速化とgrunt.jsについて
Tomo Fujita
Nseg20120825
Nseg20120825
hiro345
Similar to PHP matsuri 2013 Windows Azure Storage SDK for PHP
(20)
de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!
今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎
AzureでOracle
AzureでOracle
FlutterとSupabaseでRDBを使った サーバーレスアプリ開発
FlutterとSupabaseでRDBを使った サーバーレスアプリ開発
Getting started raspberry pi osc hamamatsu
Getting started raspberry pi osc hamamatsu
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
20210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.0
Windows Azure PHP Tips
Windows Azure PHP Tips
Mvc conf session_5_isami
Mvc conf session_5_isami
Vsug day 2010 summer windows azure でやってみよう
Vsug day 2010 summer windows azure でやってみよう
Azure Data Studio
Azure Data Studio
PHP on Windows Azure in Open Source Conference
PHP on Windows Azure in Open Source Conference
第12回CloudStackユーザ会_ApacheCloudStack最新情報
第12回CloudStackユーザ会_ApacheCloudStack最新情報
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
早稲田大学授業 - モバイルプログラミング
早稲田大学授業 - モバイルプログラミング
Flutter Meetup Tokyo (#18) _ Osaka (#10).pdf
Flutter Meetup Tokyo (#18) _ Osaka (#10).pdf
Windows azureって何
Windows azureって何
RでGPU使ってみた
RでGPU使ってみた
Webサイト・フロントエンドの高速化とgrunt.jsについて
Webサイト・フロントエンドの高速化とgrunt.jsについて
Nseg20120825
Nseg20120825
Recently uploaded
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
Recently uploaded
(8)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
PHP matsuri 2013 Windows Azure Storage SDK for PHP
1.
Windows Azure ストレージを PHPから使う 株式会社pnop
桜井 剛 13年7月14日日曜日
2.
Agenda. 1.Azure SDK for
PHP 2.Windows Azure ストレージ、Blobとテーブルの扱い方 3.お知らせ 13年7月14日日曜日
3.
13年7月14日日曜日
4.
Azure ストレージの特徴 ・以下のコンポーネントがある Blob(ファイル格納)、Table(永続化KVS)、Queue、 Drive(ディスクイメージ) ・データは同一DC内で3重化されて保持、他のリージョ ンのDCにもコピー(冗長性に優れている) 13年7月14日日曜日
5.
本日は、BlobとテーブルをPHPから操作してみま す。 #MacBook + Linux
で 13年7月14日日曜日
6.
Windows Azure SDK
for PHP https://github.com/WindowsAzure/azure-sdk-for-php 13年7月14日日曜日
7.
インストール方法 vi composer.json wget http://getcomposer.org/composer.phar php
composer.phar install { "require": { "microsoft/windowsazure": "*" }, "repositories": [ { "type": "pear", "url": "http://pear.php.net" } ], "minimum-stability": "dev" } これで実行した場所に「vendor」というディレクトリが出来る。これがSDK。 13年7月14日日曜日
8.
Windows Azure SDK
for PHP から Blob ストレージを扱う 13年7月14日日曜日
9.
Blob ストレージの特徴 ・ファイルを格納するストレージ ・REST API
を経由して読み書きする ・アクセス権限が設定できる(Private、Publicコンテナ、PublicBlob) ・Publicの場合、直接URIを指定してアクセス可能 http://アカウント名 ・オンラインストレージや動画共有サイトなどのサービスに適している 類似のサービス:Amazon S3、IIJ GIO ストレージサービスなど 13年7月14日日曜日
10.
Blob ストレージの操作の準備 ・BlobストレージへアクセスするためのProxyオブジェ クトを作成して、それを経由して操作します。 $blobReatProxyがそれに該当します。 <?php $storageAccessAccount =
'AccountName'; $storageAccessKey = 'AccountAccessKey'; require_once 'vendor/autoload.php'; use WindowsAzureCommonServicesBuilder; use WindowsAzureCommonServiceException; $connectionString = "DefaultEndpointsProtocol=http;AccountName=" . $storageAccessAccount . ";AccountKey=" . $storageAccessKey; $blobRestProxy = ServicesBuilder::getInstance()->createBlobService($connectionString); 13年7月14日日曜日
11.
Blob ストレージコンテナの作成 ・先ほど作成したProxyオブジェクトを使って、Publicコ ンテナを作ります。 $container_name =
‘my_container’; $createContainerOptions = new CreateContainerOptions(); $createContainerOptions->setPublicAccess(PublicAccessType::CONTAINER_AND_BLOBS); $createContainerOptions->addMetaData("key1", "value1"); $createContainerOptions->addMetaData("key2", "value2"); try { $blobRestProxy->createContainer($container_name, $createContainerOptions); } catch(ServiceException $e){ $code = $e->getCode(); $error_message = $e->getMessage(); echo $code.": ".$error_message."<br />"; } 13年7月14日日曜日
12.
Blobのアップロード ・Blobをアップロードするには、以下のようにします。 $content = fopen("myfile.txt",
"r"); $blob_name = "myfile.txt"; try { $blobRestProxy->createBlockBlob($container_name, $blob_name, $content); } catch(ServiceException $e){ $code = $e->getCode(); $error_message = $e->getMessage(); echo $code.": ".$error_message."<br />"; } 13年7月14日日曜日
13.
コンテナのBlob一覧 ・以下のように一覧を取得します。 try { $blob_list =
$blobRestProxy->listBlobs($container_name); $blobs = $blob_list->getBlobs(); foreach($blobs as $blob) { echo $blob->getName().": ".$blob->getUrl()."<br />"; } } catch(ServiceException $e){ $code = $e->getCode(); $error_message = $e->getMessage(); echo $code.": ".$error_message."<br />"; } 13年7月14日日曜日
14.
Windows Azure SDK
for PHP から Table ストレージを扱う 13年7月14日日曜日
15.
Table ストレージの特徴 ・ストレージサービスに永続化したKVS ・NoSQL ・PartitionKeyとRowKeyの2つによる値(エンティテ ィ)の読み書き ・セッション管理などに適している 類似の仕組み:KyotoTycoonなど 13年7月14日日曜日
16.
Table ストレージの操作の準備 ・TableストレージへアクセスするためのProxyオブジェ クトを作成して、それを経由して操作します。 $tableReatProxyがそれに該当します。 <?php $storageAccessAccount =
'AccountName'; $storageAccessKey = 'AccountAccessKey'; require_once 'vendor/autoload.php'; use WindowsAzureCommonServicesBuilder; use WindowsAzureCommonServiceException; $connectionString = "DefaultEndpointsProtocol=http;AccountName=" . $storageAccessAccount . ";AccountKey=" . $storageAccessKey; $tableRestProxy = ServicesBuilder::getInstance()->createTableService($connectionString); 13年7月14日日曜日
17.
テーブルの作成 ・先ほど作成したProxyオブジェクトを使って、データを 格納するテーブルを作ります。 $table_name = ‘mytable’; try
{ $tableRestProxy->createTable($table_name); } catch(ServiceException $e){ $code = $e->getCode(); $error_message = $e->getMessage(); echo $code.": ".$error_message."<br />"; } 13年7月14日日曜日
18.
値(Entity)のインサート ・値をインサートするには、以下のようにします。 use WindowsAzureTableModelsEntity; use WindowsAzureTableModelsEdmType; $entity
= new Entity(); $entity->setPartitionKey("pk"); $entity->setRowKey("1"); $entity->addProperty("PropertyName1", EdmType::STRING, "Sample1"); $entity->addProperty("PropertyName2", EdmType::STRING, "Sample2"); try{ $tableRestProxy->insertEntity($table_name, $entity); } catch(ServiceException $e){ $code = $e->getCode(); $error_message = $e->getMessage(); echo $code.": ".$error_message."<br />"; } 13年7月14日日曜日
19.
テーブルの検索 ・以下のようにクエリを設定して検索します。 $filter = "RowKey
eq '2'"; try { $result = $tableRestProxy->queryEntities($table_name, $filter); } catch(ServiceException $e){ $code = $e->getCode(); $error_message = $e->getMessage(); echo $code.": ".$error_message."<br />"; } $entities = $result->getEntities(); foreach($entities as $entity){ echo $entity->getPartitionKey().":".$entity->getRowKey()."<br />"; } 13年7月14日日曜日
20.
実際の利用例 アプリサーバー blobストレージ Tableストレージ SQL Database 動画の保存・読出 セッション情報の保存・読出 一般的なデータの保存・読出 ユーザーは動画を直接読出 13年7月14日日曜日
Download now