iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python连接AzureStorage进行数据交互的实现
  • 625
分享到

Python连接AzureStorage进行数据交互的实现

PythonAzureStorage数据交互Python连接AzureStorage 2023-02-13 12:02:09 625人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录1、需要的前期操作以及python包2、步骤以及示例代码2.1 在Azure门户中创建Storage Account2.2 将角色分配给Azure AD用户账户2.3 Pytho

项目的时候,数据被要求存储在云端,需要使用Azure的Storage功能,我自己是用了Python写的项目,所以需要调用Python接口来进行相应的开发工作
记录一下自己的踩坑和代码供自己以后参考(当然Azure一直在更新,还是要不断更新知识库)

默认你有相应的Azure的订阅账号,否则下面的内容都将无法展开

1、需要的前期操作以及Python包

1、你需要安装Azure Client然后登录,在命令行输入az login
2、接着安装azure-storage-blob 、azure-identity两个包

pip install azure-storage-blob azure-identity

2、步骤以及示例代码

本次仅仅涉及到数据的上传下载,一般我们会在所有流程之前先确定一个固定的资源组和Storage account,于是涉及到Python接口的部分主要是在Storage account中创建容器和上传/下载blob

2.1 在Azure门户中创建Storage Account

  • 首先先创建资源组(基础,默认你已经会了)
  • 再创建Storage Account

在这里插入图片描述

这里基本都是默认设置(比较繁琐,按下不表)

2.2 将角色分配给Azure AD用户账户

这一步一开始我跳过了(因为我以为资源组的owner应该是有所有权限的,其实不是),后续就遇到了上传no permission的问题

在 Azure 门户中,使用主搜索栏或左侧导航找到存储帐户。

在存储帐户概述页的左侧菜单中选择“访问控制 (IAM)”。

在“访问控制 (IAM)”页上,选择“角色分配”选项卡。

从顶部菜单中选择“+ 添加”,然后从出现的下拉菜单中选择“添加角色分配”。

使用搜索框将结果筛选为所需角色。 在此示例中,搜索“存储 Blob 数据参与者”并选择匹配的结果,然后选择“下一步”。

在“访问权限分配对象”下,选择“用户、组或服务主体”,然后选择“+ 选择成员”。

在对话框中,搜索 Azure AD 用户名(通常为 user@domain 电子邮件地址),然后选择对话框底部的“选择”。

选择“查看 + 分配”转到最后一页,然后再次选择“查看 + 分配”完成该过程

2.3 Python 调用接口进行上传和下载blob文件

2.3.1 创建container

import os, uuid
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient

from azure.identity import DefaultAzureCredential
account_url = "https://<storage account>.blob.core.windows.net"
default_credential = DefaultAzureCredential()

# Create the BlobServiceClient object
blob_service_client = BlobServiceClient(account_url, credential=default_credential)

# 创建容器
try:
    # 创建一个叫test2的container
    container_name = 'test2'
    print(container_name)
    # Create the container
    container_client = blob_service_client.create_container(container_name)

except Exception as ex:
    print('Exception:')
    print(ex)

可以在Azure门户网页中看到创建成功

在这里插入图片描述

2.3.2 上传blob

# 将blob上传到容器中
try:
    # Create a local directory to hold blob data
    local_path = "./testdir1"
    os.mkdir(local_path)

    # Create a file in the local data directory to upload and download
    local_file_name = "test2" + ".txt"
    upload_file_path = os.path.join(local_path, local_file_name)

    # Write text to the file
    file = open(file=upload_file_path, mode='w')
    file.write("Hello, World!")
    file.close()

    # Create a blob client using the local file name as the name for the blob
    container_name="test2"
    blob_client = blob_service_client.get_blob_client(container=container_name, blob=local_file_name)

    print("\nUploading to Azure Storage as blob:\n\t" + local_file_name)

    # Upload the created file
    with open(file=upload_file_path, mode="rb") as data:
        blob_client.upload_blob(data)

except Exception as ex:
    print('Exception:')
    print(ex)

成功后会显示如下:

在这里插入图片描述

可以用以下接口查看container中的文件

print("\nListing blobs...")

# List the blobs in the container
blob_list = container_client.list_blobs()
for blob in blob_list:
    print("\t" + blob.name)

3、参考资料

Azure Python 接口 Storage相关快速入门官方文档

到此这篇关于Python连接Azure Storage进行数据交互的实现的文章就介绍到这了,更多相关Python Azure Storage数据交互内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python连接AzureStorage进行数据交互的实现

