我需要详细的信息(代码示例将不胜感激)有关配置精细上载程序的过程,以便与azureblob存储一起工作。在
目前我面临的问题是如何理解控制流和精细上载程序的整体行为。我已经审查了在罚款上传网站的文件,但我需要更多的信息描述没有知识假设。在
目前,我的解决方案架构如下:
我的解决方案由服务器(SRV)、客户端(CL)和azureblob存储容器(AC)组成。我想做的是让CL上传jpg文件到AC,为了这样做,我目前正在为CL提供blob存储容器的SAS签名。在
我目前无法这样做(我想这可能无法正确实现)。来自fine uploader的GET请求的处理程序如下所示:
@login_required
@app.route('/sas', methods=['GET'])
def sas():
container_name = '/asilverman/picdepot/'
sas = SharedAccessSignature(account_name=app.config['AZURE_ACCOUNT'],account_key=app.config['AZURE_KEY'])
access_policy = AccessPolicy()
access_policy.start = '2015-08-22T21:00:00Z' #(datetime.datetime.utcnow() + datetime.timedelta(seconds=-120)).strftime('%Y-%m-%d') #T%H:%M:%SZ
access_policy.expiry = '2015-08-25T21:00:00Z' #(datetime.datetime.utcnow() + datetime.timedelta(seconds=120)).strftime('%Y-%m-%dT%H:%M:%SZ')
access_policy.permission = 'w'
sap = SharedAccessPolicy(access_policy)
sas_token = sas.generate_signed_query_string(container_name, 'c', sap)
return request.args['bloburi'] + '?' + sas_token
我的主要Blob服务端点是:https://asilverman.blob.core.windows.net/
我希望存储图片文件的容器的名称是:picdepot
我的高级上载程序配置如下:
^{pr2}$我的CORS配置如下:
Storage Account: https://asilverman.blob.core.windows.net/
Cors.CorsRules.Count : 1
corsRule[index] : 0
corsRule.AllowedHeaders : Content-Type
corsRule.AllowedHeaders : Access-Control-Allow-Origin
corsRule.AllowedHeaders : x-ms-*
corsRule.AllowedMethods : Get, Put, Delete
corsRule.AllowedOrigins : *
corsRule.ExposedHeaders : Access-Control-Allow-Origin
corsRule.MaxAgeInSeconds : 432000
DefaultServiceVersion : 2013-08-15
HourMetrics.MetricsLevel : None
HourMetrics.RetentionDays :
HourMetrics.Version : 1.0
Logging.LoggingOperations : None
Logging.RetentionDays :
Logging.Version : 1.0
MinuteMetrics.MetricsLevel : None
MinuteMetrics.RetentionDays :
MinuteMetrics.Version : 1.0
New Properties:
Cors.CorsRules.Count : 1
corsRule[index] : 0
corsRule.AllowedHeaders : *
corsRule.AllowedMethods : Get, Put, Delete
corsRule.AllowedOrigins : *
corsRule.ExposedHeaders : *
corsRule.MaxAgeInSeconds : 432000
DefaultServiceVersion : 2013-08-15
HourMetrics.MetricsLevel : None
HourMetrics.RetentionDays :
HourMetrics.Version : 1.0
Logging.LoggingOperations : None
Logging.RetentionDays :
Logging.Version : 1.0
MinuteMetrics.MetricsLevel : None
MinuteMetrics.RetentionDays :
MinuteMetrics.Version : 1.0
@asilveman,如果你能提供这个实现的输出就更好了,据我了解,URL的标准格式是:
^{pr2}$这里的qry_string是我们需要生成的共享访问签名url。在
供您参考的代码段
生成共享访问签名url:
在Python项目中,可以利用urllib2发出一个PUT请求,如下所示 导入urllib2
然后通过调用将blob上载到Azure存储:
您还可以参考Prashanth创建的good guidance,如果您有任何进一步的顾虑,请随时通知我们。在
相关问题 更多 >
编程相关推荐