我正在尝试创建一个天蓝色函数来清除超过一定年龄的文件,但是当我访问文件的属性时它们都是空的,我做错了什么?!
using System;
using System.Collections.Generic;
using Azure.Storage.Files.Shares;
using Azure.Storage.Files.Shares.Models;
using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;
namespace somewhere
{
public static class FileShareCleaner
{
[FunctionName("FileShareCleaner")]
public static void Run([TimerTrigger("*/10 */1 * * * *")]TimerInfo myTimer, ILogger log)
{
string connectionString = Environment.GetEnvironmentVariable("FileShareConnectionString");
string shareName = "files";
ShareServiceClient shareserviceclient = new ShareServiceClient(connectionString);
ShareClient shareclient = shareserviceclient.GetShareClient(shareName);
Queue<ShareDirectoryClient> remaining = new Queue<ShareDirectoryClient>();
remaining.Enqueue(shareclient.GetRootDirectoryClient());
while (remaining.Count > 0)
{
ShareDirectoryClient dir = remaining.Dequeue();
foreach (ShareFileItem item in dir.GetFilesAndDirectories())
{
log.LogInformation(item.Name);
if (item.IsDirectory)
{
remaining.Enqueue(dir.GetSubdirectoryClient(item.Name));
}
else …Run Code Online (Sandbox Code Playgroud) 我有一个 yaml 文件(也在 azure devops 管道中使用,因此需要采用这种格式),其中包含一些我想直接从我的 terraform 模块访问的设置。
该文件类似于:
variables:
- name: tenantsList
value: tenanta,tenantb
- name: unitName
value: canary
Run Code Online (Sandbox Code Playgroud)
我想要一个这样的模块来访问设置,但我看不到如何到达底层:
locals {
settings = yamldecode(file("../settings.yml"))
}
module "infra" {
source = "../../../infra/terraform/"
unitname = local.settings.variables.unitName
}
Run Code Online (Sandbox Code Playgroud)
但是这个terraform plan错误:
Error: Unsupported attribute
on canary.tf line 16, in module "infra":
16: unitname = local.settings.variables.unitName
|----------------
| local.settings.variables is tuple with 2 elements
This value does not have any attributes.
Run Code Online (Sandbox Code Playgroud)