Проблема заключалась в том, что моя группа журналов была в другом аккаунте.
Я смог осознать свою проблему, когда попытался перечислить все группы журналов, начиная с общего префикса, например, вместо «my-lambda» я использовал «my»:
aws logs describe-log-groups --log-group-name-prefix /aws/lambda/my
Как только я понял, что ни одной группы журналов не было в списке для префикса, который я ожидал, многие группы журналов и другие префиксы показывали некоторые группы журналов, я понял, что мне нужно использовать другую учетную запись. Я использовал профили CLI AWS для доступа к этой учетной записи с помощью этого использования:
aws logs describe-log-groups --profile prd --log-group-name-prefix /aws/lambda/my
, затем я увидел много ожидаемых групп журналов, подтверждающих их существование в правильной учетной записи.
Исправление для получения необходимых мне журналов должно быть таким:
aws logs get-log-events --profile prd --cli-input-json file://cli-get-log-events.json
К сожалению, я получаю следующую ошибку:
Произошла ошибка (ResourceNotFoundException) при вызове GetLogEvents операция: указанный поток журнала не существует.
blockquote>Существует упомянутое решение для этого сообщения об ошибке по адресу: Имя потока журнала AWS Cloudwatch не распознано
Но в моем случае, я думаю, что я просто скопировал неправильное имя потока журнала. Я снова взял имя потока из консоли и вставил его в мой входной файл cli.
Мое последнее использование было:
aws logs get-log-events --cli-input-json file://cli-get-log-events.json --profile prd > logs-xyz.json
Я думаю, что необходимо сначала сделать блок.NET COM-видимым включением атрибута ComVisible в файле AssemblyInfo.cs:
[ComVisible(true)]
Посмотрите эту страницу на MSDN: Упаковка блока для COM
И затем в VBScript можно получить доступ к тем компонентам теми же средствами, Вы получаете доступ к COM-компонентам, т.е. использованию CreateObject или Сервер. CreateObject как в:
Set testObj = CreateObject("MyNamespace.MyType")
Я думаю, что GAC мог бы даже быть обязательным для доступа к нему от VBScript, но я havn't, сделанный это этот путь вокруг, таким образом, я не уверен.
Почему Вы хотели бы сделать это в VBScript? Почему не только делают консольное приложение.NET, которое сделало бы то, что Ваш VBScript был предназначен, чтобы сделать? Так как DLL уже находится на.NET, которая не должна быть проблемой, правильно?
Править: Другой способ сделать это могло бы быть должно создать консоль EXE вместо DLL (или EXE, который оборачивает DLL), что можно звонить от VBScript как нормальная исполняемая программа и исследовать результаты возврата. В зависимости от многих факторов это могло бы быть более гибко, чем поддерживают код COM.
VBScript может только выполнить код от COM-объектов, таким образом, необходимо было бы создать обертку COM для кода.NET, и затем необходимо смочь назвать код .NET.
Не непосредственно.
Если бы блок.NET был выставлен как COM-компонент, то это могло быть.