我正在构建一个 python 函数,我需要在代码中添加我的自定义模块。我的天蓝色函数如下所示:
import logging
import sys
from sys import path
import os
import time
sys.path.insert(0, './myFunctionFolderName') // Try to insert it as a standard python library.
import azure.functions as func
from myCustomModule.models import someFunctionName
def main(req: func.HttpRequest) -> func.HttpResponse:
name = "My new function"
testing_variable = someFunctionName()
return func.HttpResponse(f"Function executed {name}")]
Run Code Online (Sandbox Code Playgroud)
我所做的是将我的函数文件夹作为标准路径插入,以便 python 也在该文件夹中查找库。该功能在使用 Visual Studio Code 的本地环境中完美运行。但是,当我部署并运行它时,它抛出myCustomModule未找到。另一条信息是我无法访问 Kudu(终端),因为我的 Linux 消费计划不支持它。我不确定我错过了什么。请不要,因为它不是标准库,我无法将其添加到requirements.txt中。另请注意,我的函数文件夹包含函数脚本文件和自定义模块,因此它们与 azure python 模板中应位于同一文件夹中。
我正在使用android Studio进行应用程序开发,我想使用UDP套接字在ip标头中设置DSCP值.我正在关注这个 例子.
import android.os.Message;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
public class UdpClientThread extends Thread{
String dstAddress;
int dstPort;
private boolean running;
MainActivity.UdpClientHandler handler;
DatagramSocket socket;
InetAddress address;
public UdpClientThread(String addr, int port, MainActivity.UdpClientHandler handler) {
super();
dstAddress = addr;
dstPort = port;
this.handler = handler;
}
public void setRunning(boolean running){
this.running = running;
}
private void sendState(String state){
handler.sendMessage(
Message.obtain(handler,
MainActivity.UdpClientHandler.UPDATE_STATE, state));
}
@Override
public void run() {
sendState("connecting...");
running = …Run Code Online (Sandbox Code Playgroud)我已经通过以下命令在 amazon linux 上安装了wireshark:
sudo yum install wireshark
Run Code Online (Sandbox Code Playgroud)
以下命令给了我这个输出:
Package wireshark-1.8.10-25.22.amzn1.x86_64 already installed and latest version
Run Code Online (Sandbox Code Playgroud)
但是当我尝试运行wireshark命令时,它给出了以下错误:
bash: wireshark: command not found
Run Code Online (Sandbox Code Playgroud)
我是不是错过了什么。请注意,我以 root 用户身份访问。任何帮助表示赞赏。
我的API(Python)部署在Amazon Lambda上。问题是当我请求我的API时,我收到内部服务器错误。我可以尾随Lambda日志,但看不到代码崩溃的实际错误或堆栈跟踪。当我拖尾日志时,我只会得到以下输出。
START RequestId: 62341bgd-6231-11e8-8c5b-25793532a32u Version: $LATEST
END RequestId: 62341b0d-6231-1128-8r5b-2b793032a3ed
REPORT RequestId: 6234te0b-6rte-aaa8-au5a-21t93132r3rt Duration: 0.46 ms
Run Code Online (Sandbox Code Playgroud)
如何查看用于调试的python api的实际堆栈跟踪?
python amazon-web-services aws-lambda serverless aws-serverless
我正在为我的 Linux arm 设备构建 Microsoft IoT Edge python 模块。我必须从我的deployment.template.json 文件访问python 模块中的环境变量。该文件显示了环境变量如何从环境传递到模块。问题是如何在代码中访问它们。
部署.template.json 文件:
"$schema-template": "2.0.0",
"modulesContent": {
"$edgeAgent": {
"properties.desired": {
"schemaVersion": "1.0",
"runtime": {
"type": "docker",
"settings": {
"minDockerVersion": "v1.25",
"loggingOptions": "",
"registryCredentials": {
"myRegistryName": {
"username": "$CONTAINER_REGISTRY_USERNAME",
"password": "$CONTAINER_REGISTRY_PASSWORD",
"address": "myRegistryAddress.azurecr.io"
}
}
}
},
"systemModules": {
"edgeAgent": {
"type": "docker",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-agent:1.0",
"createOptions": {}
}
},
"edgeHub": {
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-hub:1.0",
"createOptions": {
"HostConfig": {
"PortBindings": {
"5671/tcp": …Run Code Online (Sandbox Code Playgroud) 当我尝试通过strcpy复制strtok时,如本论坛上的其他答案所示.我没有得到相应的号码.每个特定行上的文件格式类似于这个43,489,127.0.0.1.但是我在temp [2]位置得到127,应该是127.0.0.1.我在这里错过了什么?
FILE *f = fopen("somefile", "r");
char *temp[3];
temp[0] = malloc(20);
temp[1] = malloc(20);
temp[2] = malloc(20);
const char s[1] = ",";
char *pch;
if(f != NULL)
{
char line[1024];
while(fgets(line, sizeof line, f) != NULL)
{
pch = strtok(line, s);
for(int i = 0; i<3; i++)
{
strcpy(temp[i],pch);
pch = strtok (NULL, s);
}
}
fclose(f);
} else
{
perror("somefile");
}
for(int i = 0; i<3; i++)
{
printf ("%s\n",temp[i]);
}
Run Code Online (Sandbox Code Playgroud) 我的 API 端点返回一个从 S3 流式传输的 Excel 文件。它可以在本地运行,但在 API 网关上测试时文件已损坏。这是我的 API 代码:
const downloadContentFromS3 = async function(bucket, file) {
return new Promise((resolve, reject) => {
streamFileFromS3(bucket, file, (error, s3buffer) => {
if (error) return reject(error);
return resolve(s3buffer);
});
});
};
const streamFileFromS3 = async function(bucket, fileName, callback) {
const params = {
Bucket: bucket,
Key: fileName,
};
const buffers = [];
const stream = s3.getObject(params).createReadStream();
stream.on('data', data => buffers.push(data));
stream.on('end', () => callback(null, Buffer.concat(buffers)));
stream.on('error', error => callback(error));
};
downloadExcelFile: async …Run Code Online (Sandbox Code Playgroud) amazon-web-services node.js express aws-lambda aws-api-gateway
python ×3
aws-lambda ×2
amazon-ec2 ×1
amazon-linux ×1
android ×1
azure ×1
c ×1
express ×1
java ×1
node.js ×1
python-3.x ×1
serverless ×1
sockets ×1
strtok ×1
udp ×1
wireshark ×1
yum ×1