我想使用 Terraform 部署 Azure 逻辑应用程序。我需要添加 2-3 个自定义操作。我目前正在测试添加 2 个变量。
我希望所有操作都相继运行,但目前操作是并行部署的。我不知道哪个参数决定操作是否应该并行部署或一个接一个地部署。
我已复制并粘贴以下代码:
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/logic_app_trigger_http_request
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/logic_app_action_custom
Run Code Online (Sandbox Code Playgroud)
如何让动作依次部署?
# Define Terraform provider
terraform {
required_version = ">= 0.12"
}
# Configure the Azure provider
provider "azurerm" {
environment = "public"
version = ">= 2.0.0"
features {}
}
resource "azurerm_resource_group" "example" {
name = "my-logicapp-rg"
location = "West Europe"
}
resource "azurerm_logic_app_workflow" "example" {
name = "workflow1"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
}
resource "azurerm_logic_app_trigger_http_request" "example" {
name = "some-http-trigger"
logic_app_id = azurerm_logic_app_workflow.example.id …Run Code Online (Sandbox Code Playgroud) 我不确定我在这里缺少什么,但我无法从逻辑应用连接到 Azure SQL。任何帮助表示赞赏。
执行的步骤:
System Assigned Managed Identity1.为逻辑应用启用(SAMI)
Contributor2. 在SQL Server 的角色中添加 SAMI (位于另一个资源组中)
3. 单击按钮验证 SAMIAzure role assignments角色
4.使用以下命令在 SQL Server 本身内的db_datareader和角色中添加 SAMI :db_datawriter
CREATE USER [SAMI Name] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [SAMI Name]
ALTER ROLE db_datawriter ADD MEMBER [SAMI Name]
Run Code Online (Sandbox Code Playgroud)
5. 通过以下方式验证内部角色是否成功:
SELECT DP1.name AS DatabaseRoleName,
isnull (DP2.name, 'No members') AS DatabaseUserName
FROM sys.database_role_members as DRM
RIGHT OUTER JOIN sys.database_principals as DP1
ON DRM.role_principal_id = DP1.principal_id
LEFT …Run Code Online (Sandbox Code Playgroud) 我正在尝试部署一个 Azure 逻辑应用程序,其中包含使用 ARM 模板在服务总线上发送消息的操作。
除了部署逻辑应用程序,ARM 模板还部署了一个服务总线命名空间、一个队列和两个 AuthorizationRule(一个用于发送,一个用于侦听)。
我想动态设置发送服务总线消息操作的连接信息,以使用为支持发送的 AuthorizationRule 生成的连接字符串。
当我在门户编辑器中创建它时(指定用于发送的连接字符串),我注意到在代码视图中生成了以下内容...
"Send_message.": {
"conditions": [
{
"dependsOn": "<previous action>"
}
],
"inputs": {
"body": {
"ContentData": "@{encodeBase64(triggerBody())}"
},
"host": {
"api": {
"runtimeUrl": "https://logic-apis-westus.azure-apim.net/apim/servicebus"
},
"connection": {
"name": "@parameters('$connections')['servicebus']['connectionId']"
}
},
"method": "post",
"path": "/@{encodeURIComponent(string('<queuename>'))}/messages"
},
"type": "apiconnection"
}
Run Code Online (Sandbox Code Playgroud)
},
我假设连接信息以某种方式埋在 @parameters('$connections')['servicebus']['connectionId']"
然后,我使用resources.azure.com导航到逻辑应用程序,以查看是否可以获得有关如何@parameters('$connections')['servicebus']['connectionId']"定义的更多详细信息。
我找到了这个:
"parameters": {
"$connections": {
"value": {
"servicebus": {
"connectionId": "/subscriptions/<subguid>/resourceGroups/<rgname>/providers/Microsoft.Web/connections/servicebus",
"connectionName": "servicebus",
"id": "/subscriptions/<subguid>/providers/Microsoft.Web/locations/westus/managedApis/servicebus"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是我仍然没有看到连接字符串在哪里设置。
在哪里可以使用以下内容在 ARM …
azure azure-servicebus-queues azure-logic-apps azure-rm-template
我能够在天蓝色逻辑应用程序中迭代电子邮件附件。在进一步处理之前我必须比较附件扩展名。我一直在尝试使用内容类型参数并传递“.xml”或“xml”或“application/xml”等值。但没有一个运作良好。
实现这一目标的最佳实践是什么?
我试图向逻辑应用程序中的响应对象添加一个额外的属性。我得到了 2 个形状,可以将请求发送到两个不同的 http。在第三种形状中,我想将一个响应中的身体与另一个响应合并。像下面
"ResponsBody":{
"title": "",
"created": "",
"priority": "",
"Category": "",
"summary": ""
}
所以我想从一个响应中获取 ID 并将其与另一个合并。
{
"ID":""
"title": "",
"created": "",
"priority": "",
"Category": "",
"summary": ""
}
到目前为止,这就是我得到的。
23123{"title": "","created": "","priority": "","Category": "","summary":""}
身份证在外面。
逻辑应用中的代码:"body": "@{triggerBody()?['ID']}@{body('Get_HTTP_Info')?['data']}"
azure API-apps,逻辑应用程序,web-apps和azure功能有什么区别?它对开发人员有什么不同?
cloud azure azure-mobile-services azure-logic-apps azure-api-apps
当通过 http 创建 blob 时,我的逻辑应用会收到 blob 事件:
我使用事件网格订阅,当 Blob Created 事件发生时,它通过 webhook 触发逻辑应用程序。
http 触发器接收到的典型 blob 事件如下所示:
[
{
"topic": "/subscriptions/xxxxxxx/resourceGroups/a-resource-group/providers/Microsoft.Storage/storageAccounts/ablobstorageaccount",
"subject": "/blobServices/default/containers/testcontainer/blobs/9de2125e-5279-4375-bc60-c9987eb99251",
"eventType": "Microsoft.Storage.BlobCreated",
"eventTime": "2018-12-07T12:42:53.6561593Z",
"id": "3c8f8611-001e-0029-722a-8eb18106aef2",
"data": {
"api": "PutBlob",
"clientRequestId": "799b46aa-ff9f-4561-a087-36f790ab0df5",
"requestId": "3c8f8611-001e-0029-722a-8eb181000000",
"eTag": "0x8D65C41819B23B9",
"contentType": "text/plain",
"contentLength": 22,
"blobType": "BlockBlob",
"url": "https://ablobstorageaccount.blob.core.windows.net/testcontainer/9de2125e-5279-4375-bc60-c9987eb99251",
"sequencer": "00000000000000000000000000003D5300000000018067c3",
"storageDiagnostics": {
"batchId": "be84f175-da20-4a44-8a8c-5d33a92fbcd3"
}
},
"dataVersion": "",
"metadataVersion": "1"
}
]
Run Code Online (Sandbox Code Playgroud)
我如何使用此事件数据指定 Blob 内容,使用 Designer 的获取 Blob 内容操作?
我是Azure逻辑应用程序的新手
我想创建一个“在收到HTTP请求时”的逻辑应用连接器,该连接器 应将GET,POST,PUT和Delete作为单个逻辑APP处理。
要么
有没有一种方法可以在每个请求“接收到HTTP请求时”创建逻辑应用连接器,并且我将能够共享一个API来调用它们。
我创建了一个逻辑应用程序,以在使用给定主题标签发布推文时触发。触发器设置为每 10 秒检查一次。现实情况是,即使我等待几分钟,逻辑应用程序也不会运行,但是如果我手动运行它,它就会以预期的输入执行。知道这里发生了什么吗?
当我尝试替换 Azure 逻辑应用程序中的字符串值时,它抛出错误,表明您无法提供变量的自引用
"Set_variable": {
"inputs": {
"name": "Images",
"value": "@replace(variables('Images'), 'cdn.gomasterkey.com/images/watermark.aspx?imageurl=/uf/', '~~')"
},
"runAfter": {
"Append_to_array_variable": [
"Succeeded"
]
},
"type": "SetVariable"
}
Run Code Online (Sandbox Code Playgroud)
当我保存上面的代码时,我收到了这个错误,虽然我想从相同的变量中替换并再次放入它,但它不允许我提供自我引用。