Day 09 Azure Storage Account- 给照片找个家

Azure Storage Account- 给照片找个家

Azure Storage Account 是利用 blob 来储存资料的空间,而 blob 则是一种可以储存大量文字或二进位资料的物件,资料可以是各种影音、文件或压缩档案。在申请建立资源时,资源名称为 Storage Account (储存体帐户),但在相关说明文件是在 Azure Blob 的说明文件之中。(谜之声:用Imgur的 API 也可以啊~~)

申请 Storage Account

  1. 进入https://portal.azure.com/#home
  2. 点选建立资源
  3. 搜寻并选择 Storage account (储存体帐户)
  4. 名称和区域是必填项目,其他内容就是情况填写了。如果没有特别考量就直接依照预设条件设定。
  5. 检阅 + 建立

安装Python套件

pip3.7 install azure-storage-blob

取得串接字串

取得串接字串才能用 azure blob python套件存取 blob。

  • 进到刚申请好的 storage account 页面
  • 在左边的选单选择存取金钥
  • 点选显示金钥
  • 复制 key1 下的连接字串

示范程序

  • 先建立自己的container client,并设定权限。
import os
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient
import json
import requests
from azure.storage.blob import AccessPolicy, ContainerSasPermissions


# 这边就是填刚刚复制的连接字串
connect_str = 'Your connect string'

blob_service_client = BlobServiceClient.from_connection_string(connect_str)

# 自己命名 container 名称,建立 container client
container_client = blob_service_client.create_container(<container name>)

# 设定 blob 读写权限,方便之後使用档案的 URL
access_policy = AccessPolicy(permission=ContainerSasPermissions(read=True, write=True))
identifiers = {'both': access_policy}
container_client.set_container_access_policy(identifiers, public_access='blob')

  • 以 binary 的方式读取档案,并且上传。

with open('your.jpg', "rb") as data:
    blob_client.upload_blob(data)
data.close()

# 印出档案的 URL
print(blob_client.url)

在之後为了方便起见,可以把上述程序码做成 function ,整合到 chatbot。接下来跟电脑视觉相关的服务,都可以搭配 blob 的功能来使用。下一篇,我们来看图说故事。


<<:  Day 9:JSON 资料解析

>>:  使用 DOM Parser 取属性

[Day26]约束规则、更改结构

在Oracle资料库中有两种方式可以定义约束规则(作用相同): 栏位层次约束(行内规范):将规定写在...

[Day6] Android - Kotlin笔记:RecycledViewPool

什麽是RecycledViewPool RecycledViewPool是RecycledView...

12 | WordPress 图库区块 Gallery Block

这次讨论的《图库区块》应用,图库区块可让你轻松地新增多张相片,并以引人入胜的方式自动排列相片。是《...

【C# 群益 API 开发教学】官方范例下载与安装环境 #CH1

群益 API 是利用自己开发的程序,结合群益 API 在群益券商下单的一种方式,通常是做程序交易下单...

[Day29] 除错(debug)的心得

今天来分享一下我自己如何除错,出错很正常(对我来说啦QWQ),但是发现有错,很重要的是,要知道自己错...