我有一个 Azure 函数,用于从 Azure AD 获取数据,但我想限制谁可以使用该函数,因为它将使用 HTTP 触发器,以便我稍后能够从逻辑应用程序调用该函数沿着路。因此,由于 HTTP 触发的 Azure Functions 具有公共终结点,我希望通过将授权级别设置为 Function 来提高安全性,或者更优选使用 Azure AD 服务主体(预先创建)。进行此更改后,我可以通过将函数放入 URL 来进行调用。
基本网址:
https://something.com/api/function_name
带有令牌的 URL:
https://something.com/api/function_name?code=token_here
但是,我的函数需要提供一些输入。在匿名端点上,您可以像这样扩展基本 URL:
https://something.com/api/function_name/?parameter=value
其中参数是代码所期望的,以及传递到代码中变量的值。现在我对 HTTP 端点以及通过 URL 传递值不太熟悉。我知道这是作为 JSON 传递的(可能)
但我不明白如何既进行函数授权又传递参数。我试过了:
https://something.com/api/function_name/?parameter=value?code=token_here
https://something.com/api/function_name?code=token_here/?parameter=value
Run Code Online (Sandbox Code Playgroud)
有谁知道这应该如何运作?
另一方面,我还可以将其设置Platform Features -> Authentication / Authorization为 Azure AD 服务主体。但是,如何更改 URL 以使用该服务主体进行身份验证client_id呢client_secret?我实际上更喜欢使用这种方法,因为这样我就可以对令牌实施生命周期管理并轮换它以使其更加安全。
我在这里查看: 使用 JavaScript 进行 Azure AD 身份验证访问的 Azure 函数
我在 stackoverflow 上找到的大多数其他主题甚至都没有接近。
PS:这个PS不需要答案,但我会很感激任何想法。我正在炮制的这个东西是一个由(预定的)逻辑应用程序组合而成的工作流程,该应用程序触发Get-Function. 哪里Get-Function需要以某种方式触发Update-Function. 我正在触发Get-FunctionHTTP,以便我也能够将其作为 API …
authentication powershell service-principal azure-functions powershell-core
当我对try{} catch{}这些服务器执行ping操作时,我只会收到一个cmdlet错误,而不是try-catch中的catch ...这里是什么问题?
foreach($s in $servers)
{
try{Test-Connection $s.server -Count 1}
catch{ Write-Host "error"}
}
Run Code Online (Sandbox Code Playgroud) 我需要在这个方法中找到重复的数字.我试过这个,但我想我错过了一些东西.任何人都可以看到我做错了什么.
public bool FindDublicate(int[] a)
{
bool svar = true;
for (int i = 0; i < a.Length; i++)
{
for (int j = i; j < a.Length - 1; j++)
{
if (a[j] == a[j + 1])
{
svar = true;
}
else return false;
}
}
return svar;
}
Run Code Online (Sandbox Code Playgroud) 我很难理解这一点.我做了一个瓶子对象,我有整个瓶子对象的重量.但我试图只指定一种"Cola Cola"瓶子.但是,我知道如何查看我制作的清单并计算总重量.但如果我只想算"可口可乐"的对象,我就迷路了.有帮助吗?
class Flaske
{
public String name = "Coca Cola";
public int weight = 14;
public Bottles(String na, int ve)
{
name = na;
weight = ve;
}
}
//Total Bottle Weight
public int findCocaColaWeight(Flaske[] kasse)
{
int result = 0;
int i = 0;
while (i < kasse.Length)
{
if (kasse[i] != null)
{
result = result + kasse[i].Weight.Equals("Coca Cola");
}
i = i + 1;
}
return result;
}
//Find Coca Cola Weight
public int findCocaColaWeight(Flaske[] kasse) …Run Code Online (Sandbox Code Playgroud)