Отправка больших zip-файлов на сервер Django/Tastypie

Я хочу отправить несколько zip-файлов с raspberry Pi на мой сервер windows. Размер zip-файлов составляет около 2 ГБ каждый.

Я использую сокеты python для их отправки.

def sendFile():
    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    print('Socket created')
    s.connect(("http://192.168.0.21:8000/api/v1/ziptest/", 8000))
    print("Connected")
    for x in range(len(zipTypes)):
        filename = '/logs/rel_5_0608.3800_val2/{}.zip'.format(zipTypes[x])
        print("filename {} ".format(filename))
        with open(filename,'rb') as infile:
            d = infile.read(1024)
            while d:
                s.send(d)
                d = infile.read(1024)
    infile.close()

Затем у меня есть моя функция ресурса:

class ResponseZipTest(ModelResource):

    class Meta:
        limit = 100000
        queryset = TestZipModel.objects.all()
        resource_name = "ziptest"
        authorization = Authorization()
        always_return_data = True

    # Hydration function
    def hydrate(self, bundle):
        print("Server is ready to receive")

    def dehydrate(self, bundle):
        return bundle

Когда я запускаю sendTest(), я получаю Name or service not known, но я могу использовать curl на этом URL. Моя функция ресурса никогда не запускается.

Мой файл url:

v1_api = Api(api_name='v1')
v1_api.register(ResponseZipTest())

test_model = ResponseZipTest()

urlpatterns = [
    url(r'^api/', include('api.urls')),
    url(r'^api/', include(v1_api.urls)),
    url(r'^api/', include(test_model.urls))
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Являются ли сокеты лучшим способом передачи этих файлов? Есть ли другой метод, который упростит это?

Вернуться на верх