Azure SDK for PHP로 웹 사이트에서blob 일람을 참조했습니다.

11357 단어 AzureblobwebsitePHP

개요


Azure에서 웹 사이트와blob을 합작하고 싶습니다.구글이면 How to use blob storage (PHP) | Microsoft Azure 같은 건 찾을 수 있는데 링크가 끊어져서 일본어를 조금 몰라 소박하게 반했어요.
웹 사이트를 만들고, ftp로 내용을 주고,storage를 만들고, explorer로 확인하고, sdk를 준비하고, 웹 사이트에서blob라고 할 수 있으며, 일련의 절차를 기록합니다.정식으로 설명한 샘플 코드를 기준으로 동작을 하기 위해 다양한 설정을 설정했기 때문에 필요에 따라 필요한 부분을 적절하게 바꾼다.
그리고 실제로 hoge와 같은 URL이 쓰여 있는 것은 보이지 않는다.자신이 실제로 만들었을 때의 값을 바꾸십시오.

1. 웹사이트 만들기


신중을 기하기 위해 웹 사이트는 Paas에 응용 프로그램을 업로드하면 바로 웹 응용 프로그램을 사용할 수 있습니다!물건
새 사이트를 신속하게 시작할 수 있는 Windows Azure 웹 사이트 - @IT 같은 참조로 azure에 계좌를 만들었는데'문호'가 어디에 있는지 알면 두근두근 하면 된다.
[포털] → [새로 만들기] → [계산] → [웹사이트] → [간편 제작]으로 URL을 입력하여 제작합니다.http://hoge.azurewebsites.net/ 이렇게 하면 아래의 Hello 월드 페이지가 나타날 것입니다.

2.ftp 웹 사이트에 내용 업로드


우선 수중에 Filezilla 같은 전제에서 진행한다.
사용자 이름과 비밀번호는 만든 웹 사이트의 계기판 오른쪽에서 [발행 프로필 다운로드]에서 txt를 다운로드합니다. 내용의userName과userPWD는 이렇습니다.(웹 deploy용과 ftp용 두 개가 있기 때문에 뒤에)
호스트 이름은 같은 페이지의 오른쪽 아래에 있는 [FTP 호스트 이름]의 ftp://hoge-hoge-hoge.ftp.azurewebsites.windows.net입니다.
또한 대상 웹 사이트의 [구성] 옵션 카드에 php와tomcat의 중간부품의 유효화와 문서 루트 설정이 기재되어 있습니다.기본값은/site/wwwroot 같은 것이므로 다음은 phpinfo입니다.php를 내려놓고 방문http://hoge.azurewebsites.net/phpinfo.php하면 평소의 것을 볼 수 있습니다.
phpinfo.php
<?php
    phpinfo(); 
?>
ftp 클라이언트는 아마도 이런 느낌일 것이다.

3.blob만들기


신중을 기하기 위해blob는 작은 사이즈의 데이터를 넣는 좋은 저장소입니다.그림% 1개의 캡션을 편집했습니다.
계정(DB명)→용기(디렉터리)→blob(데이터 실체)의 느낌,restapi 등으로 두드리고, 1개의 저장 계정으로blob, 테이블, 대기열 3개의 서비스를 연결한다.
장구 설명이라면 Windows Azure 단순 파일 서버 2회동기화 기술
또는 저장 서비스의 기술 문서 라이브러리 이하.
제작 방법 참조1: Windows Azure 스토리지 객체 만들기.
여기서도 포털 → 새로 만들기 → 데이터베이스 → 저장 → 간편 제작 느낌으로 할 수 있다.
그런 다음 URLhttps://hoge.blob.core.windows.net/을 할당합니다.

4.azure storage explorer 접근blob


그렇긴 하지만 처음부터 블로거를 엉망진창으로 만드는 것은 고통스럽다.그곳에 explorer의 GUI 응용 프로그램이 있으니 그 내용을 살펴보자.
Azure Storage Explorer - Home에서 애플리케이션을 다운로드하여 설치합니다.
포털 대상 저장소에서 화면 아래의'액세스 키 관리'에서storage explorer의'Add Account'키를 누르면'스토리지 계정 이름'과'메인 액세스 키'를 나타나는 곳에 입력하면 됩니다.

상술한 것은 이미지라는 컨테이너, h1을 만드는 것이다.png와 h2.png이 업로드되었습니다.
GUI를 보면 알 수 있습니다. 추가 삭제를 참조할 수 있고 csv로 일람표를 출력할 수 있습니다.
참고로 여기에 업로드된 물건은 공용 용기라면 URL을 클릭하면 바로 방문할 수 있습니다.
explorer의 객체 파일을 선택하고 브라우저에서 뷰의 Uri를 엽니다.
http://hoge.blob.core.windows.net/image/h1.png 그런 걸 볼 수 있을 거야.

