小编Cha*_*own的帖子

在 Azure Pipelines 中使用托管标识:GetUserAccessToken:无法获取标识的访问令牌。AAD 返回静默失败

我正在尝试在 Azure Pipelines 中运行Azure 资源组部署任务。我已在运行 Windows 的 Azure VM 上部署了 Azure Pipelines 自托管代理,并且在我的 Azure DevOps 组织中,我已使用托管服务标识设置了与 VM 的 Azure 资源管理器服务连接

但是,当我尝试使用托管标识的服务连接配置 Azure 资源组部署任务时,出现以下错误:

GetUserAccessToken: 获取identity的访问令牌失败。AAD 返回无声失败。

截屏:

在此输入图像描述

我已经验证我已向目标资源组授予了对 VM 托管身份的访问权限(贡献者):

在此输入图像描述

服务连接的范围也仅限于 Azure 订阅:

在此输入图像描述

感谢您对诊断此问题的任何帮助。谢谢!

azure azure-resource-manager azure-devops azure-pipelines azure-managed-identity

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

在 Flask-SQLAlchemy 模型类中使用数据类装饰器?

我编写了一个 Flask-SQLAlchemy 模型类,如下所示(来自此参考):

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
db = SQLAlchemy(app)

class User(db.Model):
    
    __tablename__ = 'user'
    
    user_id = db.Column(db.Integer, primary_key=True)
    user_url = db.Column(db.String(2083), unique=True, nullable=False)
    username = db.Column(db.String(80), unique=True, nullable=False)
    avatar_url = db.Column(db.String(2083), unique=True, nullable=False)
    
    def __init__(self, user_id, user_url, username, avatar_url):
    
        self.user_id = user_id
        self.user_url = user_url
        self.username = username
        self.avatar_url = avatar_url
Run Code Online (Sandbox Code Playgroud)

但是,我想使用dataclass装饰器(参考)来简化其实现,特别是避免重写__init__dunder 方法,并更容易地将此​​类序列化为 Python dict

但是,将此类的实现更改为:

@dataclass
class User(db.Model):

    __tablename__ = 'user'

    user_id: …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy flask-sqlalchemy python-dataclasses

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

在 Python 中使用 Azure 函数绑定 Blob 输入不起作用(inputblob.name 为 None”)。如何进行故障排除?

我有以下用 Python 编写的简单 Azure 函数。它是一个 HTTP 触发器,它应该简单地返回来自 Azure 存储帐户的 blob 输入绑定的名称和 URI(此处为 Microsoft 的参考文档)。

import logging
import azure.functions as func
import azure.storage.blob
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient

def main(req: func.HttpRequest, inputblob: func.InputStream) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

    return func.HttpResponse(f"Blob name: {inputblob.name}. Blob URI: {inputblob.uri}")
Run Code Online (Sandbox Code Playgroud)

我的 function.json 文件看起来像这样。我已经验证 local.settings.json 中的连接字符串是正确的,并且 blob 路径也是正确的。

{
  "scriptFile": "__init__.py",
  "bindings": [
    {
      "authLevel": "anonymous",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "methods": [
        "get",
        "post"
      ]
    },
    {
      "name": …
Run Code Online (Sandbox Code Playgroud)

python azure azure-storage-blobs azure-functions

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