I am trying to use AzureStorage to for connecting azure storage with django 1.7 app .
models.py
from django.db import models
from myproject.storage import AzureStorage
class MyModel(models.Model):
my_file = models.FileField(upload_to="files", storage=AzureStorage(container="media"))
my_image = models.ImageField(upload_to="images", storage=AzureStorage(container="media"))
Run Code Online (Sandbox Code Playgroud)
But when I try to makemigrations I am getting :
ValueError: Cannot serialize: <myproject.storage.AzureStorage object at 0x7f85185e66d0>
There are some values Django cannot serialize into migration files.
For more, see https://docs.djangoproject.com/en/dev/topics/migrations/#migration-serializing
Run Code Online (Sandbox Code Playgroud)
What exactly its not able to serialize ?
如何使用 php 从 windows azure 容器中获取所有文件(blob)。
我正在使用下面的代码,它只获取 500 个 blob,我想获取所有文件。
$blobRestProxy = ServicesBuilder::getInstance()->createBlobService($connectionString);
try {
// List blobs.
$blob_list = $blobRestProxy->listBlobs($source_container);
$blobs = $blob_list->getBlobs();
foreach($blobs as $blob)
{
//echo $blob->getName().": ".$blob->getUrl()."<br /><br />";
echo $blob->getUrl()."<br />";
$photo_name=strtolower($blob->getName());
//echo $rs=upload_own_image("raagaimg",$photo_name,$blob->getUrl());
//echo "<br /><br />";
}
}
catch(ServiceException $e){
// Handle exception based on error codes and messages.
// Error codes and messages are here:
// http://msdn.microsoft.com/library/azure/dd179439.aspx
$code = $e->getCode();
$error_message = $e->getMessage();
echo $code.": ".$error_message."<br />";
}
Run Code Online (Sandbox Code Playgroud)
谢谢
塔尼盖维兰
我正在使用Azure Storage Nodejs,我需要做的是将图像从一个 blob 复制到另一个 blob。
首先,我尝试getBlobToFile在磁盘中的临时位置获取图像,然后仅从createBlockBlobFromFile该临时位置获取图像。该方法完成了任务,但由于某种原因,它在 10% 的情况下没有完全复制。
我试图使用getBlobToText的结果以及放入的结果createBlockBlobFromText,还尝试放置需要 blob 作为图像容器的选项。该方法完全失败,复制后甚至无法打开图像。
也许有一种方法可以复制 blob 文件并将其粘贴到其他 blobl 中,但我没有找到该方法。我还可以做些什么?
我在此 URL 的azure blob 服务中存储了 pdf 文件。
我可以从这个 URL 的浏览器正常下载它。
现在我想使用 google gview 将此 pdf 嵌入到 html 页面中。
我已经输入:
<iframe src="https://drive.google.com/viewerng/viewer?url=https://hoxrostorage.blob.core.windows.net/hoxro/Matter_545/266408d1-309c-4258-808e-6bccdfc840c8.pdf?sv=2015-04-05&sr=b&sig=x8VhYOUGSNp9AJfV%2BT%2BybcBkPQknqNXdolq4Xo0ZAXU%3D&se=2016-06-29T20%3A58%3A52Z&sp=r&rsct=application%2Fpdf&embedded=true" width="400px" height="300px" />
Run Code Online (Sandbox Code Playgroud)
它告诉我:
请注意:
在 Azure blob 存储中,我的 pdf内容类型设置为application/pdf
我已经从很多地方检查了这么多帖子,但无法得出任何结论。
任何人都可以请指出我正确的方向,这里发生了什么?
我正在使用 Azure 存储帐户将图像和文件存储为块 blob。
只要设置了内容类型属性,浏览器似乎就可以在没有扩展名的情况下正确提供图像。例如,这将显示为普通图像:https : //navhomeprod.blob.core.windows.net/facilityroomphotos/12
出于任何原因使用扩展名保存 blob 名称会更好吗:https : //navhomeprod.blob.core.windows.net/facilityroomphotos/12.jpg
我选择不使用扩展的原因是我不需要数据库中的扩展字段,我可以只使用 id 来提供图像。
我有一个 webapp,在 webapp 中,我在临时目录中上传了一些文本文件。接下来,我还有一个 webjob 来处理这些文件,但问题是我无法从该 webapp 的临时目录访问这些文件。
有没有办法实现这一目标?
提前致谢。
azure azure-storage-blobs azure-webjobs azure-web-app-service
编辑:我希望Azure Storage Container通过BLOB-specific SAS.
from azure.storage.blob import BlobService
sas_service = BlobService(
account_name = "name",
sas_token = "mytoken"
)
blob_content = sas_service.get_blob_to_path("container_name", "blob_name")
Run Code Online (Sandbox Code Playgroud)
我尝试使用它,但它输出的OSError列表也是“503 错误”
我有一个包含一些图像的 azure blob 存储帐户。我想将它们作为字节读取以进行图像处理,因此我可以将它们与 Microsoft 的 Face API 一起使用。我收到一条错误消息,告诉我我需要一个“字节”对象,但我以为我已经将图像从 blob 转换为字节格式。我已经提供了我使用的整个代码,但问题来自最后一段代码
%matplotlib inline
import matplotlib.pyplot as plt
import io
from io import StringIO
import numpy as np
import cv2
from PIL import Image
#from StringIO import StringIO
from PIL import Image
import os
from array import array
Run Code Online (Sandbox Code Playgroud)
我的凭据:
azure_storage_account_name = 'musicsurveyphotostorage'
azure_storage_account_key = None # dont need key... we will access public
blob...
if azure_storage_account_name is None:
raise Exception("You must provide a name for an Azure Storage account")
from azure.storage.blob …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法来针对 Azure blob 容器对用户进行身份验证。示例代码(是的,新手警报)工作得很好,使用存储帐户的访问密钥,但这感觉不舒服,就像将整个存储帐户的完全控制权交给任何窃取凭据的人一样。
身份验证示例(来自https://azure.microsoft.com/en-us/resources/samples/storage-python-getting-started/)如下所示:
block_blob_service = BlockBlobService(account_name='<acc>', account_key='<key>')
Run Code Online (Sandbox Code Playgroud)
我在 Active Directory 中设置了一个服务用户,该用户在存储帐户中具有限制其使用 blob 容器的角色;它的目的是将新项目写入一个特定的容器中。
我想在 python 脚本中使用该用户的凭据,以便如果它泄漏,则无法访问其他存储资源。有没有办法根据资源/ID 组合生成访问密钥,或者类似的方法来实现?我一直在浏览 Azure Python API 文档,但没有取得任何进展。
编辑:我取得了一些进展。我已经创建了一个具有适当 IAM 限制的服务主体。当我调用它时,这似乎登录成功:
credentials = ServicePrincipalCredentials( client_id=<>, secret=<>, tenant=<>)
print(credentials)
Run Code Online (Sandbox Code Playgroud)
这给了我一个对象:
<msrestazure.azure_active_directory.ServicePrincipalCredentials object at 0x7f34f52668d0>
Run Code Online (Sandbox Code Playgroud)
如果我给它不正确的凭据,则会出现错误。所以,太好了,我有一个凭证对象。怎么办?我找不到将其输入 BlockBlobService 的方法。
python azure azure-storage azure-storage-blobs azure-active-directory
我正在尝试使用以下代码在 React 应用程序中将 blockblob 上传到 Azure-Storage。但是,我收到以下错误。
类型错误:SharedKeyCredential 不是构造函数
有任何想法吗?
@azure/storage-blob@10.3.0
import React from 'react';
const {
Aborter,
BlobURL,
BlockBlobURL,
ContainerURL,
ServiceURL,
StorageURL,
SharedKeyCredential,
AnonymousCredential,
TokenCredential
} = require("@azure/storage-blob"); // Change to "@azure/storage-blob" in your package
function App() {
return (
<div className="App">
<button onClick={onClicked()} />
</div>
);
async function onClicked() {
// Enter your storage account name and shared key
const account = "REMOVED_MY_ACCOUNT";
const accountKey = "REMOVED_ACCOUNT_KEY";
// Use SharedKeyCredential with storage account and account key
const sharedKeyCredential = …Run Code Online (Sandbox Code Playgroud)