小编Pau*_*aul的帖子

使用 storage.objectAdmin 权限在 Python 中写入 GCS 存储桶

我正在尝试找出服务帐户将文件写入 GCS 存储桶所需的最小权限集。我以为我可以使用 storage.objectAdmin,但是使用为 Python SDK 提供的示例代码会失败并出现错误:my-service-account@my-project.googleapis.com does not have storage.buckets.get access to my-bucket

client = _get_storage_client()
bucket = client.bucket(current_app.config['CLOUD_STORAGE_BUCKET'])
blob = bucket.blob(filename)

blob.upload_from_string(
    file_stream,
    content_type=content_type)
Run Code Online (Sandbox Code Playgroud)

这是因为 client.bucket 调用实际上从存储桶中读取元数据,而 storage.objectAdmin 不授予该元数据。当我使用 storage.admin 权限时,它会自行修复,但这也允许该帐户删除整个存储桶,这是我不希望的。添加 storage.legacyBucketReader 也可以,但是我使用的是旧角色,我不确定我应该再这样做。

这里的最佳实践是什么?

python google-cloud-storage google-cloud-platform

6
推荐指数
1
解决办法
1365
查看次数

Facebook Graph Api - 我可以获得"默认"字段加上一些吗?

当我向https://graph.facebook.com/me提出请求时- 我得到一个包含大量好数据的大型JSON对象.

但是,我还要获取用户的封面照片(如果存在).有没有办法做到这一点,同时还保留默认字段?

例如:https://graph.facebook.com/me?fields = cover - 只返回封面图片.

如果我使用一个字段,是否需要准确指定我需要的其他字段?

facebook-graph-api

5
推荐指数
1
解决办法
1089
查看次数

在IE10中支持/填充按钮表单属性的任何方法?

我一直在使用HTML5的按钮表单属性让我的提交按钮显示在表单之外,仍然触发我的提交.

我的表单看起来像这样:

<article>
  <header>This is my form</header>
  <section>
    <p>Something explaining what is happening on this form.</p>
    <form id="myform" action="/submit" name="myform">
      <input type="text" name="thing">
    </form>
  </section>
  <footer>
     <button type="submit" form="myform">Submit</button>
  </footer>
</article>
Run Code Online (Sandbox Code Playgroud)

我在Chrome/Firefox/Safari中运行良好,但我今天在IE10中测试它并且表单没有提交!

除了重新设计我的所有页面以不使用form =属性,有没有人知道如何解决这个问题?我希望它像表单中的普通提交按钮一样工作,在文本字段中按Enter键将提交表单以及单击按钮.

我想避免添加点击事件并监听输入文本字段,以便在可能的情况下触发JavaScript提交.

html html5 internet-explorer-10

5
推荐指数
1
解决办法
4328
查看次数

ngModel - 如何在不弄脏的情况下操纵初始模型值?

假设我想要一个指令,它接受用户在输入中键入的内容并将其转换为小写。

所以我想出了一个这样的指令(在这个 Plunker http://plnkr.co/edit/jnE3s8MRr1tFCX0WVYel?p=preview):

app.directive('lowerCaseInput', function() {
  return {
    restrict: 'E',
    template:'<input ng-model="vm.input" />',
    scope: {},
    require: ['ngModel', 'lowerCaseInput'],
    controller:function() {},
    link: function(scope, el, attrs, ctrls) {
      var ngModel = ctrls[0], vm = ctrls[1];
      ngModel.$render = render;

        // view-> model
      ngModel.$parsers.push(function(value) {
        return toLowerCase(value);
      });

        // model->view
      ngModel.$formatters.push(function(value) {
        return value;
      });

      function render() {
        vm.input = ngModel.$viewValue;
      }

      // view -> model && model-> view
      function toLowerCase(value) {
        return value && value.toLowerCase();
      }

      scope.$watch('vm.input', function(newVal, oldVal) {
        if(newVal …
Run Code Online (Sandbox Code Playgroud)

angularjs angular-ngmodel

4
推荐指数
1
解决办法
1965
查看次数

禁用 Redis 持久性是否会提高性能?

我正在考虑使用 Redis 作为一些高度瞬态数据的存储(我们说它在被驱逐之前一次可能会存在 30 秒)。我知道,当启用持久性时,Redis 会经常生成一个工作程序来持久保存到磁盘。如果我禁用持久性机制,这会给系统的其余部分带来什么样的性能优势。

另外,有人看到这有什么缺点吗——因为如果数据丢失,恢复它是毫无意义的,因为它可能已经过期了?

redis

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