小编jmu*_*mer的帖子

当AutoGenerateColumns = True时,如何重命名DataGrid列?

我有一个简单的数据结构类:

public class Client {
    public String name {set; get;}
    public String claim_number {set; get;}
}
Run Code Online (Sandbox Code Playgroud)

我正在加入一个DataGrid:

this.data_grid_clients.ItemSource = this.clients;
Run Code Online (Sandbox Code Playgroud)

我想更改列标题.即:声明号码为"索赔号".我知道这可以通过执行以下操作手动创建列来完成:

this.data_grid_clients.Columns[0].Header = "Claim Number"
Run Code Online (Sandbox Code Playgroud)

但是,Columns在自动生成列时,该属性为空.有没有办法重命名列,还是我必须手动生成列?

c# wpf rename autogeneratecolumn wpfdatagrid

13
推荐指数
2
解决办法
1万
查看次数

如何使用IAM角色生成经过身份验证的S3网址?

当我使用硬编码的访问密钥和密钥时,我能够为用户生成经过身份验证的URL,以便在S3上查看私有文件.这是通过以下代码完成的:

import hmac
import sha
import urllib
import time

filename = "".join([s3_url_prefix, filename])
expiry = str(int(time.time()) + 3600)
h = hmac.new(
    current_app.config.get("S3_SECRET_KEY", None),
    "".join(["GET\n\n\n", expiry, "\n", filename]),
    sha
)
signature = urllib.quote_plus(base64.encodestring(h.digest()).strip())
return "".join([
    "https://s3.amazonaws.com",
    filename,
    "?AWSAccessKeyId=",
    current_app.config.get("S3_ACCESS_KEY", None),
    "&Expires=",
    expiry,
    "&Signature=",
    signature
])
Run Code Online (Sandbox Code Playgroud)

这给了我一些影响https://s3.amazonaws.com/bucket_name/path_to_file?AWSAccessKeyId=xxxxx&Expires=5555555555&Signature=eBFeN32eBb2MwxKk4nhGR1UPhk%3D的效果.不幸的是,出于安全原因,我无法在配置文件中存储密钥.出于这个原因,我切换到了IAM角色.现在,我用我的钥匙:

_iam = boto.connect_iam()

S3_ACCESS_KEY = _iam.access_key
S3_SECRET_KEY = _iam.secret_key
Run Code Online (Sandbox Code Playgroud)

但是,这给了我错误"您提供的AWS访问密钥ID在我们的记录中不存在.".从我的研究中,我知道这是因为我的IAM密钥不是实际密钥,而是与令牌一起使用.因此,我的问题是双重的:

  1. 如何以编程方式获取令牌?似乎没有一个简单的iam属性我可以使用.

  2. 如何在签名中发送令牌?我相信我的签名最终应该看起来像"".join(["GET \n \n \n",有效期,"\n",令牌,文件名]),但我无法弄清楚要使用的格式.

任何帮助将不胜感激.

amazon-s3 amazon-iam

3
推荐指数
1
解决办法
1690
查看次数

在 Python 中使用正则表达式查找首字母缩略词

我正在尝试在 Python 中使用正则表达式来匹配由句点分隔的首字母缩略词。我有以下代码:

import re
test_string = "U.S.A."
pattern = r'([A-Z]\.)+'
print re.findall(pattern, test_string)
Run Code Online (Sandbox Code Playgroud)

结果是:

['A.']
Run Code Online (Sandbox Code Playgroud)

我很困惑为什么会出现这样的结果。我知道+是贪婪的,但为什么是第一次出现[AZ]\。被忽视?

python regex acronym

3
推荐指数
1
解决办法
9171
查看次数