本文链接: https://www.lsjlt.com/news/195800.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python连接AzureStorage进行数据交互的实现
    目录1、需要的前期操作以及Python包2、步骤以及示例代码2.1 在Azure门户中创建Storage Account2.2 将角色分配给Azure AD用户账户2.3 Pytho...
    99+
    2023-02-13
    Python Azure Storage数据交互 Python连接Azure Storage
  • 如何实现Django与数据库进行交互
    这篇文章主要介绍如何实现Django与数据库进行交互,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1 如何创建项目数据库首先,在虚拟机数据库中建立一个与项目同名的数据库,方便管理。(django_test) ...
    99+
    2023-06-15
  • 使用springMVC如何实现与json数据进行交互
    使用springMVC如何实现与json数据进行交互?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前台代码:function channel(){ //先获取选中的值 ...
    99+
    2023-05-31
    springmvc json
  • C++与QML进行数据交互实现方式介绍
    目录一、定义可交互的类二、数据操作类三、注册四、qml调用我所使用的方式,是通过C++调用远端的webservice,再次数据送到qml端,不说原理了,直接上代码的实现过程。需要明白...
    99+
    2024-04-02
  • Vue前端怎么实现与后端进行数据交互
    这篇文章主要介绍了Vue前端怎么实现与后端进行数据交互的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue前端怎么实现与后端进行数据交互文章都会有所收获,下面我们一起来看看吧。Vue前端与后端数据交互安装npm...
    99+
    2023-06-29
  • Vue前端如何实现与后端进行数据交互
    目录vue前端与后端数据交互安装在main.js文件引入使用启动vue和前后端连接直接上图vue前端与后端数据交互 安装 npm install axios --save 在main...
    99+
    2024-04-02
  • 如何进行C++与数据库的交互?
    在当今信息化时代,应用程序和数据库的交互不仅仅是一个常见的问题,而且是一个必要的问题。C++作为一种高级编程语言,被广泛应用于各种程序开发中。那么如何使用C++与数据库进行交互呢?本文将向您介绍,C++与数据库的交互需要哪些步骤以及基本原理...
    99+
    2023-11-03
    SQL语句执行 C++数据库连接 数据库操作API
  • Python与数据库的交互怎么实现
    本篇内容介绍了“Python与数据库的交互怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MongoDB安装模块pip install...
    99+
    2023-06-22
  • Python实现MySql数据库交互的示例
    目录一、使用mysql进行持久化存储二、安装MySql数据库和python库PyMySQL三、使用pymysql链接mysql数据库四、创建表五、插入数据六、后记一、使用MySql进行持久化存储 在任何应用中,都需要持久...
    99+
    2023-01-06
    PythonMySql数据库交互 PythonMySql交互
  • 〖Python 数据库开发实战 - Python与MySQL交互篇④〗- 数据库连接池技术
    订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我。推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订...
    99+
    2023-09-20
    数据库开发 MySQL Connector 模块 数据库连接池
  • 用Ajax+PHP进行简单数据交互
    本篇内容介绍了“用Ajax+PHP进行简单数据交互”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PHP是一种创建动态交互性站点的服务器端脚本...
    99+
    2023-06-08
  • 超越数据库瓶颈:使用连接池实现无缝数据交互
    数据库瓶颈是现代应用程序面临的常见挑战,阻碍了应用程序的性能和可扩展性。连接池是一种有效的方法,可以克服这些瓶颈,实现无缝的数据交互。 什么是连接池? 连接池是一个预先建立的、可重用的数据库连接集合。当应用程序需要访问数据库时,它将从连接...
    99+
    2024-04-02
  • Python 连接mysql数据库进行操
    1.MySQLdb 模块是用于Python链接Mysql数据库的接口,默认是没有安装的[root@python ~]# yum  install  MySQL-python   -y2.创建python脚本[root@python ~]# ...
    99+
    2023-01-31
    数据库 Python mysql
  • 如何使用 Python 与 npm 接口进行交互?
    Python 是一种常用的编程语言,而 npm 则是一种常用的包管理器。在某些情况下,我们需要使用 Python 与 npm 接口进行交互,来实现特定的功能。本文将介绍如何使用 Python 与 npm 接口进行交互,并提供演示代码。 一、...
    99+
    2023-07-22
    响应 npm 接口
  • 使用Vue-axios进行数据交互的方法
    目录1、安装axios2、axios的使用3、讲一下代理proxyTable的使用1、安装axios 打开cmd命令行工具cd到项目目录输入以下命令 npm install axio...
    99+
    2024-04-02
  • Spark怎么进行数据交互和整合
    Spark可以通过多种方式进行数据交互和整合,以下是一些常用的方法: 使用Spark的DataFrame API:Spark D...
    99+
    2024-03-14
    Spark
  • python多线程数据交互怎么实现
    在Python中,可以使用多线程模块threading来实现多线程数据交互。以下是一个简单的示例: import threading...
    99+
    2023-10-22
    python
  • QT与javascript交互数据的实现
    一、数据从QT流向JS 1、QT调用JS的函数,JS通过形参获得QT的值 2、JS调用QT的函数,QT函数的返回值进入JS 二、数据从JS流向QT 1、JS调用QT的函数,QT通过形...
    99+
    2024-04-02
  • MyBatis中怎么与数据库进行交互
    在MyBatis中,与数据库进行交互主要通过配置Mapper文件和SQL语句来实现。以下是基本步骤: 配置数据源:在MyBati...
    99+
    2024-03-07
    MyBatis 数据库
  • Django在视图中使用表单并和数据库进行数据交互的实现
    目录写在前面目结构及代码项目结构路由设置数据库配置定义模型定义表单修改模板视图函数记录感受写在前面 博主近期有时间的话,一直在抽空看Django相关的项目,苦于没有web开发基础,对...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作