5.Azure SDK for PHP 준비


초코들이 그냥 소박하게 읽었기 때문인지 How to use blob storage (PHP) | Microsoft Azure 반했거나 단순히 평소에 php를 안 썼을 뿐...
준비로 참조PHP용 Azure SDK 다운로드하면서 할 수 있습니다. 여기서composer로 sdk를 넣습니다.
그리고 여기서 제 환경은 윈도우즈 PC, sdk용 php 등으로aws를 준비하고 있습니다. 주의하세요.
### 適当なプロジェクト用のディレクトリを掘る
$ mkdir azure-php
$ cd azure-php/

### composerの設定
$ vi composer.json
> {
>     "require": {
>         "microsoft/windowsazure": "*"
>     },
>     "repositories": [
>         {
>             "type": "pear",
>             "url": "http://pear.php.net"
>         }
>     ],
>     "minimum-stability": "dev"
> }

### composerインストール
$ wget http://getcomposer.org/composer.phar
$ php composer.phar install

### vendorができてる! 

그리고 ftp로 vendor를 웹 사이트의/사이트/wwwroot 아래에 업로드하면 끝납니다.
참고로 여기에 놓인 것은 후술한 공식 소스 코드require_once 'vendor\autoload.php';임시이니 마음대로 변경하세요.

6.blob 일람표의 php 코드를 출력


sdk가 준비되어 있기 때문에 드디어 웹 응용 프로그램 부분을 만들 수 있습니다.How to use blob storage (PHP) | Microsoft Azure의 샘플은 거의 원형을 유지하기 때문에 다음과 같이 변경되었습니다.
  • 처음과 마지막은
  • 코드에서 $connectionString 선언(이것이 가장 매혹적인...)
  • 컨테이너 이름 지정
  • geturl 줄에 img 태그 추가(미관을 위해)
  • 의 명세란 스타일에 정의된 설정입니다.
    blob.php
    <?php
    require_once 'vendor\autoload.php';
    
    use WindowsAzure\Common\ServicesBuilder;
    use WindowsAzure\Common\ServiceException;
    
    // Create blob REST proxy.
    $connectionString = "DefaultEndpointsProtocol=http;AccountName=[Your storage account];AccountKey=[Your storage key]";
    $blobRestProxy = ServicesBuilder::getInstance()->createBlobService($connectionString);
    
    
    try {
        // List blobs.
        $blob_list = $blobRestProxy->listBlobs("image");
        $blobs = $blob_list->getBlobs();
    
        foreach($blobs as $blob)
        {
            echo $blob->getName().": ".$blob->getUrl()."<br />";
            echo "<img src='".$blob->getUrl()."'><br />";
        }
    }
    catch(ServiceException $e){
        // Handle exception based on error codes and messages.
        // Error codes and messages are here: 
        // http://msdn.microsoft.com/en-us/library/windowsazure/dd179439.aspx
        $code = $e->getCode();
        $error_message = $e->getMessage();
        echo $code.": ".$error_message."<br />";
    }
    ?>
    
    ftp로 문서 루트 디렉터리에 업로드하면 브라우저에서 http://hoge.azurewebsites.net/blob.php 보이면blob의 일람과 이미지를 다음과 같은 느낌으로 표시할 수 있습니다.
    실제로 브라우저에서 보이는 것은 이런 느낌이다.

    나 해냈어!

    느끼다


    Iaas는 제가 많이 건드렸지만 azure라고 합니다. Paas와 공공 저장소는 건드리지 않고 많은 것을 배웠습니다.
    가장 매혹적인 connection String은 상기 공식 설명에서'Azure의 저장 연결 문자열 설정'을 언급했지만 실제 포털 사이트에는'링크의 자원','구성'의'연결 문자열'이 있다. 처음에는 여기에 설정된 줄 알았지만 왠지 다르다고 느꼈다...
    그리고 샘플 코드에'$connectionString은 스스로 정의한 것'이라고 조금 더 쓰거나 여러 가지 이해가 부족합니다.
    클라우드 디자인 모델의 것을 배우고 시스템을 조립하여 공공 클라우드에 직접 게재할 수 있도록 하면 적당히 추상화되고 느낌이 좋아서 많은 것을 사용하고 싶습니다.
    이상

    좋은 웹페이지 즐겨찾기