Скопируйте файлы из S3 в Sharepoint Online с помощью PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Скопируйте файлы из S3 в Sharepoint Online с помощью Python

Сообщение Anonymous »

Я пытаюсь скопировать файлы из своей учетной записи AWS S3 в Sharepoint от Sagemaker, но не могу.
У меня в корзине есть «Немезида» с префиксом «Герои» и « Злодеи», каждая приставка, имеет внутри множество папок с именами героев и злодеев. С другой стороны, у меня в Sharepoint есть одноимённые папки, а внутри имена героев и злодеев, моя идея состоит в том, чтобы попытаться скопировать папки из S3, которых у меня нет в Sharepoint
Пример:
S3
Heroes foldes: Spiderman, Superman, Ironman
Sharpoint
Heroes folders: Spiderman

Код должен копировать только Superman и Ironman из S3 в Sharepoint.
Возможно ли это?
Я пытался установить соединение между S3 и Sharepoint, чтобы скопировать файлы из S3 в Sharepoint, но не смог. На других форумах я видел, что это невозможно.
Вкратце: как скопировать файлы из корзины AWS S3 в Sharepoint с помощью AWS Sagemaker Notebook
Это пример, чтобы попробовать, но не работает
import boto3
from office365.runtime.auth.authentication_context import AuthenticationContext
from office365.sharepoint.client_context import ClientContext
from io import BytesIO

s3_client = boto3.client('s3')
s3_bucket = 'bucketname'
s3_prefix = 'prefix/subprefix/'

site_url = 'https://tenant.sharepoint.com/'
username = '[email protected]'
password = 'password'

try:
ctx_auth = AuthenticationContext(site_url)
ctx_auth.acquire_token_for_user(username, password)
ctx = ClientContext(site_url, ctx_auth)
web = ctx.web
ctx.load(web)
ctx.execute_query()

print("Credenciales verificadas. Procediendo con la copia de archivos.")

files_copied = 0

sharepoint_folder_url = 'sites/nameone/Documentos compartidos/nametwo'

response = s3_client.list_objects_v2(Bucket=s3_bucket, Prefix=s3_prefix)

for obj in response.get('Contents', []):
s3_key = obj['Key']
try:
response = s3_client.get_object(Bucket=s3_bucket, Key=s3_key)
pdf_content = response['Body'].read()
file_name = s3_key.split('/')[-1]

with BytesIO(pdf_content) as file_content_stream:
ctx.web.get_folder_by_server_relative_path(sharepoint_folder_url).upload_file(file_name, file_content_stream)
print(f"Archivo '{file_name}' copiado exitosamente a SharePoint.")
files_copied += 1
except Exception as e:
print(f"Error al copiar el archivo '{s3_key}' a SharePoint: {e}")

if files_copied == 0:
print("No se copió ningún archivo.")
else:
print("Al menos un archivo fue copiado exitosamente.")

except KeyboardInterrupt:
print("El proceso fue interrumpido.")
except Exception as e:
print("Error de autenticación en SharePoint: Credenciales incorrectas.")


Подробнее здесь: https://stackoverflow.com/questions/784 ... ith-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»